syn match tctKeyAt /[^<>:=| ]* *@/ contained contains=tctNodeAt nextgroup=tctValueAt
syn match tctKeyBar /[^<>:=| ]* *|/ contained contains=tctNodeBar nextgroup=tctValueBar
syn match tctKeyBird /[^<>:=| ]* *>/ contained contains=tctNodeBird nextgroup=tctValueBird
-syn match tctKeyColon /[^<>:=| ]* *:\ze\( \|$\)/ contained contains=tctNodeColon nextgroup=tctValueColon
+syn match tctKeyColon /[^<>:=| ]* *:\ze\( \|$\)/ contained contains=tctNodeColon nextgroup=tctValueColon
syn match tctKeyEqual /[^<>:=| ]* *=/ contained contains=tctNodeEqual nextgroup=tctValueEqual
syn match tctKeyBracket /\[[^]]*\]/ contained contains=tctNodeBracket nextgroup=tctValueBracket
syn match tctKeyComment /-- / contained contains=tctNodeComment nextgroup=tctValueComment
syn match tctKeyUL /-\ze / contained contains=tctNodeUL nextgroup=tctValueUL
-syn match tctKeyOL /\( *\d\+\.\)\+ / contained contains=tctNodeOL nextgroup=tctValueOL
+syn match tctKeyOL /\( *\d\+\.\)\+\ze\( \|$\)/ contained contains=tctNodeOL nextgroup=tctValueOL
syn match tctKeySection /#\+\ze / contained contains=tctNodeSection nextgroup=tctValueSection
syn match tctNodeAt /[^<>:=| ]* *@/ contained contains=tctSymAt,tctSymDot
" Inline
syn match tctBold
- \ /\(^\|[ `«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\)\zs\*[^ *]\([^*]*[^ *]\)\?\*\ze\([ `«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\|$\)/
+ \ /\(^\|[ `’«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\)\zs\*[^ *]\([^*]*[^ *]\)\?\*\ze\([ `’«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\|$\)/
\ contained contains=@tctInline
syn match tctCode
- \ /\(^\|[ *«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\)\zs`[^ `]\([^`]*[^ `]\)\?`\ze\([ *«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\|$\)/
+ \ /\(^\|[ *’«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\)\zs`[^ `]\([^`]*[^ `]\)\?`\ze\([ *’«»/"|_,.:;@^!?=~%(){}[\]\\&+-]\|$\)/
\ contained contains=@tctInline
syn match tctE
\ /<\/\?[^ >]\+\/\?>/
\ /«.\{-}»/
\ contained contains=@tctInline
syn match tctItalic
- \ /\(^\|[ *`«»"'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\)\zs\/[^ /]\([^/]*[^ /]\)\?\/\ze\([ *`«»"'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\|$\)/
+ \ /\(^\|[ *`’«»"'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\)\zs\/[^ /]\([^/]*[^ /]\)\?\/\ze\([ *`’«»"'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\|$\)/
\ contained contains=@tctInline
syn match tctQuote
- \ /\(^\|[ *`«»/'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\)\zs"[^ "]\([^"]*[^ "]\)\?"\ze\([ *`«»/'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\|$\)/
+ \ /\(^\|[ *`’«»/'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\)\zs"[^ "]\([^"]*[^ "]\)\?"\ze\([ *`’«»/'’|_,.:;@^!?=~<>%(){}[\]\\#&+-]\|$\)/
\ contained contains=@tctInline
syn match tctTag
- \ /\(^\|[ *`«»/"'’|_,.:;@^!?=~<>%(){}[\]\&+-]\)\zs#\([^ #]\([^#]*[^ #]\)\?#\|[^ #]*[^# *`«»/"'’|_,.:;@^!?=~<>%(){}[\]\&+-]\)\ze\([ *`«»/"'’|_,.:;@^!?=~<>%(){}[\]\&+-]\|$\)/
+ \ /\(^\|[ *`’«»/"'’|_,.:;@^!?=~<>%(){}[\]\&+-]\)\zs#\([^ #]\([^#]*[^ #]\)\?#\|[^ #]*[^# *`’«»/"'’|_,.:;@^!?=~<>%(){}[\]\&+-]\)\ze\([ *`’«»/"'’|_,.:;@^!?=~<>%(){}[\]\&+-]\|$\)/
\ contained contains=@tctInline
syn match tctUnderline
- \ /\(^\|[ *`«»/"'’|,.:;@!?=~<>%(){}[\]\\#&+-]\)\zs_.*_\ze\([ *`«»/"'’|,.:;@!?=~<>%(){}[\]\\#&+-]\|$\)/
+ \ /\(^\|[ *`’«»/"'’|,.:;@!?=~<>%(){}[\]\\#&+-]\)\zs_.*_\ze\([ *`’«»/"'’|,.:;@!?=~<>%(){}[\]\\#&+-]\|$\)/
\ contained contains=@tctInline
syn match tctURL
\ /[a-z+-]\+:\/\/[^| \t[\]]*\(\[[^\]]*\]\)\?/