vim9script
# ftplugin/scss.vim 에 저장
def Compile()
if &l:filetype != 'scss'
return
endif
if exists('b:outbufnr') && winbufnr(b:outbufnr) > -1
execute ':' .. winbufnr(b:outbufnr) .. 'hide'
endif
var cmds = ['pysassc', '--style=expanded', expand('%:p')->fnameescape()]
var temp = bufnr()
b:outbufnr = bufadd('')
execute 'belowright sbuffer ' .. b:outbufnr
b:srcbufnr = temp
setlocal buftype=nofile nobuflisted noswapfile bufhidden=wipe
setfiletype css
nnoremap <buffer><silent> <Esc> <Cmd>hide<CR>
var job_id = job_start(cmds, {
out_io: 'buffer',
out_buf: bufnr(),
exit_cb: (j: job, s: number) => popup_dialog((s == 0 ? 'Done' : 'Failed'), {time: 1000})
})
enddef
nnoremap <buffer> <F5> <ScriptCmd>Compile()<CR>
관련