diff options
| author | lassulus <lassulus@lassul.us> | 2019-05-29 09:07:03 +0200 |
|---|---|---|
| committer | lassulus <lassulus@lassul.us> | 2019-05-29 09:07:03 +0200 |
| commit | e702da676e9b474f10776e7c4b33dbc31dcb0190 (patch) | |
| tree | 165b3debb2ec67c29ce4ae1bb9325bb1dc5ff74f /tv/5pkgs/vim/tv.nix | |
| parent | 66707dcab7e799fa02c577d82b29a57fb2fee29f (diff) | |
| parent | e36216d31716a2d847e5ca94527a21628f65c8eb (diff) | |
Merge remote-tracking branch 'ni/master'
Diffstat (limited to 'tv/5pkgs/vim/tv.nix')
| -rw-r--r-- | tv/5pkgs/vim/tv.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tv/5pkgs/vim/tv.nix b/tv/5pkgs/vim/tv.nix new file mode 100644 index 0000000..ae6245b --- /dev/null +++ b/tv/5pkgs/vim/tv.nix @@ -0,0 +1,53 @@ +{ pkgs }: + +(rtp: rtp // { inherit rtp; }) (pkgs.write "vim-tv" { + # + # Haskell + # + "/ftplugin/haskell.vim".text = '' + if exists("g:vim_tv_ftplugin_haskell_loaded") + finish + endif + let g:vim_tv_ftplugin_haskell_loaded = 1 + + setlocal iskeyword+=' + ''; + # + # TODO + # + "/ftdetect/todo.vim".text = '' + au BufRead,BufNewFile TODO set ft=todo + ''; + "/ftplugin/todo.vim".text = '' + setlocal foldmethod=syntax + ''; + "/syntax/todo.vim".text = '' + syn match todoComment /#.*/ + + syn match todoDate /^[1-9]\S*/ + \ nextgroup=todoSummary + + syn region todoSummary + \ contained + \ contains=todoTag + \ start="." end="$\n" + \ nextgroup=todoBlock + + syn match todoTag /\[[A-Za-z]\+\]/hs=s+1,he=e-1 + \ contained + + syn region todoBlock + \ contained + \ contains=Comment + \ fold + \ start="^[^1-9]" end="^[1-9]"re=s-1,he=s-1,me=s-1 + + syn sync minlines=1000 + + hi link todoComment Comment + hi todoDate ctermfg=255 + hi todoSummary ctermfg=229 + hi todoBlock ctermfg=248 + hi todoTag ctermfg=217 + ''; +}) |
