]> Sergey Matveev's repositories - dotfiles.git/commitdiff
Be friendly to wide characters
authorSergey Matveev <stargrave@stargrave.org>
Tue, 23 Jan 2024 09:22:40 +0000 (12:22 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 23 Jan 2024 09:22:40 +0000 (12:22 +0300)
vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim

index d4c6efc6a7540668337ad4d3ca78f548a246611d..d5c2721b8929573105f3f2ed0c496bedbed2f074 100644 (file)
@@ -13,9 +13,10 @@ export def Do(): string
     for buf in split(bufsRaw, "\n")[ : 16]
         leftIdx = stridx(buf, '"')
         rightIdx = strridx(buf, '"')
-        filename = substitute(buf[leftIdx + 1 : rightIdx - 1], "%", "%%", "g")
-        linenum = split(buf[rightIdx : ], " ")[-1]
-        attrs = split(buf[ : leftIdx - 1], '\s\+')
+        filename = substitute(
+            strpart(buf, leftIdx + 1, rightIdx - leftIdx - 1), "%", "%%", "g")
+        linenum = split(strpart(buf, rightIdx), " ")[-1]
+        attrs = split(strpart(buf, 0, leftIdx - 1), '\s\+')
         attrs = map(attrs, 'substitute(v:val, "%", "%%", "g")')
         attr = (len(attrs) == 1) ? attrs[0] : attrs[0] .. ":" .. join(attrs[1 :], "")
         attr = "%#TabLine#" .. attr .. "%*"