diff options
author | makefu <github@syntax-fehler.de> | 2019-06-14 18:41:27 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2019-06-14 18:41:27 +0200 |
commit | 276ad5f9d54a30c6817d00799af49199a5ef9e4c (patch) | |
tree | d441e34c262f08eddf9d84c01508e698468fbbfb /tv/5pkgs/vim/tv.nix | |
parent | 592d157eba8f1b5ba35f1fca64c2905897468f83 (diff) | |
parent | 4e7af580d81f02f6d07d38917f124f4b99483603 (diff) |
Merge remote-tracking branch 'lass/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 000000000..ae6245b87 --- /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 + ''; +}) |