This commit is contained in:
anon 2023-11-27 11:07:55 +01:00
parent 2f7795eb84
commit 70a1b972a3

View File

@ -0,0 +1,44 @@
function! Contra()
let saved_cursor = getpos(".")
let current_file = expand('%')
let basename = expand('%:t:r')
if current_file =~ '\.csml$'
execute 'set wildignore+=' . current_file
let candidates = glob( basename . '.*', 0, 1)
if !empty(candidates)
let output_file = candidates[0]
else
let output_file = basename . '.html'
let input = input("Press Enter or override the output name '" . output_file . "': ")
if !empty(input)
output_file = input
endif
endif
let force_flag = ' -c '
else
let output_file = basename . '.csml'
let force_flag = ' -x '
endif
let command = 'contra -s ' . shellescape('html') . ' ' . force_flag . ' -o ' . shellescape(output_file) . ' ' . shellescape(current_file)
echo command
let output = system(command, v:true)
if v:shell_error
echo v:shell_error
return
endif
execute 'edit ' . output_file
call setpos('.', saved_cursor)
redraw!
endfunction
command! -nargs=0 Contra call Contra()
noremap <F10> :Contra<CR>