diff options
Diffstat (limited to 'autoload')
| -rw-r--r-- | autoload/rust.vim | 13 | ||||
| -rw-r--r-- | autoload/rust/tags.vim | 3 | ||||
| -rw-r--r-- | autoload/rustfmt.vim | 16 | ||||
| -rw-r--r-- | autoload/terraform.vim | 53 | 
4 files changed, 49 insertions, 36 deletions
| diff --git a/autoload/rust.vim b/autoload/rust.vim index e8a675f3..b6ab1c68 100644 --- a/autoload/rust.vim +++ b/autoload/rust.vim @@ -398,10 +398,19 @@ function! s:RmDir(path)          echoerr 'Attempted to delete empty path'          return 0      elseif a:path ==# '/' || a:path ==# $HOME -        echoerr 'Attempted to delete protected path: ' . a:path +        let l:path = expand(a:path) +        if l:path ==# '/' || l:path ==# $HOME +            echoerr 'Attempted to delete protected path: ' . a:path +            return 0 +        endif +    endif + +    if !isdirectory(a:path)          return 0      endif -    return system("rm -rf " . shellescape(a:path)) + +    " delete() returns 0 when removing file successfully +    return delete(a:path, 'rf') == 0  endfunction  " Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd. diff --git a/autoload/rust/tags.vim b/autoload/rust/tags.vim index 21faaabb..e75fb208 100644 --- a/autoload/rust/tags.vim +++ b/autoload/rust/tags.vim @@ -8,7 +8,8 @@ let s:checked_ctags = 0  function! rust#tags#IsUCtags() abort      if s:checked_ctags == 0 -        if system('ctags --version') =~? 'universal ctags' +        let l:ctags_bin = get(g:, 'tagbar_ctags_bin', 'ctags') +        if system(l:ctags_bin.' --version') =~? 'universal ctags'              let s:ctags_is_uctags = 1          endif          let s:checked_ctags = 1 diff --git a/autoload/rustfmt.vim b/autoload/rustfmt.vim index 151ac82d..53ea9b28 100644 --- a/autoload/rustfmt.vim +++ b/autoload/rustfmt.vim @@ -112,7 +112,7 @@ function! s:DeleteLines(start, end) abort      silent! execute a:start . ',' . a:end . 'delete _'  endfunction -function! s:RunRustfmt(command, tmpname, fail_silently) +function! s:RunRustfmt(command, tmpname, from_writepre)      mkview!      let l:stderr_tmpname = tempname() @@ -149,8 +149,10 @@ function! s:RunRustfmt(command, tmpname, fail_silently)      let l:open_lwindow = 0      if v:shell_error == 0 -        " remove undo point caused via BufWritePre -        try | silent undojoin | catch | endtry +        if a:from_writepre +            " remove undo point caused via BufWritePre +            try | silent undojoin | catch | endtry +        endif          if a:tmpname ==# ''              let l:content = l:out @@ -170,7 +172,7 @@ function! s:RunRustfmt(command, tmpname, fail_silently)              call setloclist(0, [])              let l:open_lwindow = 1          endif -    elseif g:rustfmt_fail_silently == 0 && a:fail_silently == 0 +    elseif g:rustfmt_fail_silently == 0 && !a:from_writepre          " otherwise get the errors and put them in the location list          let l:errors = [] @@ -224,12 +226,12 @@ function! rustfmt#FormatRange(line1, line2)      let l:tmpname = tempname()      call writefile(getline(1, '$'), l:tmpname)      let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2) -    call s:RunRustfmt(command, l:tmpname, 0) +    call s:RunRustfmt(command, l:tmpname, v:false)      call delete(l:tmpname)  endfunction  function! rustfmt#Format() -    call s:RunRustfmt(s:RustfmtCommand(), '', 0) +    call s:RunRustfmt(s:RustfmtCommand(), '', v:false)  endfunction  function! rustfmt#Cmd() @@ -257,7 +259,7 @@ function! rustfmt#PreWrite()          return      endif -    call s:RunRustfmt(s:RustfmtCommand(), '', 1) +    call s:RunRustfmt(s:RustfmtCommand(), '', v:true)  endfunction diff --git a/autoload/terraform.vim b/autoload/terraform.vim index da36751e..b156b6b9 100644 --- a/autoload/terraform.vim +++ b/autoload/terraform.vim @@ -31,33 +31,34 @@ function! terraform#align()    endif  endfunction -function! terraform#commands(A, L, P) -  return [ -  \ 'apply', -  \ 'console', -  \ 'destroy', -  \ 'env', -  \ 'fmt', -  \ 'get', -  \ 'graph', -  \ 'import', -  \ 'init', -  \ 'output', -  \ 'plan', -  \ 'providers', -  \ 'refresh', -  \ 'show', -  \ 'taint', -  \ 'untaint', -  \ 'validate', -  \ 'version', -  \ 'workspace', -  \ '0.12upgrade', -  \ 'debug', -  \ 'force-unlock', -  \ 'push', -  \ 'state' +function! terraform#commands(ArgLead, CmdLine, CursorPos) +  let l:commands = [ +    \ 'apply', +    \ 'console', +    \ 'destroy', +    \ 'env', +    \ 'fmt', +    \ 'get', +    \ 'graph', +    \ 'import', +    \ 'init', +    \ 'output', +    \ 'plan', +    \ 'providers', +    \ 'refresh', +    \ 'show', +    \ 'taint', +    \ 'untaint', +    \ 'validate', +    \ 'version', +    \ 'workspace', +    \ '0.12upgrade', +    \ 'debug', +    \ 'force-unlock', +    \ 'push', +    \ 'state'    \ ] +  return join(l:commands, "\n")  endfunction  endif | 
