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