@@ -2,8 +2,8 @@ function! s:line_to_file_full(line, is_posix) abort
22 return matchlist (
33 \ a: line ,
44 \ a: is_posix
5- \ ? ' [[:fname:]/]*$'
6- \ : ' [[:fname:]\\]*$'
5+ \ ? ' \c\%(^\$\%(env:\)\?\)\? [[:fname:]/]*$'
6+ \ : ' \c\%(^\$\%(env:\)\?\)\? [[:fname:]\\]*$'
77 \ )[0 ]
88endfunction
99
@@ -56,6 +56,9 @@ function! ddc_file#internal#_test() abort
5656 call assert_equal (' ../bb/aa' , s: line_to_file_full (' aa ff ../bb/aa' , v: true ))
5757 call assert_equal (' a' , s: line_to_file_full (' \a' , v: true ))
5858 call assert_equal (' ./a' , s: line_to_file_full (' \./a' , v: true ))
59+ call assert_equal (' $Foo/bar' , s: line_to_file_full (' $Foo/bar' , v: true ))
60+ call assert_equal (' /bar' , s: line_to_file_full (' $Foo /bar' , v: true ))
61+ call assert_equal (' Foo/bar' , s: line_to_file_full (' $ Foo/bar' , v: true ))
5962 call assert_equal (' ' , s: full_to_base_prefix (' ' , v: true ))
6063 call assert_equal (' ' , s: full_to_base_prefix (' a' , v: true ))
6164 call assert_equal (' ' , s: full_to_base_prefix (' abc' , v: true ))
@@ -103,6 +106,14 @@ function! ddc_file#internal#_test() abort
103106 call assert_equal (' ..\bb\aa' , s: line_to_file_full (' aa ff ..\bb\aa' , v: false ))
104107 call assert_equal (' /a' , s: line_to_file_full (' /a' , v: false ))
105108 call assert_equal (' /.\a' , s: line_to_file_full (' /.\a' , v: false ))
109+ call assert_equal (' $Foo/bar' , s: line_to_file_full (' $Foo/bar' , v: false ))
110+ call assert_equal (' /bar' , s: line_to_file_full (' $Foo /bar' , v: false ))
111+ call assert_equal (' Foo/bar' , s: line_to_file_full (' $ Foo/bar' , v: false ))
112+ call assert_equal (' $env:Foo/bar' , s: line_to_file_full (' $env:Foo/bar' , v: false ))
113+ call assert_equal (' /root/$env:Foo/bar' , s: line_to_file_full (' /root/$env:Foo/bar' , v: false ))
114+ call assert_equal (' $Env:Foo/bar' , s: line_to_file_full (' $Env:Foo/bar' , v: false ))
115+ call assert_equal (' /bar' , s: line_to_file_full (' $env:Foo /bar' , v: false ))
116+ call assert_equal (' Foo/bar' , s: line_to_file_full (' $env: Foo/bar' , v: false ))
106117 call assert_equal (' ' , s: full_to_base_prefix (' ' , v: false ))
107118 call assert_equal (' ' , s: full_to_base_prefix (' a' , v: false ))
108119 call assert_equal (' ' , s: full_to_base_prefix (' abc' , v: false ))
0 commit comments