54 lines
1.1 KiB
Nix
54 lines
1.1 KiB
Nix
|
{ 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
|
|||
|
'';
|
|||
|
})
|