From 40e09659ec567fe018f996ef3c5c93a430336e71 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 14 Feb 2008 02:53:13 +0000
Subject: introduce syntax highlighting for new syntax markers

---
 .../conf/editor-syntax-etc/diakonos/diakonos.conf  |  5 ++
 .../conf/editor-syntax-etc/vim/syntax/sisu.vim     | 91 ++++++++++++++--------
 2 files changed, 63 insertions(+), 33 deletions(-)

(limited to 'data')

diff --git a/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf b/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf
index c7fa686b..cc7c4566 100644
--- a/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf
+++ b/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf
@@ -966,6 +966,11 @@ lang.sisu.tokens.poem.format green
 lang.sisu.tokens.code.open ^code\{
 lang.sisu.tokens.code.close ^\}code
 lang.sisu.tokens.code.format green
+lang.sisu.tokens.sem (([a-z]+):\{.+?\}:\2)
+lang.sisu.tokens.sem (([a-z]+);\{.+?\};\2)
+lang.sisu.tokens.sem (([a-z]+):\[.+?\]:\2)
+lang.sisu.tokens.sem (([a-z]+);\[.+?\];\2)
+lang.sisu.tokens.sem.format green
 lang.sisu.tokens.error \s+$|<\S{2}\S+?>|[a-zA-Z0-9,.::?!&><]+http://\S+|http://\S+<
 #lang.sisu.tokens.error \s+$|<\S+?>|[a-zA-Z0-9,.::?!&><]+http://\S+|http://\S+<
 lang.sisu.tokens.error.format magenta reverse
diff --git a/data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim b/data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim
index 791d0c47..9a351d88 100644
--- a/data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim
+++ b/data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim
@@ -30,6 +30,20 @@ if !exists("sisu_no_identifiers")
   syn match   sisu_link                              " \*\~\S\+"
   syn match   sisu_action                            "^<:insert\d\+>"
   syn match   sisu_contain                           "<:e>"
+  syn match   sisu_sem_marker                        "[a-z]\+;{"
+  syn match   sisu_sem_marker                        "};[a-z]\+"
+  syn match   sisu_sem_marker_block                  "[a-z]\+:{"
+  syn match   sisu_sem_marker_block                  "}:[a-z]\+"
+  syn match   sisu_sem_ex_marker                     "[a-z]\+;\["
+  syn match   sisu_sem_ex_marker                     "\];[a-z]\+"
+  syn match   sisu_sem_ex_marker_block               "[a-z]\+:\["
+  syn match   sisu_sem_ex_marker_block               "\]:[a-z]\+"
+  syn match   sisu_error_sem_marker                  "[a-z]\+[:;]{"
+  syn match   sisu_error_sem_marker                  "}[:;][a-z]\+"
+  syn match   sisu_sem_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]\+\):{[^}].\{-}}:\1"he=e-1
+  syn match   sisu_sem_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker "\([a-z]\+\);{[^}].\{-}};\1"
+  syn match   sisu_sem_ex_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]\+\):\[[^}].\{-}\]:\1"he=e-1
+  syn match   sisu_sem_ex_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker "\([a-z]\+\);\[[^}].\{-}\];\1"
 endif
 "% 9 URLs Numbers: and ASCII Codes
 syn match   sisu_number                              "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>"
@@ -43,7 +57,7 @@ syn match sisu_error             contains=sisu_error "<a href\|</a>]"
 syn region sisu_link contains=sisu_error,sisu_error_wspace matchgroup=sisu_action start="^<<\s*|[a-zA-Z0-9^._-]\+|@|[a-zA-Z0-9^._-]\+|"rs=s+2 end="$"
 "%   header
 syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^0\~\(\S\+\|[^-]\)" end="\n$"
-syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^@\S\+:[+-]\?\s"rs=e-1 end="\n$"
+syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^[@%]\S\+:[+-]\?\s"rs=e-1 end="\n$"
 "%   headings
 syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace matchgroup=sisu_structure start="^\([1-8]\|:\?[A-C]\)\~\(\S\+\|[^-]\)" end="$"
 "%   grouped text
@@ -52,19 +66,20 @@ syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sis
 syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^\(alt\|group\|poem\){" end="^}\(alt\|group\|poem\)"
 syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="^code{" end="^}code"
 "%   endnotes
-syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~{[*+]*" end="}\~" skip="\n"
-syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~\[[*+]*" end="\]\~" skip="\n"
+syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker matchgroup=sisu_mark_endnote start="\~{[*+]*" end="}\~" skip="\n"
+syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker matchgroup=sisu_mark_endnote start="\~\[[*+]*" end="\]\~" skip="\n"
 syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n\n"
 "%   links and images
-syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="}\(https\?:/\/\|\.\./\)\S\+" oneline
-syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="\[[1-5][sS]*\]}\S\+\.ss[tm]" oneline
+syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="}\(https\?:/\/\|\.\./\)\S\+" oneline
+syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="\[[1-5][sS]*\]}\S\+\.ss[tm]" oneline
 syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}image" oneline
 "%   some line operations
 syn region sisu_control contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_control start="\(\(^\| \)!_ \|<:b>\)" end="$"
-syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$"
+syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$"
 syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$"
 syn region sisu_comment matchgroup=sisu_comment start="^%\{1,2\} " end="$"
 "%   font face curly brackets
+"syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline
 syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*"
 syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!"
 syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_"
@@ -137,33 +152,43 @@ if version >= 508 || !exists("did_sisu_syntax_inits")
     command -nargs=+ HiLink hi def link <args>
   endif
 "% 1 Defined
-  HiLink sisu_normal          Normal
-  HiLink sisu_header          PreProc
-  HiLink sisu_header_content  Statement
-  HiLink sisu_heading         Title
-  HiLink sisu_structure       Operator
-  HiLink sisu_contain         Include
-  HiLink sisu_mark_endnote    Include
-  HiLink sisu_link            NonText
-  HiLink sisu_linked          String
-  HiLink sisu_fontface        Include
-  HiLink sisu_strikeout       DiffDelete
-  HiLink sisu_content_alt     Special
-  HiLink sisu_content_endnote Special
-  HiLink sisu_control         Define
-  HiLink sisu_ocn             Include
-  HiLink sisu_number          Number
-  HiLink sisu_identifier      Function
-  HiLink sisu_underline       Underlined
-  HiLink sisu_markpara        Include
-  HiLink sisu_marktail        Include
-  HiLink sisu_mark            Identifier
-  HiLink sisu_break           Structure
-  HiLink sisu_html            Type
-  HiLink sisu_action          Identifier
-  HiLink sisu_comment         Comment
-  HiLink sisu_error_wspace    Error
-  HiLink sisu_error           Error
+  HiLink sisu_normal           Normal
+  HiLink sisu_header           PreProc
+  HiLink sisu_header_content   Statement
+  HiLink sisu_heading          Title
+  HiLink sisu_structure        Operator
+  HiLink sisu_contain          Include
+  HiLink sisu_mark_endnote     Include
+  HiLink sisu_link             NonText
+  HiLink sisu_linked           String
+  HiLink sisu_fontface         Include
+  HiLink sisu_strikeout        DiffDelete
+  HiLink sisu_content_alt      Special
+  HiLink sisu_sem_content      String
+  HiLink sisu_sem_content      SpecialKey
+  HiLink sisu_sem_block        Special
+  HiLink sisu_sem_marker       Visual
+  HiLink sisu_sem_marker_block MatchParen
+  HiLink sisu_sem_ex_marker    FoldColumn
+  HiLink sisu_sem_ex_marker_block Folded
+  HiLink sisu_sem_ex_content   Comment
+  HiLink sisu_sem_ex_block     Comment 
+  HiLink sisu_content_endnote  Special
+  HiLink sisu_control          Define
+  HiLink sisu_ocn              Include
+  HiLink sisu_number           Number
+  HiLink sisu_identifier       Function
+  HiLink sisu_underline        Underlined
+  HiLink sisu_markpara         Include
+  HiLink sisu_marktail         Include
+  HiLink sisu_mark             Identifier
+  HiLink sisu_break            Structure
+  HiLink sisu_html             Type
+  HiLink sisu_action           Identifier
+  HiLink sisu_comment          Comment
+  HiLink sisu_error_sem_marker Error
+  HiLink sisu_error_wspace     Error
+  HiLink sisu_error            Error
   delcommand HiLink
 endif
 let b:current_syntax = "sisu"
-- 
cgit v1.2.3