]> Sergey Matveev's repositories - dotfiles.git/blob - vim/.vim/pack/stargrave/start/align/autoload/align.vim
Move to vim9script
[dotfiles.git] / vim / .vim / pack / stargrave / start / align / autoload / align.vim
1 vim9script
2
3 const Sep = "₀◎○ë" # something that won't be met anywhere
4
5 export def Do(first: number, last: number, sep: string)
6     var in: list<string>
7     for n in range(first, last)
8         in = add(in, substitute(getline(n), sep, "\t" .. Sep, "g"))
9     endfor
10     var out = systemlist("column -t -s \"\t\"", add(in, ""))
11     for n in range(first, last)
12         setline(n, substitute(out[n - first], "  " .. Sep, escape(sep, "&"), "g"))
13     endfor
14 enddef