about summary refs log tree commit diff stats
path: root/cpp/literate/vimrc.vim
blob: 65fd45756a7b8d92349cb970171c864dd6b89119 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
" Highlighting wart's literate directives in C++ sources.
function! HighlightTangledFile()
  if &ft == ""
    set ft=cpp
  endif
  syntax region wartTangle start=+:(+ skip=+".*"+ end=+)+
  highlight link wartTangle Delimiter
  syntax region wartTrace start="^+" end="$"
  highlight wartTrace ctermfg=darkgreen
  syntax region wartTraceAbsent start="^-" end="$"
  highlight wartTraceAbsent ctermfg=darkred
  syntax region wartTraceResult start="^=>" end="$"
  highlight wartTraceResult ctermfg=darkgreen cterm=bold
  syntax region wartComment start="# " end="$"
  highlight link wartComment Comment
endfunction
call HighlightTangledFile()
autocmd BufReadPost,BufNewFile 0* call HighlightTangledFile()