Fixed bug 'unknown function strcharpart' for older versions of Vim

This commit is contained in:
hav4ik 2018-04-25 03:04:18 +03:00
parent d3a7cd20ae
commit 0972cda243
2 changed files with 15 additions and 7 deletions

View File

@ -287,10 +287,14 @@ function! s:Bookmark.str()
let pathStr = self.path.str({'format': 'UI'})
if strdisplaywidth(pathStr) > pathStrMaxLen
if exists("*strcharpart")
while strdisplaywidth(pathStr) > pathStrMaxLen && strchars(pathStr) > 0
let pathStr = strcharpart(pathStr, 1)
endwhile
let pathStr = '<' . pathStr
else
let pathStr = '<' . strpart(pathStr, len(pathStr) - pathStrMaxLen)
endif
endif
return '>' . self.name . ' ' . pathStr
endfunction

View File

@ -720,9 +720,13 @@ function! s:Path.str(...)
if has_key(options, 'truncateTo')
let limit = options['truncateTo']
if strdisplaywidth(toReturn) > limit-1
if exists("*strcharpart")
while strdisplaywidth(toReturn) > limit-1 && strchars(toReturn) > 0
let toReturn = strcharpart(toReturn, 1)
endwhile
else
let toReturn = toReturn[(len(toReturn)-limit+1):]
endif
if len(split(toReturn, '/')) > 1
let toReturn = '</' . join(split(toReturn, '/')[1:], '/') . '/'
else