]> Sergey Matveev's repositories - dotfiles.git/blob - vim/.vim/autoload/fmt.vim
Have not used zshfe for years
[dotfiles.git] / vim / .vim / autoload / fmt.vim
1 vim9script
2
3 export def Do()
4     var lines = []
5     job_start(&equalprg, {
6         in_io: "buffer", in_buf: bufnr("%"),
7         callback: (chan, msg) => {
8             lines = add(lines, msg)
9         },
10         exit_cb: (job, status) => {
11             if status != 0
12                 for i in range(len(lines))
13                     lines[i] = substitute(lines[i], "^[^:]\\+:", @% .. ":", "")
14                 endfor
15                 cgetexpr lines
16                 copen
17                 return
18             endif
19             var view = winsaveview()
20             silent execute ":%!" .. &equalprg
21             winrestview(view)
22         }
23     })
24 enddef