mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-03-23 17:49:57 +08:00
fix(core): fix parser_argv function
close https://github.com/SpaceVim/SpaceVim/issues/4640
This commit is contained in:
parent
a1b65988e7
commit
c8035f713f
@ -1582,27 +1582,29 @@ endfunction
|
|||||||
" argc() return number of files
|
" argc() return number of files
|
||||||
" argv() return a list of files/directories
|
" argv() return a list of files/directories
|
||||||
function! s:parser_argv() abort
|
function! s:parser_argv() abort
|
||||||
if !exists('v:argv')
|
if exists('v:argv')
|
||||||
\ || (len(v:argv) >=# 3 && index(v:argv, '--embed') ==# -1)
|
" if use embed nvim
|
||||||
" or do not support v:argv
|
" for exmaple: neovim-qt
|
||||||
return [0, get(v:, 'argv', ['failed to get v:argv'])]
|
if index(v:argv, '--dembed') !=# -1
|
||||||
elseif len(v:argv) ==# 1 || index(v:argv, '--embed') !=# -1
|
return [0]
|
||||||
" if there is no arguments
|
elseif v:argv[1] =~# '/$'
|
||||||
" or use embed nvim
|
let f = fnamemodify(expand(v:argv[1]), ':p')
|
||||||
return [0]
|
if isdirectory(f)
|
||||||
elseif v:argv[1] =~# '/$'
|
return [1, f]
|
||||||
let f = fnamemodify(expand(v:argv[1]), ':p')
|
else
|
||||||
if isdirectory(f)
|
return [1, getcwd()]
|
||||||
return [1, f]
|
endif
|
||||||
else
|
elseif v:argv[1] ==# '.'
|
||||||
return [1, getcwd()]
|
return [1, getcwd()]
|
||||||
|
elseif isdirectory(expand(v:argv[1]))
|
||||||
|
return [1, fnamemodify(expand(v:argv[1]), ':p')]
|
||||||
|
else
|
||||||
|
return [2, get(v:, 'argv', ['failed to get v:argv'])]
|
||||||
endif
|
endif
|
||||||
elseif v:argv[1] ==# '.'
|
|
||||||
return [1, getcwd()]
|
|
||||||
elseif isdirectory(expand(v:argv[1]))
|
|
||||||
return [1, fnamemodify(expand(v:argv[1]), ':p')]
|
|
||||||
else
|
else
|
||||||
return [2, get(v:, 'argv', ['failed to get v:argv'])]
|
if !argc() && line2byte('$') == -1
|
||||||
|
return [0]
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user