1<?xml version="1.0" encoding="UTF-8"?> 2<!-- https://docs.kde.org/trunk5/en/applications/katepart/highlight.html#katehighlight-xml-format --> 3<!DOCTYPE language SYSTEM "language.dtd"> 4<language name="secil" section="Sources" extensions="*.cil" version="1" kateversion="2.4"> 5 <!-- 6 The keywords where extracted from libsepol/cil/src/cil.c sorted into the 7 right lists and sorted alphabetically 8 --> 9 <list name="keywords_blockstart"> 10 <item>allow</item> 11 <item>allowx</item> 12 <item>auditallow</item> 13 <item>auditallowx</item> 14 <item>block</item> 15 <item>blockabstract</item> 16 <item>boolean</item> 17 <item>booleanif</item> 18 <item>category</item> 19 <item>categoryalias</item> 20 <item>categoryaliasactual</item> 21 <item>categoryorder</item> 22 <item>categoryset</item> 23 <item>class</item> 24 <item>classcommon</item> 25 <item>classmap</item> 26 <item>classmapping</item> 27 <item>classorder</item> 28 <item>classpermission</item> 29 <item>classpermissionset</item> 30 <item>common</item> 31 <item>constrain</item> 32 <item>context</item> 33 <item>defaultrange</item> 34 <item>defaultrole</item> 35 <item>defaulttype</item> 36 <item>defaultuser</item> 37 <item>devicetreecon</item> 38 <item>dontaudit</item> 39 <item>dontauditx</item> 40 <item>expandtypeattribute</item> 41 <item>false</item> 42 <item>filecon</item> 43 <item>fsuse</item> 44 <item>genfscon</item> 45 <item>handleunknown</item> 46 <item>ibendportcon</item> 47 <item>ibpkeycon</item> 48 <item>ioctl</item> 49 <item>iomemcon</item> 50 <item>ioportcon</item> 51 <item>ipaddr</item> 52 <item>level</item> 53 <item>levelrange</item> 54 <item>mls</item> 55 <item>mlsconstrain</item> 56 <item>mlsvalidatetrans</item> 57 <item>netifcon</item> 58 <item>neverallow</item> 59 <item>neverallowx</item> 60 <item>nodecon</item> 61 <item>optional</item> 62 <item>pcidevicecon</item> 63 <item>perm</item> 64 <item>permissionx</item> 65 <item>pirqcon</item> 66 <item>policycap</item> 67 <item>portcon</item> 68 <item>rangetransition</item> 69 <item>role</item> 70 <item>roleallow</item> 71 <item>roleattribute</item> 72 <item>roleattributeset</item> 73 <item>rolebounds</item> 74 <item>roletransition</item> 75 <item>roletype</item> 76 <item>selinuxuser</item> 77 <item>selinuxuserdefault</item> 78 <item>sensitivity</item> 79 <item>sensitivityalias</item> 80 <item>sensitivityaliasactual</item> 81 <item>sensitivitycategory</item> 82 <item>sensitivityorder</item> 83 <item>sid</item> 84 <item>sidcontext</item> 85 <item>sidorder</item> 86 <item>true</item> 87 <item>tunable</item> 88 <item>tunableif</item> 89 <item>type</item> 90 <item>typealias</item> 91 <item>typealiasactual</item> 92 <item>typeattribute</item> 93 <item>typeattributeset</item> 94 <item>typebounds</item> 95 <item>typechange</item> 96 <item>typemember</item> 97 <item>typepermissive</item> 98 <item>typetransition</item> 99 <item>unordered</item> 100 <item>user</item> 101 <item>userattribute</item> 102 <item>userattributeset</item> 103 <item>userbounds</item> 104 <item>userlevel</item> 105 <item>userprefix</item> 106 <item>userrange</item> 107 <item>userrole</item> 108 <item>validatetrans</item> 109 </list> 110 111 <list name="function"> 112 <item>blockinherit</item> 113 <item>call</item> 114 <item>in</item> 115 <item>macro</item> 116 </list> 117 118 <list name="operators"> 119 <item>and</item> 120 <item>dom</item> 121 <item>domby</item> 122 <item>eq</item> 123 <item>incomp</item> 124 <item>neq</item> 125 <item>not</item> 126 <item>or</item> 127 <item>range</item> 128 <item>xor</item> 129 </list> 130 131 <!-- list of "magic" functions or values --> 132 <list name="builtins"> 133 <item>*</item> 134 <item>all</item> 135 <item>dccp</item> 136 <item>false</item> 137 <item>h1</item> 138 <item>h2</item> 139 <item>l1</item> 140 <item>l2</item> 141 <item>object_r</item> 142 <item>r1</item> 143 <item>r2</item> 144 <item>r3</item> 145 <item>sctp</item> 146 <item>self</item> 147 <item>t1</item> 148 <item>t2</item> 149 <item>t3</item> 150 <item>tcp</item> 151 <item>true</item> 152 <item>u1</item> 153 <item>u2</item> 154 <item>u3</item> 155 <item>udp</item> 156 157 <!-- 158 Excluded because they lead to a lot of false-positives 159 <item>allow</item> 160 <item>any</item> 161 <item>char</item> 162 <item>deny</item> 163 <item>dir</item> 164 <item>file</item> 165 <item>glblub</item> 166 <item>high</item> 167 <item>low-high</item> 168 <item>low</item> 169 <item>pipe</item> 170 <item>reject</item> 171 <item>socket</item> 172 <item>source</item> 173 <item>symlink</item> 174 <item>target</item> 175 <item>task</item> 176 <item>trans</item> 177 <item>xattr</item> 178 --> 179 </list> 180 <highlighting> 181 <contexts> 182 <context name="Normal" attribute="Normal" lineEndContext="#stay"> 183 <DetectChar attribute="Brackets" context="BlockStart" char="("/> 184 185 <DetectChar attribute="Comment" context="Comment" char=";"/> 186 </context> 187 <context name="BlockStart" attribute="Normal" lineEndContext="#stay"> 188 <keyword attribute="Keyword" context="Block" String="keywords_blockstart"/> 189 <keyword attribute="Function" context="Block" String="function"/> 190 <keyword attribute="Operator" context="Block" String="operators"/> 191 192 <DetectChar attribute="Comment" context="Comment" char=";"/> 193 </context> 194 <context name="Block" attribute="Normal" lineEndContext="#stay"> 195 <keyword attribute="Builtin" context="#stay" String="builtins"/> 196 197 <DetectChar attribute="Comment" context="Comment" char=";"/> 198 <DetectChar attribute="String" context="String" char="""/> 199 200 <DetectChar attribute="Brackets" context="BlockStart" char="("/> 201 <DetectChar attribute="Brackets" context="#pop" char=")"/> 202 </context> 203 204 <!-- single line comment --> 205 <context name="Comment" attribute="Comment" lineEndContext="#pop"></context> 206 207 <!-- string / name --> 208 <context name="String" attribute="String" lineEndContext="#stay"> 209 <RegExpr attribute="Char" context="#stay" String="#\\."/> 210 211 <!-- allow escaping " or similar --> 212 <HlCStringChar attribute="String Char" context="#stay"/> 213 214 <DetectChar attribute="String" context="#pop" char="""/> 215 </context> 216 </contexts> 217 <itemDatas> 218 <itemData name="Normal" defStyleNum="dsNormal" /> 219 <itemData name="Keyword" defStyleNum="dsKeyword"/> 220 <itemData name="Function" defStyleNum="dsFunction"/> 221 <itemData name="Operator" defStyleNum="dsOperator"/> 222 <itemData name="Builtin" defStyleNum="dsBuiltIn"/> 223 224 <itemData name="Comment" defStyleNum="dsComment"/> 225 226 <itemData name="String" defStyleNum="dsString"/> 227 <itemData name="String Char" defStyleNum="dsSpecialChar"/> 228 </itemDatas> 229 </highlighting> 230 <general> 231 <comments> 232 <comment name="singleLine" start=";"/> 233 </comments> 234 <keywords casesensitive="1" weakDeliminator="."/> 235 </general> 236</language> 237