diff options
author | Ben Harris <ben@tilde.team> | 2020-11-03 10:06:23 -0500 |
---|---|---|
committer | Ben Harris <ben@tilde.team> | 2020-11-03 10:06:23 -0500 |
commit | 2b8232332cdcf24edc08ab0a9fa8e1dc614f95f7 (patch) | |
tree | 5b717995f70c8469608607f12ee9c59e9663592f /vim/.vim/syntax | |
parent | 63b67331d9b7db95d45369b3573daf4162d5bd3d (diff) |
add gemtext highlighting
Diffstat (limited to 'vim/.vim/syntax')
-rw-r--r-- | vim/.vim/syntax/gemtext.vim | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vim/.vim/syntax/gemtext.vim b/vim/.vim/syntax/gemtext.vim new file mode 100644 index 0000000..0dbc3f3 --- /dev/null +++ b/vim/.vim/syntax/gemtext.vim @@ -0,0 +1,40 @@ +" Vim syntax file for Gemtext markup +" as described by section 5 of the Gemini Specification +" https://gemini.circumlunar.space/docs/specification.html + +if exists("b:current_syntax") + finish +endif + +syntax sync fromstart + +syntax match gemtextLinkOperator '\v^\=\>' nextgroup=gemtextLinkURL skipwhite +syntax match gemtextLinkURL '\v\S+' contained nextgroup=gemtextLinkText skipwhite +syntax match gemtextLinkText '\v\S.*$' contained + +syntax match gemtextHeadingOperator '\v^\##?#?' nextgroup=gemtextHeadingText skipwhite +syntax match gemtextHeadingText '\v\s*\S.*$' contained +syntax match gemtextNotAHeadingOperator '\v^\####' + +syntax match gemtextUnorderedListItemOperator '\v^\*\s' + +syntax match gemtextQuoteOperator '\v^\>' nextgroup=gemtextQuoteText skipwhite +syntax match gemtextQuoteText '\v.*$' contained + +syntax region gemtextPreformatBlock start="\v^```.*$" end="\v^```" keepend + +let b:current_syntax = "gemtext" + +hi def link gemtextLinkOperator Operator +hi def link gemtextLinkURL Underlined +hi def link gemtextLinkText String + +hi def link gemtextHeadingOperator Operator +hi def link gemtextHeadingText Identifier + +hi def link gemtextUnorderedListItemOperator Operator + +hi def link gemtextQuoteOperator Operator +hi def link gemtextQuoteText String + +hi def link gemtextPreformatBlock PreProc |