diff plugin/lawrencium.vim @ 43:fc20a265551d

Added auto cd'ing into the repo root for `:Hg`. This can be disabled with the `lawrencium_auto_cd` global.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 14 Aug 2012 22:26:59 -0700
parents decbefcf74db
children 95f8e7cb5ca2
line wrap: on
line diff
--- 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')