Differences From
Artifact [8189edad17]:
8 8 -->
9 9 <language name='Cortav' version='1' kateversion='2.4' section='Markup' extensions='*.ct'>
10 10 <highlighting>
11 11 <list name='extension-directives'>
12 12 <item>uses</item>
13 13 <item>needs</item>
14 14 <item>inhibits</item>
15 + </list>
16 + <list name='meta-directives'>
17 + <item>author</item>
18 + <item>lang</item>
19 + <item>pragma</item>
20 + </list>
21 + <list name='ctl-directives'>
22 + <item>when</item>
23 + <item>unless</item>
24 + <item>cols</item>
25 + <item>quote</item>
26 + <item>include</item>
27 + <item>embed</item>
15 28 </list>
16 29 <list name='renderer-directives'>
17 30 <item>html</item>
18 31 <item>groff</item>
19 32 <item>ps</item>
20 33 <item>tex</item>
21 34 <item>plaintext</item>
................................................................................
24 37 </list>
25 38 <contexts>
26 39 <context name='init' attribute='Normal Text' lineEndContext='#pop' fallthroughContext='text'>
27 40 <RegExpr String='\\.' attribute='Escaped Char'/>
28 41 <RegExpr attribute='Section Cue' context='sec-ident' String='(#|ยง)+' firstNonSpace='true' />
29 42 <StringDetect String='~~~' attribute='Literal Block Cue' firstNonSpace='true' context='literal-block-cue'/>
30 43 <RegExpr attribute='List' String='[\*:]+' firstNonSpace='true' context='text' />
44 + <Detect2Chars char='%' char1='%' attribute='Comment' context='comment'/>
31 45 <Detect2Chars char='%' char1='!' attribute='Critical Directive Cue' context='directive'/>
32 46 <DetectChar char='%' attribute='Directive Cue' context='directive'/>
47 + <DetectChar char='@' attribute='Resource Cue' context='resource'/>
33 48 <DetectChar char='	' attribute='Normal Text' context='refdef-id'/>
34 49 </context>
50 +
51 + <context name='comment' attribute='Comment' lineEndContext='#pop'>
52 + </context>
53 + <context name='error' attribute='Error' lineEndContext='#pop'>
54 + </context>
55 +
56 + <context name='resource' attribute='Resource Identifier' lineEndContext='#pop'>
57 + <DetectSpaces context='#pop!error' attribute='Error'/>
58 + </context>
35 59
36 60 <context name='sec-ident' attribute='Identifier' lineEndContext='#pop'>
37 61 <DetectSpaces context='#pop!sec' attribute='Normal Text'/>
38 62 </context>
39 63
40 64 <context name='sec' attribute='Header' lineEndContext='#pop'>
41 65 <IncludeRules context='text'/>
................................................................................
83 107 <IncludeRules context='span'/>
84 108 </context>
85 109
86 110 <context name='span-del' attribute='Deleted Text' lineEndContext='#pop'>
87 111 <IncludeRules context='span'/>
88 112 </context>
89 113
90 - <context name='span-cue' attribute='Span Cue' lineEndContext='#pop'>
91 - <StringDetect attribute='Span Cue' String='$\' context='#pop!flat-span' />
114 + <context name='span-cue' attribute='Span Cue' lineEndContext='#pop' fallthroughContext="error">
115 + <StringDetect attribute='Span Cue' String='`\' context='#pop!flat-span' />
92 116
93 117 <DetectChar attribute='Span Cue' char='!' context='#pop!span-emph' />
94 118 <DetectChar attribute='Span Cue' char='*' context='#pop!span-strong' />
95 119 <DetectChar attribute='Span Cue' char='~' context='#pop!span-del' />
96 120
97 - <AnyChar attribute='Span Cue' String='$+๐' context='#pop!span' />
121 + <AnyChar attribute='Span Cue' String='`$+๐' context='#pop!span' />
98 122 <StringDetect attribute='Span Cue' String='โ' context='#pop!ref' />
99 123 <StringDetect attribute='Span Cue' String='๐' context='#pop!ref' />
100 124 <DetectChar attribute='Span Cue' char='>' context='#pop!ref' />
125 + <DetectChar attribute='Span Cue' char='^' context='#pop!ref' />
101 126 <DetectChar attribute='Span Cue' char='&' context='#pop!ref' />
102 127 <DetectChar attribute='Span Cue' char='#' context='#pop!var-ref' />
103 128 <DetectChar attribute='Span Cue' char='\' context='#pop!flat-span' />
129 + <Detect2Chars attribute='Comment' char='%' char1='%' context='#pop!inline-comment' />
130 + <Detect2Chars attribute='Critical Directive Cue' char='%' char1='!' context='#pop!inline-directive' />
131 + <DetectChar attribute='Directive Cue' char='%' context='#pop!inline-directive' />
104 132 </context>
105 133
106 134 <context name='flat-span' attribute='Unstyled Text' lineEndContext='#pop'>
107 135 <Detect2Chars attribute='Escaped Char' context='#stay' char='\' char1=']'/>
108 136 <DetectChar attribute='Span Delimiter' context='#pop' char=']'/>
109 137 </context>
138 +
139 + <context name='inline-comment' attribute='Comment' lineEndContext='#pop'>
140 + <IncludeRules context='flat-span'/>
141 + </context>
142 +
143 + <context name='inline-directive' attribute='Directive' lineEndContext='#pop'>
144 + <IncludeRules context='flat-span'/>
145 + <AnyChar String=".:!#$%@~'"" attribute='Directive Cue'/>
146 + <DetectSpaces context='#pop!span'/>
147 + </context>
110 148
111 149 <context name='ref' attribute='Reference' lineEndContext='#pop'>
150 + <IncludeRules context='flat-span'/>
112 151 <DetectSpaces context='#pop!span'/>
113 152 </context>
114 153
115 154 <context name='var-ref' attribute='Reference' lineEndContext='#pop'>
116 155 <WordDetect String="cortav" attribute='Standard Namespace'/>
117 156 <WordDetect String="env" attribute='Standard Namespace'/>
118 157 <DetectChar attribute='Span Delimiter' context='#pop' char=']'/>
................................................................................
129 168 </context>
130 169 </contexts>
131 170 <itemDatas>
132 171 <itemData name='Normal Text' defStyleNum='dsNormal'/>
133 172 <itemData name='Styled Text' defStyleNum='dsNormal'/>
134 173 <itemData name='Emphatic Text' defStyleNum='dsNormal' italic='true'/>
135 174 <itemData name='Strong Text' defStyleNum='dsNormal' bold='true'/>
136 - <itemData name='Deleted Text' defStyleNum='dsNormal' strikeout='true'/>
175 + <itemData name='Deleted Text' defStyleNum='dsNormal' strikeOut='true'/>
137 176
138 177 <itemData name='Section Cue' defStyleNum='dsKeyword' bold='true'/>
139 178 <itemData name='Header' defStyleNum='dsControlFlow' underline='true'/>
140 179 <itemData name='Identifier' defStyleNum='dsVariable'/>
141 180
142 181 <itemData name='Unstyled Text' defStyleNum='dsVerbatimString'/>
143 182 <itemData name='Escaped Char' defStyleNum='dsSpecialChar'/>
144 183 <itemData name='Reference' defStyleNum='dsControlFlow' underline='true'/>
145 184 <itemData name='Span Cue' defStyleNum='dsKeyword' bold='true'/>
185 + <itemData name='Resource Cue' defStyleNum='dsKeyword' bold='true'/>
186 + <itemData name='Resource Identifier' defStyleNum='dsVariable' bold='true'/>
146 187 <itemData name='Span Delimiter' defStyleNum='dsKeyword'/>
147 188 <itemData name='Directive' defStyleNum='dsAttribute' bold='true'/>
148 189 <itemData name='Directive Cue' defStyleNum='dsAttribute'/>
149 190 <itemData name='Critical Directive Cue' defStyleNum='dsImport' bold='true'/>
150 191 <itemData name='Extension Directive' defStyleNum='dsImport' bold='true'/>
151 192 <itemData name='Renderer Directive' defStyleNum='dsExtension' bold='true'/>
152 193 <itemData name='Standard Namespace' defStyleNum='dsBuiltIn' bold='true'/>
153 194 <itemData name='Comment' defStyleNum='dsComment'/>
195 + <itemData name='Error' defStyleNum='dsError'/>
154 196 <itemData name='Macro' defStyleNum='dsPreprocessor' bold='true'/>
155 197 <itemData name='Macro Delimiter' defStyleNum='dsPreprocessor'/>
156 198 <itemData name='Field Delimiter' defStyleNum='dsPreprocessor' bold='true'/>
157 199 <itemData name='List' defStyleNum='dsOperator'/>
158 200
159 201 <itemData name='Literal Block' defStyleNum='dsSpecialString'/>
160 202 <itemData name='Literal Block Cue' defStyleNum='dsPreprocessor' bold='true'/>