Mercurial > vim-lawrencium
changeset 127:96e4423e729e
Merge pull request #7 from GitHub.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 19 Feb 2016 15:39:56 -0800 |
parents | bbb19d37c681 (diff) 47209552ec46 (current diff) |
children | 7ad578b151c1 |
files | plugin/lawrencium.vim |
diffstat | 1 files changed, 20 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/plugin/lawrencium.vim Wed Dec 02 22:45:12 2015 +0400 +++ b/plugin/lawrencium.vim Fri Feb 19 15:39:56 2016 -0800 @@ -351,20 +351,38 @@ if a:0 == 1 && type(a:1) == type([]) let l:arg_list = a:1 endif + let l:prev_shellslash = &shellslash + setlocal noshellslash let l:hg_command = g:lawrencium_hg_executable . ' --repository ' . shellescape(s:stripslash(self.root_dir)) let l:hg_command = l:hg_command . ' ' . a:command for l:arg in l:arg_list let l:hg_command = l:hg_command . ' ' . shellescape(l:arg) endfor + if l:prev_shellslash + setlocal shellslash + endif return l:hg_command endfunction " Runs a Mercurial command in the repo. function! s:HgRepo.RunCommand(command, ...) abort + let l:all_args = [1, a:command] + a:000 + return call(self['RunCommandEx'], l:all_args, self) +endfunction + +function! s:HgRepo.RunCommandEx(plain_mode, command, ...) abort + let l:prev_hgplain = $HGPLAIN + if a:plain_mode + let $HGPLAIN = 'true' + endif let l:all_args = [a:command] + a:000 let l:hg_command = call(self['GetCommand'], l:all_args, self) call s:trace("Running Mercurial command: " . l:hg_command) - return system(l:hg_command) + let l:cmd_out = system(l:hg_command) + if a:plain_mode + let $HGPLAIN = l:prev_hgplain + endif + return l:cmd_out endfunction " Runs a Mercurial command in the repo and reads its output into the current @@ -866,7 +884,7 @@ " to make auto-completed paths work magically. execute 'cd! ' . fnameescape(l:repo.root_dir) endif - let l:output = call(l:repo.RunCommand, a:000, l:repo) + let l:output = call(l:repo.RunCommandEx, [0] + a:000, l:repo) if g:lawrencium_auto_cd execute 'cd! -' endif