From b2fa6f46c638abc91da2716a4bba6f3214f52713 Mon Sep 17 00:00:00 2001 From: Michiel Scholten Date: Fri, 26 Mar 2021 12:42:15 +0100 Subject: [PATCH] 20201027: attempt at supporting more Markdown in todo files --- .vim/syntax/todo.vim | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.vim/syntax/todo.vim b/.vim/syntax/todo.vim index ee44e39..c53f80f 100644 --- a/.vim/syntax/todo.vim +++ b/.vim/syntax/todo.vim @@ -2,6 +2,11 @@ if exists("b:current_syntax") finish endif +runtime! syntax/html.vim +unlet! b:current_syntax + +"runtime! syntax/markdown.vim +"unlet! b:current_syntax " Keywords that we want to emphasize "syntax keyword todoKeyword todo done important @@ -85,6 +90,19 @@ highlight todoTitledItem ctermfg=172 guifg=#d78700 syntax match todoItem '[a-zA-Z0-9\-_]\+:' contained highlight todoItem ctermfg=Blue guifg=#87d7ff + +syn region markdownIdDeclaration matchgroup=markdownLinkDelimiter start="^ \{0,3\}!\=\[" end="\]:" oneline keepend nextgroup=markdownUrl skipwhite +syn match markdownUrl "\S\+" nextgroup=markdownUrlTitle skipwhite contained +syn region markdownUrl matchgroup=markdownUrlDelimiter start="<" end=">" oneline keepend nextgroup=markdownUrlTitle skipwhite contained +syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+"+ end=+"+ keepend contained +syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+'+ end=+'+ keepend contained +syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+(+ end=+)+ keepend contained + +syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\_[^]]*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart +syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained +syn region markdownId matchgroup=markdownIdDelimiter start="\[" end="\]" keepend contained +syn region markdownAutomaticLink matchgroup=markdownUrlDelimiter start="<\%(\w\+:\|[[:alnum:]_+-]\+@\)\@=" end=">" keepend oneline + highlight link todoStatusDone PreProc highlight link todoStatusDoing PreProc highlight link todoStatusCancelled PreProc @@ -93,6 +111,18 @@ highlight link todoStatusTodo PreProc highlight link todoStatusImportant PreProc highlight link todoStatusQuestion PreProc +hi def link markdownLinkText htmlLink +hi def link markdownIdDeclaration Typedef +hi def link markdownId Type +hi def link markdownAutomaticLink markdownUrl +hi def link markdownUrl Float +hi def link markdownUrlTitle String +hi def link markdownIdDelimiter markdownLinkDelimiter +hi def link markdownUrlDelimiter htmlTag +hi def link markdownUrlTitleDelimiter Delimiter + +" runtime! syntax/markdown.vim +" unlet! b:current_syntax " Syntax highlighting scheme name let b:current_syntax = "todo"