Changeset View
Changeset View
Standalone View
Standalone View
data/syntax/selinux-fc.xml
Show All 22 Lines | 7 | <!-- | |||
---|---|---|---|---|---|
23 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | 23 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||
24 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | 24 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
25 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | 25 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
26 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | 26 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
27 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 27 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
28 | ========================================================================================== | 28 | ========================================================================================== | ||
29 | 29 | | |||
30 | Change log: | 30 | Change log: | ||
31 | * Version 2 [15-Mar-2018, by Nibaldo G.]: | ||||
32 | - Small optimizations. Improvements in paths & PCRE Regex highlighting. | ||||
31 | * Version 1 [26-Jan-2018, by Nibaldo González]: | 33 | * Version 1 [26-Jan-2018, by Nibaldo González]: | ||
32 | - Initial version. | 34 | - Initial version. | ||
33 | --> | 35 | --> | ||
34 | 36 | | |||
35 | <language name="SELinux File Contexts" | 37 | <language name="SELinux File Contexts" | ||
36 | version="1" | 38 | version="2" | ||
37 | kateversion="5.0" | 39 | kateversion="5.0" | ||
38 | section="Other" | 40 | section="Other" | ||
39 | extensions="*.fc;file_contexts;file_contexts.local;file_contexts.homedirs;file_contexts.template;homedir_template" | 41 | extensions="*.fc;file_contexts;file_contexts.local;file_contexts.homedirs;file_contexts.template;homedir_template" | ||
40 | priority="6" | 42 | priority="6" | ||
41 | mimetype="" | 43 | mimetype="" | ||
42 | author="Nibaldo González (nibgonz@gmail.com)" | 44 | author="Nibaldo González (nibgonz@gmail.com)" | ||
43 | license="MIT"> | 45 | license="MIT"> | ||
44 | 46 | | |||
45 | <highlighting> | 47 | <highlighting> | ||
46 | 48 | | |||
47 | <list name="keywords"> | 49 | <list name="keywords"> | ||
48 | <item>gen_context</item> | 50 | <item>gen_context</item> | ||
49 | <item>ifdef</item> | 51 | <item>ifdef</item> | ||
50 | <item>define</item> | 52 | <item>define</item> | ||
51 | </list> | 53 | </list> | ||
52 | 54 | | |||
53 | <contexts> | 55 | <contexts> | ||
54 | 56 | | |||
55 | <context name="_normal" attribute="Normal Text" lineEndContext="#stay"> | 57 | <context name="_normal" attribute="Normal Text" lineEndContext="#stay"> | ||
56 | <DetectChar context="_comment" attribute="Comment" char="#"/> | 58 | <DetectChar context="_comment" attribute="Comment" char="#"/> | ||
57 | <RegExpr context="#stay" attribute="File Type" String="(\s|^)\-[bcdpls\-](?=(\s|$))"/> | 59 | <RegExpr context="#stay" attribute="File Type" String="(\s|^)\-[bcdpls\-](?=(\s|$))"/> | ||
58 | 60 | <DetectChar context="_path_content" attribute="Path" char="/"/> | |||
59 | <RegExpr context="_path_content" attribute="Path" String="/(?![\s/'])" insensitive="true"/> | | |||
60 | <RegExpr context="#stay" attribute="Path" String="/(?=(\s|$))"/> | | |||
61 | <DetectChar context="_quoted" attribute="Text Quoted" char="""/> | | |||
62 | <DetectChar context="_content_quoted" attribute="Text Quoted" char="`"/> | 61 | <DetectChar context="_content_quoted" attribute="Text Quoted" char="`"/> | ||
63 | 62 | | |||
64 | <!-- File Contexts: user:role:type:s0 --> | 63 | <!-- File Contexts: user:role:type:s0 --> | ||
65 | <RegExpr context="_fc_user" attribute="User" String="\b[&symbol;,]+(?=(:[&symbol;,]+){2}(:[&symbol;,]+)*\b)"/> | 64 | <RegExpr context="_fc_user" attribute="User" String="\b[&symbol;,]+(?=(:[&symbol;,]+){2}(:[&symbol;,]+)*\b)"/> | ||
66 | 65 | | |||
67 | <DetectChar context="_parentheses_content" attribute="Normal Text" char="(" beginRegion="Parentheses Block"/> | 66 | <DetectChar context="_parentheses_content" attribute="Normal Text" char="(" beginRegion="ParenthesesBlock"/> | ||
68 | <WordDetect context="#stay" attribute="Other Keywords" String="<<none>>"/> | 67 | <WordDetect context="#stay" attribute="Other Keywords" String="<<none>>"/> | ||
69 | <HlCStringChar context="#stay" attribute="Escape Expression"/> | 68 | <HlCStringChar context="#stay" attribute="Escape Char"/> | ||
70 | <DetectChar context="#stay" attribute="Special Char" char="*"/> | | |||
71 | <keyword context="#stay" attribute="Keywords" String="keywords"/> | 69 | <keyword context="#stay" attribute="Keywords" String="keywords"/> | ||
72 | <RegExpr context="#stay" attribute="Keywords" String="\b[&symbol;]+(?=\()"/> | 70 | <RegExpr context="#stay" attribute="Keywords" String="\b[&symbol;]+(?=\()"/> | ||
73 | 71 | | |||
74 | <RegExpr context="_path_content" attribute="Variable" String="\bHOME_(DIR|ROOT)"/> <!-- Default Variables --> | 72 | <!-- Default Variables --> | ||
73 | <StringDetect context="_path_content" attribute="Variable" String="HOME_DIR"/> | ||||
74 | <StringDetect context="_path_content" attribute="Variable" String="HOME_ROOT"/> | ||||
75 | | ||||
76 | <DetectChar context="_path_content" attribute="Path" char="[" lookAhead="true"/> | ||||
75 | <RegExpr context="_path_content" attribute="Path" String="\b[&symbol;,]+[/\\\*\?\[\{]" insensitive="true" lookAhead="true" firstNonSpace="true"/> | 77 | <RegExpr context="_path_content" attribute="Path" String="\b[&symbol;,]+[/\\\*\?\[\{]" insensitive="true" lookAhead="true" firstNonSpace="true"/> | ||
76 | <Detect2Chars context="_path_content" attribute="Variable" char="%" char1="{" lookAhead="true"/> | 78 | <Detect2Chars context="_path_content" attribute="Variable" char="%" char1="{" lookAhead="true"/> | ||
77 | </context> | 79 | </context> | ||
78 | 80 | | |||
79 | <context name="_parentheses_content" attribute="Normal Text" lineEndContext="#stay"> | 81 | <context name="_parentheses_content" attribute="Normal Text" lineEndContext="#stay"> | ||
80 | <DetectChar context="#pop" attribute="Normal Text" char=")" endRegion="Parentheses Block"/> | 82 | <DetectChar context="#pop" attribute="Normal Text" char=")" endRegion="ParenthesesBlock"/> | ||
81 | 83 | | |||
82 | <!-- File Contexts: (user:role:type,s0,c0) --> | 84 | <!-- File Contexts: (user:role:type,s0,c0) --> | ||
83 | <RegExpr context="_fc_user" attribute="User" String="\b[&symbol;]+(?=(:[&symbol;]+){2}(\s*,\s*[&symbol;]+)*\b)"/> | 85 | <RegExpr context="_fc_user" attribute="User" String="\b[&symbol;]+(?=(:[&symbol;]+){2}(\s*,\s*[&symbol;]+)*\b)"/> | ||
84 | 86 | | |||
85 | <IncludeRules context="_normal"/> | 87 | <IncludeRules context="_normal"/> | ||
86 | <RegExpr context="#stay" attribute="Level" String="\b([sc]\d+[\-\.])?m[lc]s_[\w\-\.]+\b"/> | 88 | <RegExpr context="#stay" attribute="Level" String="\b(s\d+([\-\.]s\d+)*|c\d+([\-\.]c\d+)*|([sc]\d+[\-\.])?m[lc]s_[\w\-\.]+)\b"/> | ||
87 | <RegExpr context="#stay" attribute="Level" String="\bs\d+([\-\.]s\d+)*\b"/> | | |||
88 | <RegExpr context="#stay" attribute="Level" String="\bc\d+([\-\.]c\d+)*\b"/> | | |||
89 | </context> | 89 | </context> | ||
90 | 90 | | |||
91 | <context name="_comment" attribute="Comment" lineEndContext="#pop"> | 91 | <context name="_comment" attribute="Comment" lineEndContext="#pop"> | ||
92 | <LineContinue context="#pop" attribute="Comment"/> | | |||
93 | <DetectSpaces /> | 92 | <DetectSpaces /> | ||
94 | <IncludeRules context="##Alerts"/> | 93 | <IncludeRules context="##Alerts"/> | ||
95 | <IncludeRules context="##Modelines"/> | 94 | <IncludeRules context="##Modelines"/> | ||
96 | </context> | 95 | </context> | ||
97 | <context name="_path_content" attribute="Path" lineEndContext="#pop"> | 96 | <context name="_path_content" attribute="Path" lineEndContext="#pop"> | ||
98 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | 97 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | ||
99 | <DetectChar context="#pop" attribute="Normal Text" char="'" lookAhead="true"/> | 98 | <IncludeRules context="_regex"/> | ||
100 | <IncludeRules context="_patterns"/> | | |||
101 | <IncludeRules context="_variable"/> | 99 | <IncludeRules context="_variable"/> | ||
102 | </context> | 100 | </context> | ||
101 | <context name="_variable" attribute="Normal Text" lineEndContext="#stay"> | ||||
102 | <RegExpr context="#stay" attribute="Variable" String="%\{[a-zA-Z]\w*\}"/> | ||||
103 | </context> | ||||
104 | | ||||
103 | <context name="_content_quoted" attribute="Text Quoted" lineEndContext="#stay"> | 105 | <context name="_content_quoted" attribute="Text Quoted" lineEndContext="#stay"> | ||
104 | <DetectChar context="#pop" attribute="Text Quoted" char="'"/> | 106 | <DetectChar context="#pop" attribute="Text Quoted" char="'"/> | ||
107 | <DetectChar context="_path_content_quoted" attribute="Path" char="/"/> | ||||
108 | <StringDetect context="_path_content_quoted" attribute="Variable" String="HOME_DIR"/> | ||||
109 | <StringDetect context="_path_content_quoted" attribute="Variable" String="HOME_ROOT"/> | ||||
110 | <DetectChar context="_path_content_quoted" attribute="Path" char="[" lookAhead="true"/> | ||||
111 | <Detect2Chars context="_path_content_quoted" attribute="Variable" char="%" char1="{" lookAhead="true"/> | ||||
105 | <IncludeRules context="_normal"/> | 112 | <IncludeRules context="_normal"/> | ||
106 | </context> | 113 | </context> | ||
107 | <context name="_quoted" attribute="Text Quoted" lineEndContext="#stay"> | 114 | <context name="_path_content_quoted" attribute="Path" lineEndContext="#pop"> | ||
108 | <DetectChar context="#pop" attribute="Text Quoted" char="""/> | 115 | <RegExpr context="#pop#pop" attribute="Text Quoted" String="'(?=([\s\)]|$))"/> | ||
109 | <IncludeRules context="_patterns"/> | 116 | <IncludeRules context="_path_content"/> | ||
110 | <IncludeRules context="_variable"/> | | |||
111 | </context> | | |||
112 | <context name="_variable" attribute="Normal Text" lineEndContext="#stay"> | | |||
113 | <RegExpr context="#stay" attribute="Variable" String="%\{[a-zA-Z]\w*\}"/> | | |||
114 | </context> | 117 | </context> | ||
115 | 118 | | |||
116 | <!-- SELinux Security Contexts --> | 119 | <!-- SELinux Security Contexts --> | ||
117 | <context name="_fc_user" attribute="User" lineEndContext="#pop"> | 120 | <context name="_fc_user" attribute="User" lineEndContext="#pop"> | ||
118 | <DetectChar context="#pop!_fc_role" attribute="Normal Text" char=":"/> | 121 | <DetectChar context="#pop!_fc_role" attribute="Normal Text" char=":"/> | ||
119 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | 122 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | ||
120 | </context> | 123 | </context> | ||
121 | <context name="_fc_role" attribute="Role" lineEndContext="#pop"> | 124 | <context name="_fc_role" attribute="Role" lineEndContext="#pop"> | ||
Show All 9 Lines | 133 | <context name="_fc_level" attribute="Level" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | |||
131 | <RegExpr context="#stay" attribute="Level" String="[&symbol;,]+"/> | 134 | <RegExpr context="#stay" attribute="Level" String="[&symbol;,]+"/> | ||
132 | <RegExpr context="#stay" attribute="Normal Text" String=":(?=[&symbol;,])"/> | 135 | <RegExpr context="#stay" attribute="Normal Text" String=":(?=[&symbol;,])"/> | ||
133 | </context> | 136 | </context> | ||
134 | <context name="_fc_level_parentheses" attribute="Level" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | 137 | <context name="_fc_level_parentheses" attribute="Level" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||
135 | <RegExpr context="#stay" attribute="Level" String="[&symbol;]+"/> | 138 | <RegExpr context="#stay" attribute="Level" String="[&symbol;]+"/> | ||
136 | <RegExpr context="#stay" attribute="Normal Text" String="\s*,\s*(?=[&symbol;])"/> | 139 | <RegExpr context="#stay" attribute="Normal Text" String="\s*,\s*(?=[&symbol;])"/> | ||
137 | </context> | 140 | </context> | ||
138 | 141 | | |||
139 | <!-- Regex (FCGlob?) --> | 142 | <!-- PCRE Regex (FCGlob?) --> | ||
140 | <context name="_patterns" attribute="Normal Text" lineEndContext="#stay"> | 143 | <context name="_regex" attribute="Normal Text" lineEndContext="#stay"> | ||
141 | <IncludeRules context="_escape"/> | 144 | <IncludeRules context="_escape_char"/> | ||
145 | <IncludeRules context="_brackets_error"/> | ||||
142 | <DetectChar context="_square_brackets" attribute="Pattern Brackets" char="["/> | 146 | <DetectChar context="_square_brackets" attribute="Pattern Brackets" char="["/> | ||
143 | <DetectChar context="_round_brackets" attribute="Pattern Brackets" char="("/> | 147 | <DetectChar context="_round_brackets" attribute="Pattern Brackets" char="("/> | ||
144 | <IncludeRules context="_quantification_brackets"/> | 148 | <IncludeRules context="_quantification_brackets"/> | ||
145 | <IncludeRules context="_special_chars"/> | 149 | <IncludeRules context="_special_chars"/> | ||
146 | </context> | 150 | </context> | ||
147 | <context name="_special_chars" attribute="Normal Text" lineEndContext="#stay"> | 151 | <context name="_special_chars" attribute="Normal Text" lineEndContext="#stay"> | ||
148 | <AnyChar context="#stay" attribute="Special Char" String="*?.+"/> | 152 | <AnyChar context="#stay" attribute="Special Char" String="*?.+"/> | ||
149 | </context> | 153 | </context> | ||
150 | <context name="_escape" attribute="Normal Text" lineEndContext="#stay"> | 154 | <context name="_escape_char" attribute="Normal Text" lineEndContext="#stay"> | ||
151 | <HlCStringChar context="#stay" attribute="Escape Expression"/> | 155 | <RegExpr context="#stay" attribute="Escape Char" String="\\(x\{[\da-fA-f]{1,2}\}|g\{\w+\}|g<\w+>)"/> | ||
152 | <RegExpr context="#stay" attribute="Escape Expression" String="\\[\ssSdDwWbBAZiIcC\|\.\-\^\?\*\+\(\)\[\]\{\},]"/> | 156 | <HlCStringChar context="#stay" attribute="Escape Char"/> | ||
157 | <RegExpr context="#stay" attribute="Escape Char" String="\\[sSdDwWbBAZcCtrnaefvxhGHKNQRVX\s!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]"/> | ||||
158 | <RegExpr context="#stay" attribute="Error" String="\\.?"/> <!-- Non-ASCII characters --> | ||||
153 | </context> | 159 | </context> | ||
154 | <context name="_quantification_brackets" attribute="Normal Text" lineEndContext="#stay"> | 160 | <context name="_quantification_brackets" attribute="Normal Text" lineEndContext="#stay"> | ||
155 | <!-- {n} {min,} {,max} {min,max} --> | 161 | <!-- {n} {min,} {,max} {min,max} --> | ||
156 | <RegExpr context="#stay" attribute="Pattern Brackets" String="\{(\d+(,\d*)?|,\d+)\}"/> | 162 | <RegExpr context="#stay" attribute="Pattern Brackets" String="\{(\d+(,\d*)?|,\d+)\}"/> | ||
157 | </context> | 163 | </context> | ||
158 | <!-- Groups: [ ] and ( ) --> | 164 | <!-- Groups: [ ] and ( ) --> | ||
159 | <context name="_square_brackets" attribute="Pattern Brackets" lineEndContext="#pop"> | 165 | <context name="_square_brackets" attribute="Pattern Brackets" lineEndContext="#pop"> | ||
160 | <DetectChar context="#pop" attribute="Pattern Brackets" char="]"/> | 166 | <DetectChar context="#pop" attribute="Pattern Brackets" char="]"/> | ||
161 | <IncludeRules context="_escape"/> | 167 | <IncludeRules context="_escape_char"/> | ||
162 | 168 | | |||
163 | <DetectSpaces context="#pop" lookAhead="true"/> | 169 | <DetectSpaces context="#pop" attribute="Path" lookAhead="true"/> | ||
164 | <DetectChar context="#pop" attribute="Path" char=""" lookAhead="true"/> | | |||
165 | <IncludeRules context="_variable"/> | 170 | <IncludeRules context="_variable"/> | ||
166 | <DetectChar context="#stay" attribute="Error" char="["/> | 171 | <DetectChar context="#stay" attribute="Error" char="["/> | ||
167 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\]](?=([\s"]|$))"/> | 172 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\]](?=(\s|$))"/> | ||
168 | 173 | | |||
169 | <AnyChar context="#stay" attribute="Special Char 2" String="^-"/> | 174 | <AnyChar context="#stay" attribute="Special Char of Brackets" String="^-"/> | ||
170 | <IncludeRules context="_special_chars"/> | 175 | <IncludeRules context="_special_chars"/> | ||
171 | </context> | 176 | </context> | ||
172 | <context name="_round_brackets" attribute="Pattern Brackets" lineEndContext="#pop"> | 177 | <context name="_round_brackets" attribute="Pattern Brackets" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!_round_brackets_content"> | ||
178 | <RegExpr context="#pop!_round_brackets_content" attribute="Special Char of Brackets" String="\?(\=|!|:|>|\||R|&|#|P\=|<\=|<!|P<\w+>)?(?=\S)"/> | ||||
179 | </context> | ||||
180 | <context name="_round_brackets_content" attribute="Pattern Brackets" lineEndContext="#pop"> | ||||
173 | <DetectChar context="#pop" attribute="Pattern Brackets" char=")"/> | 181 | <DetectChar context="#pop" attribute="Pattern Brackets" char=")"/> | ||
174 | <IncludeRules context="_escape"/> | 182 | <IncludeRules context="_escape_char"/> | ||
175 | 183 | | |||
176 | <DetectSpaces context="#pop" lookAhead="true"/> | 184 | <DetectSpaces context="#pop" attribute="Path" lookAhead="true"/> | ||
177 | <DetectChar context="#pop" attribute="Path" char=""" lookAhead="true"/> | | |||
178 | <IncludeRules context="_variable"/> | 185 | <IncludeRules context="_variable"/> | ||
186 | <IncludeRules context="_brackets_error"/> | ||||
179 | <DetectChar context="_square_brackets" attribute="Pattern Brackets" char="["/> | 187 | <DetectChar context="_square_brackets" attribute="Pattern Brackets" char="["/> | ||
180 | <DetectChar context="_round_brackets" attribute="Pattern Brackets" char="("/> | 188 | <DetectChar context="_round_brackets" attribute="Pattern Brackets" char="("/> | ||
181 | <IncludeRules context="_quantification_brackets"/> | 189 | <IncludeRules context="_quantification_brackets"/> | ||
182 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\[\]\(\)](?=([\s"]|$))"/> | 190 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\[\]\(\)](?=(\s|$))"/> | ||
183 | 191 | | |||
184 | <DetectChar context="#stay" attribute="Special Char 2" char="|"/> | 192 | <DetectChar context="#stay" attribute="Special Char of Brackets" char="|"/> | ||
185 | <IncludeRules context="_special_chars"/> | 193 | <IncludeRules context="_special_chars"/> | ||
186 | </context> | 194 | </context> | ||
195 | <context name="_brackets_error" attribute="Normal Text" lineEndContext="#stay"> | ||||
196 | <Detect2Chars context="#stay" attribute="Error" char="[" char1="]"/> | ||||
197 | </context> | ||||
187 | 198 | | |||
188 | </contexts> | 199 | </contexts> | ||
189 | 200 | | |||
190 | <itemDatas> | 201 | <itemDatas> | ||
191 | <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> | 202 | <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> | ||
192 | <itemData name="Comment" defStyleNum="dsComment"/> | 203 | <itemData name="Comment" defStyleNum="dsComment"/> | ||
193 | <itemData name="Text Quoted" defStyleNum="dsString" spellChecking="false"/> | 204 | <itemData name="Text Quoted" defStyleNum="dsString" spellChecking="false"/> | ||
194 | <itemData name="Path" defStyleNum="dsNormal" spellChecking="false"/> | 205 | <itemData name="Path" defStyleNum="dsNormal" spellChecking="false"/> | ||
195 | <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/> | 206 | <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/> | ||
196 | 207 | | |||
197 | <itemData name="File Type" defStyleNum="dsKeyword" spellChecking="false"/> | 208 | <itemData name="File Type" defStyleNum="dsKeyword" spellChecking="false"/> | ||
198 | <itemData name="Keywords" defStyleNum="dsKeyword" spellChecking="false"/> | 209 | <itemData name="Keywords" defStyleNum="dsKeyword" spellChecking="false"/> | ||
199 | <itemData name="Other Keywords" defStyleNum="dsNormal" italic="1" spellChecking="false"/> | 210 | <itemData name="Other Keywords" defStyleNum="dsNormal" italic="1" spellChecking="false"/> | ||
200 | 211 | | |||
201 | <itemData name="User" defStyleNum="dsOthers" spellChecking="false"/> | 212 | <itemData name="User" defStyleNum="dsOthers" spellChecking="false"/> | ||
202 | <itemData name="Role" defStyleNum="dsDecVal" spellChecking="false"/> | 213 | <itemData name="Role" defStyleNum="dsDecVal" spellChecking="false"/> | ||
203 | <itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/> | 214 | <itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/> | ||
204 | <itemData name="Level" defStyleNum="dsVerbatimString" spellChecking="false"/> | 215 | <itemData name="Level" defStyleNum="dsVerbatimString" spellChecking="false"/> | ||
205 | 216 | | |||
217 | <itemData name="Escape Char" defStyleNum="dsSpecialChar" spellChecking="false"/> | ||||
206 | <itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="false"/> | 218 | <itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="false"/> | ||
207 | <itemData name="Special Char 2" defStyleNum="dsAnnotation" spellChecking="false"/> | 219 | <itemData name="Special Char of Brackets" defStyleNum="dsAnnotation" spellChecking="false"/> | ||
208 | <itemData name="Pattern Brackets" defStyleNum="dsSpecialString" spellChecking="false"/> | 220 | <itemData name="Pattern Brackets" defStyleNum="dsSpecialString" spellChecking="false"/> | ||
209 | <itemData name="Open Pattern Brackets" defStyleNum="dsSpecialString" underline="1" spellChecking="false"/> | 221 | <itemData name="Open Pattern Brackets" defStyleNum="dsSpecialString" underline="1" spellChecking="false"/> | ||
210 | <itemData name="Escape Expression" defStyleNum="dsSpecialChar" spellChecking="false"/> | | |||
211 | <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> | 222 | <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> | ||
212 | </itemDatas> | 223 | </itemDatas> | ||
213 | 224 | | |||
214 | </highlighting> | 225 | </highlighting> | ||
215 | 226 | | |||
216 | <general> | 227 | <general> | ||
217 | <keywords casesensitive="true" additionalDeliminator=""`'" weakDeliminator="*?+.-"/> | 228 | <keywords casesensitive="true" additionalDeliminator=""`'" weakDeliminator="*?+.-"/> | ||
218 | <comments> | 229 | <comments> | ||
219 | <comment name="singleLine" start="#"/> | 230 | <comment name="singleLine" start="#"/> | ||
220 | </comments> | 231 | </comments> | ||
221 | </general> | 232 | </general> | ||
222 | 233 | | |||
223 | </language> | 234 | </language> |