summaryrefslogtreecommitdiffstats
path: root/tv/2configs/vim.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2019-02-02 21:21:48 +0100
committerlassulus <lassulus@lassul.us>2019-02-08 05:19:48 +0100
commit79321442836ffdc6a3c6b3d0f5f2bf67437458e9 (patch)
tree9eafe4d719d286c41e74ff1a2eefd153bd7c07c6 /tv/2configs/vim.nix
parent51e88ec80f5a4b4e38029698608124e8ff2cfe70 (diff)
tv vim: add TODO ft
Diffstat (limited to 'tv/2configs/vim.nix')
-rw-r--r--tv/2configs/vim.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix
index fe14828..de843a3 100644
--- a/tv/2configs/vim.nix
+++ b/tv/2configs/vim.nix
@@ -141,6 +141,43 @@ let {
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 Comment /#.*/
+
+ syn match todoDate /^[1-9]\S*/
+ \ nextgroup=todoSummary
+
+ syn region todoSummary
+ \ contained
+ \ contains=todoTag
+ \ start="." end="$\n"
+ \ nextgroup=todoBlock
+
+ syn match todoTag /\[[a-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 todoDate ctermfg=255
+ hi todoSummary ctermfg=229
+ hi todoBlock ctermfg=248
+ hi todoTag ctermfg=217
+ '';
}))
((rtp: rtp // { inherit rtp; }) (pkgs.write "vim-syntax-nix-nested" {
"/syntax/haskell.vim".text = ''