]> Sergey Matveev's repositories - dotfiles.git/blob - vim/.vim/autoload/fmt.vim
Double formatting
[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                 cgetexpr lines
13                 copen
14                 return
15             endif
16             var view = winsaveview()
17             silent execute ":%!" .. &equalprg
18             winrestview(view)
19         }
20     })
21 enddef