1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 06:20:05 +08:00
SpaceVim/bundle/vim-asciidoc/compiler/asciidoc.vim

63 lines
1.6 KiB
VimL
Raw Normal View History

2020-09-06 21:56:12 +08:00
" Asciidoc compiler settings for Vim
if exists('b:current_compiler')
finish
endif
let b:current_compiler = 'asciidoc'
if exists(':CompilerSet') != 2
command! -nargs=* CompilerSet setlocal <args>
endif
" errorformat stolen from syntastic
let &l:errorformat = ''
\. '%Easciidoc: %tRROR: %f: line %l: %m,'
\. '%Easciidoc: %tRROR: %f: %m,'
\. '%Easciidoc: FAILED: %f: line %l: %m,'
\. '%Easciidoc: FAILED: %f: %m,'
\. '%Wasciidoc: %tARNING: %f: line %l: %m,'
\. '%Wasciidoc: %tARNING: %f: %m,'
\. '%Wasciidoc: DEPRECATED: %f: line %l: %m,'
\. '%Wasciidoc: DEPRECATED: %f: %m'
function! s:set_makeprg()
let &l:makeprg = ''
\. 'asciidoc'
\. ' -a urldata'
\. ' -a icons'
\. ' ' . get(b:, 'asciidoc_theme', '')
\. ' ' . get(b:, 'asciidoc_icons_dir', '-a iconsdir=./images/icons/')
\. ' ' . get(b:, 'asciidoc_backend', '')
\. ' %'
endfunction
let s:asciidoc_default_themes = ['default', 'flask', 'volnitsky']
if ! exists('g:asciidoc_themes')
let g:asciidoc_themes = s:asciidoc_default_themes
endif
if ! exists('g:asciidoc_theme')
let g:asciidoc_theme = 'default'
endif
function! s:available_themes_completer(ArgLead, CmdLine, CursorPos)
return filter(copy(g:asciidoc_themes), 'v:val =~ a:ArgLead')
endfunction
function! s:update_theme(theme)
if a:theme ==# 'default'
let b:asciidoc_theme = ''
else
let b:asciidoc_theme = '-a theme=' . a:theme
endif
call s:set_makeprg()
endfunction
command! -nargs=1 -complete=customlist,s:available_themes_completer Theme call <SID>update_theme(<q-args>)
call s:set_makeprg()
call s:update_theme(g:asciidoc_theme)