@@ -28,6 +28,7 @@ let s:dirvish_git_highlight_groups = {
28
28
\ }
29
29
30
30
let s: sep = exists (' +shellslash' ) && ! &shellslash ? ' \' : ' /'
31
+ let s: escape_chars = ' .#~' .s: sep
31
32
let s: git_files = {}
32
33
33
34
function ! dirvish_git#init () abort
@@ -74,13 +75,13 @@ function! dirvish_git#init() abort
74
75
endif
75
76
76
77
let l: file = fnamemodify (l: file , ' :p' )
77
- let l: file = matchstr (l: file , escape (l: current_dir .' [^' .s: sep .' ]*' .s: sep .' \?' , ' . ' . s: sep ))
78
+ let l: file = matchstr (l: file , escape (l: current_dir .' [^' .s: sep .' ]*' .s: sep .' \?' , s: escape_chars ))
78
79
79
80
if index (values (s: git_files ), l: file ) > -1
80
81
continue
81
82
endif
82
83
83
- let l: line_number = search (escape (l: file , ' . ' . s: sep ), ' n' )
84
+ let l: line_number = search (escape (l: file , s: escape_chars ), ' n' )
84
85
let s: git_files [l: line_number ] = l: file
85
86
86
87
if isdirectory (l: file )
@@ -138,9 +139,9 @@ function! s:get_highlight_group(us, them, is_directory) abort
138
139
endfunction
139
140
140
141
function ! s: highlight_file (dir , file_name, us, them, is_directory) abort
141
- let l: file_rgx = escape (printf (' \(%s\)\@<=%s%s' , a: dir , s: sep , a: file_name ), ' ./ ' )
142
- let l: dir_rgx = escape (printf (' %s\(%s%s\)\@=' , a: dir , s: sep , a: file_name ), ' ./ ' )
143
- let l: slash_rgx = escape (printf (' \(%s\)\@<=%s\(%s\)\@=' , a: dir , s: sep , a: file_name ), ' ./ ' )
142
+ let l: file_rgx = escape (printf (' \(%s\)\@<=%s%s' , a: dir , s: sep , a: file_name ), s: escape_chars )
143
+ let l: dir_rgx = escape (printf (' %s\(%s%s\)\@=' , a: dir , s: sep , a: file_name ), s: escape_chars )
144
+ let l: slash_rgx = escape (printf (' \(%s\)\@<=%s\(%s\)\@=' , a: dir , s: sep , a: file_name ), s: escape_chars )
144
145
145
146
silent exe ' syn match DirvishGitDir "' .l: dir_rgx .' " conceal cchar=' .s: get_indicator (a: us , a: them )
146
147
silent exe ' syn match ' .s: get_highlight_group (a: us , a: them , a: is_directory ).' "' .l: file_rgx .' " contains=DirvishGitSlash'
0 commit comments