summaryrefslogtreecommitdiff
path: root/syntax/gmi.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/gmi.vim')
-rw-r--r--syntax/gmi.vim31
1 files changed, 19 insertions, 12 deletions
diff --git a/syntax/gmi.vim b/syntax/gmi.vim
index 842e665..cf0dccd 100644
--- a/syntax/gmi.vim
+++ b/syntax/gmi.vim
@@ -3,32 +3,39 @@
" " Maintainer: sloum < sloum AT rawtext.club >
" " Latest Revision: 02 February 2020
-if exists("b:current_syntax")
+"
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
finish
endif
" Handle monospaced blocks
-syn region Special start="```" end="```"
+syn region gmiMono start="```" end="```"
" Handle between one and three heading levels
-syn match Constant /^#\{1,3}.*$/
+syn match gmiHeader /^#\{1,3}.*$/
" Start a link line
-syn match Todo /^=>/ nextgroup=Underlined skipwhite
+syn match gmiLinkStart /^=>/ nextgroup=gmiLinkUrl skipwhite
" An extremely naive way of handling the URL portion of the link line
" TODO think about improving this
-syn match Underlined /\S\+/ contained nextgroup=String skipwhite
+syn match gmiLinkUrl /\S\+/ contained nextgroup=gmiLinkTitle skipwhite
-syn match String /.*$/ contained
+syn match gmiLinkTitle /.*$/ contained
" Handle list items
-syn match Identifier /^\*.*$/
-
-syn match Ignore /^77/
-syn match String /^88/
-syn match Comment /^99/
+syn match gmiListItem /^\*.*$/
+let b:current_syntax = "gmi"
+hi def link gmiMono Special
+hi def link gmiHeader Constant
+hi def link gmiLinkStart Todo
+hi def link gmiLinkUrl Underlined
+hi def link gmiLinkTitle String
+hi def link gmiListItem Identifier
-let b:current_syntax = "gmi"