From: Sergey Matveev <stargrave@stargrave.org>
Date: Tue, 23 Jan 2024 09:22:40 +0000 (+0300)
Subject: Be friendly to wide characters
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=356afc0e6e69f3c5c0e4a39b57598efcd36eb974;p=dotfiles.git

Be friendly to wide characters
---

diff --git a/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim b/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim
index d4c6efc..d5c2721 100644
--- a/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim
+++ b/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim
@@ -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 .. "%*"