vim9script export def Do() var lines = [] job_start(&equalprg, { in_io: "buffer", in_buf: bufnr("%"), callback: (chan, msg) => { lines = add(lines, msg) }, exit_cb: (job, status) => { if status != 0 for i in range(len(lines)) lines[i] = substitute(lines[i], "^[^:]\\+:", @% .. ":", "") endfor cgetexpr lines copen return endif var view = winsaveview() silent execute ":%!" .. &equalprg winrestview(view) } }) enddef