Fix Renaming issue in Windows and ext with two dot (#1051)

* fix subdir not correct when path using `\`

* fix slice by variable value not supported in vim 7.3
This commit is contained in:
Levi Rizki Saputra
2020-11-20 19:08:51 +07:00
committed by GitHub
parent 96713548cc
commit e922f7302f
+9 -2
View File
@@ -62,12 +62,19 @@ function! vimwiki#base#subdir(path, filename) abort
let filename = a:filename let filename = a:filename
endif endif
let idx = 0 let idx = 0
let pathelement = split(path, '[/\\]')
let fileelement = split(filename, '[/\\]')
let minlen = min([len(pathelement), len(fileelement)])
let p = fileelement[:]
"FIXME this can terminate in the middle of a path component! "FIXME this can terminate in the middle of a path component!
while path[idx] ==? filename[idx] while pathelement[idx] ==? fileelement[idx]
let p = p[1:]
let idx = idx + 1 let idx = idx + 1
if idx == minlen
break
endif
endwhile endwhile
let p = split(strpart(filename, idx), '[/\\]')
let res = join(p[:-2], '/') let res = join(p[:-2], '/')
if len(res) > 0 if len(res) > 0
let res = res.'/' let res = res.'/'