# HG changeset patch # User Ludovic Chabant # Date 1345008419 25200 # Node ID fc20a265551dc0fe246af904f4807e6dcd54083e # Parent 2ab1b802c070d230bc8f3de1b187742804fe36f7 Added auto cd'ing into the repo root for `:Hg`. This can be disabled with the `lawrencium_auto_cd` global. diff -r 2ab1b802c070 -r fc20a265551d doc/lawrencium.txt --- a/doc/lawrencium.txt Tue Aug 14 21:49:58 2012 -0700 +++ b/doc/lawrencium.txt Tue Aug 14 22:26:59 2012 -0700 @@ -37,6 +37,11 @@ specified with the root of the repository the current file belongs to, and it will auto-complete any standard command or option. + + Also, unless the `lawrencium_auto_cd` global is set to + `0`, it will temporarily set the current directory to be + the root of the repository so that auto-completed + filenames work out of the box. *:Hg!* :Hg! {args} Like |:Hg|, but the output of the command is placed in diff -r 2ab1b802c070 -r fc20a265551d plugin/lawrencium.vim --- a/plugin/lawrencium.vim Tue Aug 14 21:49:58 2012 -0700 +++ b/plugin/lawrencium.vim Tue Aug 14 22:26:59 2012 -0700 @@ -20,6 +20,10 @@ let g:lawrencium_hg_executable = 'hg' endif +if !exists('g:lawrencium_auto_cd') + let g:lawrencium_auto_cd = 1 +endif + if !exists('g:lawrencium_trace') let g:lawrencium_trace = 0 endif @@ -257,7 +261,15 @@ function! s:Hg(bang, ...) abort let l:repo = s:hg_repo() + if g:lawrencium_auto_cd: + " Temporary set the current directory to the root of the repo + " to make auto-completed paths work magically. + execute 'cd! ' . l:repo.root_dir + endif let l:output = call(l:repo.RunCommand, a:000, l:repo) + if g:lawrencium_auto_cd: + execute 'cd! -' + endif if a:bang " Open the output of the command in a temp file. let l:temp_file = s:tempname('hg-output-', '.txt')