1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-09 08:50:06 +08:00

fix(argv): fix startup logic

close https://github.com/SpaceVim/SpaceVim/issues/4706
This commit is contained in:
wsdjeg 2022-09-25 17:50:08 +08:00
parent e6d7b4430a
commit 87a1f27382

View File

@ -1597,16 +1597,19 @@ function! s:parser_argv() abort
if index(v:argv, '--embed') !=# -1 if index(v:argv, '--embed') !=# -1
\ || len(v:argv) == 1 \ || len(v:argv) == 1
return [0] return [0]
elseif v:argv[1] =~# '/$' elseif index(v:argv, '-d') !=# -1
let f = fnamemodify(expand(v:argv[1]), ':p') " this is diff mode
return [2]
elseif v:argv[-1] =~# '/$'
let f = fnamemodify(expand(v:argv[-1]), ':p')
if isdirectory(f) if isdirectory(f)
return [1, f] return [1, f]
else else
return [1, getcwd()] return [1, getcwd()]
endif endif
elseif v:argv[1] ==# '.' elseif v:argv[-1] ==# '.'
return [1, getcwd()] return [1, getcwd()]
elseif isdirectory(expand(v:argv[1])) elseif isdirectory(expand(v:argv[-1]))
return [1, fnamemodify(expand(v:argv[1]), ':p')] return [1, fnamemodify(expand(v:argv[1]), ':p')]
else else
return [2, get(v:, 'argv', ['failed to get v:argv'])] return [2, get(v:, 'argv', ['failed to get v:argv'])]