Changeset View
Changeset View
Standalone View
Standalone View
data/syntax/selinux-cil.xml
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
---|---|---|---|---|---|
2 | <!DOCTYPE language SYSTEM "language.dtd" | 2 | <!DOCTYPE language SYSTEM "language.dtd" | ||
3 | [ | 3 | [ | ||
4 | <!ENTITY symbol "\w\[\]\.@\=/\*\-$%\+!\|&\^:~`#\{\}'<>\?,\\"> <!-- [].@=/*-_$%+!|&^:~`#{}'<>?,\ --> | 4 | <!ENTITY symbol "\w\[\]\.@\=/\*\-$%\+!\|&\^:~`#\{\}'<>\?,\\"> <!-- [].@=/*-_$%+!|&^:~`#{}'<>?,\ --> | ||
5 | <!ENTITY identifier "[a-zA-Z][\w\-]*"> | 5 | <!ENTITY identifier "[a-zA-Z][\w\-]*"> | ||
6 | <!ENTITY statementchar "[a-z_\-]"> | 6 | <!ENTITY statementchar "[a-z_\-]"> | ||
7 | | ||||
8 | <!ENTITY fullIdentifier "[a-zA-Z][\w\-]*(\.?[\w\-])*"> | ||||
9 | <!ENTITY mlsLevel "&fullIdentifier;(:&fullIdentifier;(\s*,\s*&fullIdentifier;)*)?"> | ||||
7 | ]> | 10 | ]> | ||
8 | 11 | | |||
9 | <!-- | 12 | <!-- | ||
10 | SELinux CIL (Common Interface Language) Policy Syntax Highlighting Definition | 13 | SELinux CIL (Common Interface Language) Policy Syntax Highlighting Definition for Kate | ||
11 | for the KDE's KSyntaxHighlighting Framework. | | |||
12 | ========================================================================================== | 14 | ========================================================================================== | ||
13 | NOTE: Part of this file (the highlighting of brackets) is based on the Scheme XML file, | 15 | This file is part of the KDE's KSyntaxHighlighting framework. | ||
14 | created by Dominik Haumann (dhaumann@kde.org) & licensed under MIT; | | |||
15 | which is part of the KDE's KSyntaxHighlighting Framework. | | |||
16 | 16 | | |||
17 | Copyright (c) 2018 Nibaldo González S. (nibgonz@gmail.com) | 17 | Copyright (c) 2018 Nibaldo González S. (nibgonz@gmail.com) | ||
18 | 18 | | |||
19 | Permission is hereby granted, free of charge, to any person obtaining a copy of this | 19 | Permission is hereby granted, free of charge, to any person obtaining a copy of this | ||
20 | software and associated documentation files (the "Software"), to deal in the Software | 20 | software and associated documentation files (the "Software"), to deal in the Software | ||
21 | without restriction, including without limitation the rights to use, copy, modify, merge, | 21 | without restriction, including without limitation the rights to use, copy, modify, merge, | ||
22 | publish, distribute, sublicense, and/or sell copies of the Software, and to permit | 22 | publish, distribute, sublicense, and/or sell copies of the Software, and to permit | ||
23 | persons to whom the Software is furnished to do so, subject to the following conditions: | 23 | persons to whom the Software is furnished to do so, subject to the following conditions: | ||
24 | 24 | | |||
25 | The above copyright notice and this permission notice shall be included | 25 | The above copyright notice and this permission notice shall be included | ||
26 | in all copies or substantial portions of the Software. | 26 | in all copies or substantial portions of the Software. | ||
27 | 27 | | |||
28 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | 28 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | ||
29 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | 29 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||
30 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | 30 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
31 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | 31 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
32 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | 32 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
33 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 33 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
34 | ========================================================================================== | 34 | ========================================================================================== | ||
35 | 35 | | |||
36 | Based on the Scheme syntax highlighting file (scheme.xml), | ||||
37 | created by Dominik Haumann (dhaumann@kde.org) & licensed under MIT. | ||||
38 | | ||||
39 | Last update: secilc 2.8 | ||||
40 | More details about CIL: | ||||
41 | https://github.com/SELinuxProject/selinux/tree/master/secilc/docs | ||||
42 | | ||||
36 | Change log: | 43 | Change log: | ||
44 | * Version 2 [28-Aug-2018]: | ||||
45 | - Implement "selinux.xml": some rules and keywords are moved there. Improve RegExp | ||||
46 | highlighting, add Android permissions and BPF permissions, improve IPv6 | ||||
47 | detection and others improvements. | ||||
48 | - Fix permissions list in "ioctl" kind and "call" statements. | ||||
49 | - Add "sctp" protocol keyword and policy capabilities keywords. | ||||
37 | * Version 1 [26-Jan-2018, by Nibaldo González]: | 50 | * Version 1 [26-Jan-2018, by Nibaldo González]: | ||
38 | - Initial version. | 51 | - Initial version. | ||
39 | --> | 52 | --> | ||
40 | 53 | | |||
41 | <language name="SELinux CIL Policy" | 54 | <language name="SELinux CIL Policy" | ||
42 | version="1" | 55 | version="2" | ||
43 | kateversion="5.0" | 56 | kateversion="5.0" | ||
44 | section="Sources" | 57 | section="Sources" | ||
45 | extensions="*.cil" | 58 | extensions="*.cil" | ||
46 | priority="9" | 59 | priority="9" | ||
47 | mimetype="" | 60 | mimetype="" | ||
48 | author="Nibaldo González (nibgonz@gmail.com)" | 61 | author="Nibaldo González (nibgonz@gmail.com)" | ||
49 | license="MIT"> | 62 | license="MIT"> | ||
50 | 63 | | |||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Line(s) | 109 | <list name="fs_types"> | |||
97 | <item>task</item> | 110 | <item>task</item> | ||
98 | <item>trans</item> | 111 | <item>trans</item> | ||
99 | <item>xattr</item> | 112 | <item>xattr</item> | ||
100 | </list> | 113 | </list> | ||
101 | <list name="protocols"> | 114 | <list name="protocols"> | ||
102 | <item>tcp</item> | 115 | <item>tcp</item> | ||
103 | <item>udp</item> | 116 | <item>udp</item> | ||
104 | <item>dccp</item> | 117 | <item>dccp</item> | ||
118 | <item>sctp</item> | ||||
105 | </list> | 119 | </list> | ||
106 | 120 | | |||
107 | <list name="special_keys"> | 121 | <list name="special_keys"> | ||
108 | <item>self</item> | 122 | <item>self</item> | ||
109 | </list> | 123 | </list> | ||
110 | <list name="classorder_keys"> | 124 | <list name="classorder_keys"> | ||
111 | <item>unordered</item> | 125 | <item>unordered</item> | ||
112 | </list> | 126 | </list> | ||
▲ Show 20 Lines • Show All 154 Lines • ▼ Show 20 Line(s) | 167 | <list name="statements"> | |||
267 | <item>auditallowxperm</item> | 281 | <item>auditallowxperm</item> | ||
268 | <item>dontauditxperm</item> | 282 | <item>dontauditxperm</item> | ||
269 | <item>neverallowxperm</item> | 283 | <item>neverallowxperm</item> | ||
270 | </list> | 284 | </list> | ||
271 | 285 | | |||
272 | <list name="type_name"> | 286 | <list name="type_name"> | ||
273 | <item>string</item> | 287 | <item>string</item> | ||
274 | <item>name</item> | 288 | <item>name</item> | ||
275 | <item>ioctl</item> | 289 | <item>ioctl</item> <!-- permissionx --> | ||
276 | </list> | 290 | </list> | ||
277 | 291 | | |||
278 | <list name="other_keywords"> | 292 | <list name="other_keywords"> | ||
279 | <item>source</item> | 293 | <item>source</item> | ||
280 | <item>target</item> | 294 | <item>target</item> | ||
281 | <item>low</item> | 295 | <item>low</item> | ||
282 | <item>high</item> | 296 | <item>high</item> | ||
283 | <item>low-high</item> | 297 | <item>low-high</item> | ||
Show All 10 Lines | |||||
294 | <item>u2</item> | 308 | <item>u2</item> | ||
295 | <item>u3</item> | 309 | <item>u3</item> | ||
296 | <item>l1</item> | 310 | <item>l1</item> | ||
297 | <item>l2</item> | 311 | <item>l2</item> | ||
298 | <item>h1</item> | 312 | <item>h1</item> | ||
299 | <item>h2</item> | 313 | <item>h2</item> | ||
300 | </list> | 314 | </list> | ||
301 | 315 | | |||
302 | <!-- Access Vectors Permissions --> | | |||
303 | <list name="av_permissions"> | | |||
304 | <item>accept</item> | | |||
305 | <item>acceptfrom</item> | | |||
306 | <item>access</item> | | |||
307 | <item>acquire_svc</item> | | |||
308 | <item>add</item> | | |||
309 | <item>add_child</item> | | |||
310 | <item>add_color</item> | | |||
311 | <item>add_glyph</item> | | |||
312 | <item>add_name</item> | | |||
313 | <item>admin</item> | | |||
314 | <item>append</item> | | |||
315 | <item>associate</item> | | |||
316 | <item>attach_queue</item> | | |||
317 | <item>audit_access</item> | | |||
318 | <item>audit_control</item> | | |||
319 | <item>audit_read</item> | | |||
320 | <item>audit_write</item> | | |||
321 | <item>bell</item> | | |||
322 | <item>bind</item> | | |||
323 | <item>blend</item> | | |||
324 | <item>block_suspend</item> | | |||
325 | <item>call</item> | | |||
326 | <item>check_context</item> | | |||
327 | <item>chfn</item> | | |||
328 | <item>chown</item> | | |||
329 | <item>chsh</item> | | |||
330 | <item>compute_av</item> | | |||
331 | <item>compute_create</item> | | |||
332 | <item>compute_member</item> | | |||
333 | <item>compute_relabel</item> | | |||
334 | <item>compute_user</item> | | |||
335 | <item>connect</item> | | |||
336 | <item>connectto</item> | | |||
337 | <item>contains</item> | | |||
338 | <item>copy</item> | | |||
339 | <item>create</item> | | |||
340 | <item>create_files_as</item> | | |||
341 | <item>crontab</item> | | |||
342 | <item>dac_override</item> | | |||
343 | <item>dac_read_search</item> | | |||
344 | <item>dccp_recv</item> | | |||
345 | <item>dccp_send</item> | | |||
346 | <item>debug</item> | | |||
347 | <item>delete</item> | | |||
348 | <item>destroy</item> | | |||
349 | <item>disable</item> | | |||
350 | <item>drop</item> | | |||
351 | <item>dyntransition</item> | | |||
352 | <item>egress</item> | | |||
353 | <item>enable</item> | | |||
354 | <item>enforce_dest</item> | | |||
355 | <item>enqueue</item> | | |||
356 | <item>entrypoint</item> | | |||
357 | <item>execheap</item> | | |||
358 | <item>execmem</item> | | |||
359 | <item>execmod</item> | | |||
360 | <item>execstack</item> | | |||
361 | <item>execute</item> | | |||
362 | <item>execute_no_trans</item> | | |||
363 | <item>expand</item> | | |||
364 | <item>export</item> | | |||
365 | <item>flow_in</item> | | |||
366 | <item>flow_out</item> | | |||
367 | <item>force_cursor</item> | | |||
368 | <item>fork</item> | | |||
369 | <item>forward_in</item> | | |||
370 | <item>forward_out</item> | | |||
371 | <item>fowner</item> | | |||
372 | <item>freeze</item> | | |||
373 | <item>fsetid</item> | | |||
374 | <item>get_param</item> | | |||
375 | <item>get_property</item> | | |||
376 | <item>get_value</item> | | |||
377 | <item>getattr</item> | | |||
378 | <item>getcap</item> | | |||
379 | <item>getfocus</item> | | |||
380 | <item>getgrp</item> | | |||
381 | <item>gethost</item> | | |||
382 | <item>getopt</item> | | |||
383 | <item>getpgid</item> | | |||
384 | <item>getpwd</item> | | |||
385 | <item>getrlimit</item> | | |||
386 | <item>getsched</item> | | |||
387 | <item>getserv</item> | | |||
388 | <item>getsession</item> | | |||
389 | <item>getstat</item> | | |||
390 | <item>grab</item> | | |||
391 | <item>halt</item> | | |||
392 | <item>hide</item> | | |||
393 | <item>hide_cursor</item> | | |||
394 | <item>impersonate</item> | | |||
395 | <item>implement</item> | | |||
396 | <item>import</item> | | |||
397 | <item>ingress</item> | | |||
398 | <item>insert</item> | | |||
399 | <item>install</item> | | |||
400 | <item>install_module</item> | | |||
401 | <item>ioctl</item> | | |||
402 | <item>ipc_info</item> | | |||
403 | <item>ipc_lock</item> | | |||
404 | <item>ipc_owner</item> | | |||
405 | <item>kill</item> | | |||
406 | <item>lease</item> | | |||
407 | <item>link</item> | | |||
408 | <item>linux_immutable</item> | | |||
409 | <item>list_child</item> | | |||
410 | <item>list_property</item> | | |||
411 | <item>listen</item> | | |||
412 | <item>load_module</item> | | |||
413 | <item>load_policy</item> | | |||
414 | <item>lock</item> | | |||
415 | <item>mac_admin</item> | | |||
416 | <item>mac_override</item> | | |||
417 | <item>manage</item> | | |||
418 | <item>manage_subnet</item> | | |||
419 | <item>map</item> | | |||
420 | <item>mknod</item> | | |||
421 | <item>mmap_zero</item> | | |||
422 | <item>module_load</item> | | |||
423 | <item>module_request</item> | | |||
424 | <item>mount</item> | | |||
425 | <item>mounton</item> | | |||
426 | <item>name_bind</item> | | |||
427 | <item>name_connect</item> | | |||
428 | <item>net_admin</item> | | |||
429 | <item>net_bind_service</item> | | |||
430 | <item>net_broadcast</item> | | |||
431 | <item>net_raw</item> | | |||
432 | <item>newconn</item> | | |||
433 | <item>next_value</item> | | |||
434 | <item>nlmsg_read</item> | | |||
435 | <item>nlmsg_readpriv</item> | | |||
436 | <item>nlmsg_relay</item> | | |||
437 | <item>nlmsg_tty_audit</item> | | |||
438 | <item>nlmsg_write</item> | | |||
439 | <item>nnp_transition</item> | | |||
440 | <item>noatsecure</item> | | |||
441 | <item>node_bind</item> | | |||
442 | <item>nosuid_transition</item> | | |||
443 | <item>open</item> | | |||
444 | <item>override</item> | | |||
445 | <item>passwd</item> | | |||
446 | <item>paste</item> | | |||
447 | <item>paste_after_confirm</item> | | |||
448 | <item>polmatch</item> | | |||
449 | <item>ptrace</item> | | |||
450 | <item>query</item> | | |||
451 | <item>quotaget</item> | | |||
452 | <item>quotamod</item> | | |||
453 | <item>quotaon</item> | | |||
454 | <item>rawip_recv</item> | | |||
455 | <item>rawip_send</item> | | |||
456 | <item>read</item> | | |||
457 | <item>read_policy</item> | | |||
458 | <item>reboot</item> | | |||
459 | <item>receive</item> | | |||
460 | <item>record</item> | | |||
461 | <item>recv</item> | | |||
462 | <item>recv_msg</item> | | |||
463 | <item>recvfrom</item> | | |||
464 | <item>relabelfrom</item> | | |||
465 | <item>relabelto</item> | | |||
466 | <item>reload</item> | | |||
467 | <item>remount</item> | | |||
468 | <item>remove</item> | | |||
469 | <item>remove_child</item> | | |||
470 | <item>remove_color</item> | | |||
471 | <item>remove_glyph</item> | | |||
472 | <item>remove_name</item> | | |||
473 | <item>rename</item> | | |||
474 | <item>reparent</item> | | |||
475 | <item>rlimitinh</item> | | |||
476 | <item>rmdir</item> | | |||
477 | <item>rootok</item> | | |||
478 | <item>saver_getattr</item> | | |||
479 | <item>saver_hide</item> | | |||
480 | <item>saver_setattr</item> | | |||
481 | <item>saver_show</item> | | |||
482 | <item>search</item> | | |||
483 | <item>select</item> | | |||
484 | <item>send</item> | | |||
485 | <item>send_msg</item> | | |||
486 | <item>sendto</item> | | |||
487 | <item>set_context_mgr</item> | | |||
488 | <item>set_param</item> | | |||
489 | <item>set_property</item> | | |||
490 | <item>set_value</item> | | |||
491 | <item>setattr</item> | | |||
492 | <item>setbool</item> | | |||
493 | <item>setcap</item> | | |||
494 | <item>setcheckreqprot</item> | | |||
495 | <item>setcontext</item> | | |||
496 | <item>setcurrent</item> | | |||
497 | <item>setenforce</item> | | |||
498 | <item>setexec</item> | | |||
499 | <item>setfcap</item> | | |||
500 | <item>setfocus</item> | | |||
501 | <item>setfscreate</item> | | |||
502 | <item>setgid</item> | | |||
503 | <item>setkeycreate</item> | | |||
504 | <item>setopt</item> | | |||
505 | <item>setpcap</item> | | |||
506 | <item>setpgid</item> | | |||
507 | <item>setrlimit</item> | | |||
508 | <item>setsched</item> | | |||
509 | <item>setsecparam</item> | | |||
510 | <item>setsockcreate</item> | | |||
511 | <item>setuid</item> | | |||
512 | <item>share</item> | | |||
513 | <item>shmemgrp</item> | | |||
514 | <item>shmemhost</item> | | |||
515 | <item>shmempwd</item> | | |||
516 | <item>shmemserv</item> | | |||
517 | <item>show</item> | | |||
518 | <item>show_cursor</item> | | |||
519 | <item>shutdown</item> | | |||
520 | <item>sigchld</item> | | |||
521 | <item>siginh</item> | | |||
522 | <item>sigkill</item> | | |||
523 | <item>signal</item> | | |||
524 | <item>signull</item> | | |||
525 | <item>sigstop</item> | | |||
526 | <item>start</item> | | |||
527 | <item>status</item> | | |||
528 | <item>stop</item> | | |||
529 | <item>swapon</item> | | |||
530 | <item>sys_admin</item> | | |||
531 | <item>sys_boot</item> | | |||
532 | <item>sys_chroot</item> | | |||
533 | <item>sys_module</item> | | |||
534 | <item>sys_nice</item> | | |||
535 | <item>sys_pacct</item> | | |||
536 | <item>sys_ptrace</item> | | |||
537 | <item>sys_rawio</item> | | |||
538 | <item>sys_resource</item> | | |||
539 | <item>sys_time</item> | | |||
540 | <item>sys_tty_config</item> | | |||
541 | <item>syslog</item> | | |||
542 | <item>syslog_console</item> | | |||
543 | <item>syslog_mod</item> | | |||
544 | <item>syslog_read</item> | | |||
545 | <item>tcp_recv</item> | | |||
546 | <item>tcp_send</item> | | |||
547 | <item>transfer</item> | | |||
548 | <item>transition</item> | | |||
549 | <item>translate</item> | | |||
550 | <item>udp_recv</item> | | |||
551 | <item>udp_send</item> | | |||
552 | <item>uninstall</item> | | |||
553 | <item>unix_read</item> | | |||
554 | <item>unix_write</item> | | |||
555 | <item>unlink</item> | | |||
556 | <item>unmount</item> | | |||
557 | <item>update</item> | | |||
558 | <item>use</item> | | |||
559 | <item>use_as_override</item> | | |||
560 | <item>validate_trans</item> | | |||
561 | <item>view</item> | | |||
562 | <item>wake_alarm</item> | | |||
563 | <item>write</item> | | |||
564 | </list> | | |||
565 | | ||||
566 | <list name="filesystem"> | | |||
567 | <!-- VFS Types --> | | |||
568 | <item>autofs</item> | | |||
569 | <item>bdev</item> | | |||
570 | <item>bpf</item> | | |||
571 | <item>cachefs</item> | | |||
572 | <item>cgroup</item> | | |||
573 | <item>cgroup2</item> | | |||
574 | <item>cifs</item> | | |||
575 | <item>coherent</item> | | |||
576 | <item>configfs</item> | | |||
577 | <item>cpuset</item> | | |||
578 | <item>cramfs</item> | | |||
579 | <item>debugfs</item> | | |||
580 | <item>devfs</item> | | |||
581 | <item>devpts</item> | | |||
582 | <item>devtmpfs</item> | | |||
583 | <item>ecryptfs</item> | | |||
584 | <item>efs</item> | | |||
585 | <item>fuse</item> | | |||
586 | <item>fuseblk</item> | | |||
587 | <item>fusectl</item> | | |||
588 | <item>hugetlbfs</item> | | |||
589 | <item>iso9660</item> | | |||
590 | <item>kernfs</item> | | |||
591 | <item>mqueue</item> | | |||
592 | <item>pipefs</item> | | |||
593 | <item>proc</item> | | |||
594 | <item>procfs</item> | | |||
595 | <item>pstore</item> | | |||
596 | <item>ramfs</item> | | |||
597 | <item>romfs</item> | | |||
598 | <item>rootfs</item> | | |||
599 | <item>securityfs</item> | | |||
600 | <item>selinuxfs</item> | | |||
601 | <item>sockfs</item> | | |||
602 | <item>specfs</item> | | |||
603 | <item>squashfs</item> | | |||
604 | <item>swapfs</item> | | |||
605 | <item>sysfs</item> | | |||
606 | <item>sysv</item> | | |||
607 | <item>tmpfs</item> | | |||
608 | <item>usbfs</item> | | |||
609 | <item>vfat</item> | | |||
610 | <!-- FS Types --> | | |||
611 | <item>adfs</item> | | |||
612 | <item>affs</item> | | |||
613 | <item>apfs</item> | | |||
614 | <item>btrfs</item> | | |||
615 | <item>coda</item> | | |||
616 | <item>exfat</item> | | |||
617 | <item>ext2</item> | | |||
618 | <item>ext3</item> | | |||
619 | <item>ext4</item> | | |||
620 | <item>f2fs</item> | | |||
621 | <item>fatx</item> | | |||
622 | <item>hfs</item> | | |||
623 | <item>hfsplus</item> | | |||
624 | <item>hpfs</item> | | |||
625 | <item>jfs</item> | | |||
626 | <item>lvm2</item> | | |||
627 | <item>minix</item> | | |||
628 | <item>msdos</item> | | |||
629 | <item>ncpfs</item> | | |||
630 | <item>nilfs</item> | | |||
631 | <item>nilfs2</item> | | |||
632 | <item>nfs</item> | | |||
633 | <item>nfs4</item> | | |||
634 | <item>ntfs-3g</item> | | |||
635 | <item>qnx4</item> | | |||
636 | <item>qnx6</item> | | |||
637 | <item>reiser4</item> | | |||
638 | <item>reiserfs</item> | | |||
639 | <item>smbfs</item> | | |||
640 | <item>swap</item> | | |||
641 | <item>tracefs</item> | | |||
642 | <item>ubifs</item> | | |||
643 | <item>udf</item> | | |||
644 | <item>ufs</item> | | |||
645 | <item>umsdos</item> | | |||
646 | <item>urefs</item> | | |||
647 | <item>xenix</item> | | |||
648 | <item>xfs</item> | | |||
649 | <item>zfs</item> | | |||
650 | </list> | | |||
651 | | ||||
652 | <contexts> | 316 | <contexts> | ||
653 | 317 | | |||
654 | <context name="_normal" attribute="Normal Text" lineEndContext="#stay"> | 318 | <context name="_normal" attribute="Normal Text" lineEndContext="#stay"> | ||
655 | <DetectChar context="_rule_bracket_level1" attribute="Brackets1" char="("/> | 319 | <DetectChar context="_rule_bracket_level1" attribute="Brackets1" char="("/> | ||
656 | <DetectChar context="#stay" attribute="Error" char=")"/> | 320 | <DetectChar context="#stay" attribute="Error" char=")"/> | ||
657 | <IncludeRules context="_common"/> | 321 | <IncludeRules context="_common"/> | ||
322 | <IncludeRules context="_identifiers"/> | ||||
658 | </context> | 323 | </context> | ||
659 | <context name="_common" attribute="Normal Text" lineEndContext="#stay"> | 324 | <context name="_common" attribute="Normal Text" lineEndContext="#stay"> | ||
660 | <DetectChar context="_comment" attribute="Comment" char=";"/> | 325 | <DetectChar context="_comment" attribute="Comment" char=";"/> | ||
661 | <DetectChar context="_quoted" attribute="Text Quoted" char="""/> | 326 | <DetectChar context="_quoted" attribute="Text Quoted" char="""/> | ||
662 | <RegExpr context="_path_content" attribute="Path" String="/(?![\s\(\)"/])" insensitive="true"/> | 327 | <DetectChar context="_path_content" attribute="Path" char="/"/> | ||
663 | <RegExpr context="#stay" attribute="Path" String="/(?=([\s\(\)]|$))" insensitive="true"/> | | |||
664 | <!-- IPv4 --> | | |||
665 | <RegExpr context="#stay" attribute="IP Address" String="\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"/> | | |||
666 | <!-- IPv6 --> | | |||
667 | <RegExpr context="#stay" attribute="IP Address" String="\b([0-9A-Fa-f]{1,4}:([0-9A-Fa-f]{1,4}:([0-9A-Fa-f]{1,4}:([0-9A-Fa-f]{1,4}:([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{0,4}|:[0-9A-Fa-f]{1,4})?|(:[0-9A-Fa-f]{1,4}){0,2})|(:[0-9A-Fa-f]{1,4}){0,3})|(:[0-9A-Fa-f]{1,4}){0,4})|:(:[0-9A-Fa-f]{1,4}){0,5})((:[0-9A-Fa-f]{1,4}){2}|:(25[0-5]|(2[0-4]|1[0-9]|[1-9])?[0-9])(\.(25[0-5]|(2[0-4]|1[0-9]|[1-9])?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){1,6}|:):[0-9A-Fa-f]{0,4}|([0-9A-Fa-f]{1,4}:){7}:"/> | | |||
668 | <HlCOct context="#stay" attribute="Octal"/> | | |||
669 | <HlCHex context="#stay" attribute="Hex"/> | | |||
670 | <RegExpr context="#stay" attribute="Number" String="\b\d+(?=([\s\(\)]|$))"/> | | |||
671 | 328 | | |||
672 | <RegExpr context="#stay" attribute="Normal Text" String="(\b&identifier;)?(\.&identifier;)+(?=([\s\(\)]|$))"/> | 329 | <!-- IP Address --> | ||
330 | <IncludeRules context="_ip_addr##SELinux Policy"/> | ||||
331 | <!-- Special Characters --> | ||||
673 | <DetectChar context="#stay" attribute="Special Char" char="*"/> | 332 | <DetectChar context="#stay" attribute="Special Char" char="*"/> | ||
674 | <HlCStringChar context="#stay" attribute="Escape Expression"/> | 333 | | ||
675 | <!-- File contexts: user_u:role_r:type_t:s0:c0 --> | 334 | <!-- File Contexts: user_u:role_r:type_t:s0:c0 --> | ||
676 | <RegExpr context="#stay" attribute="File Contexts" String="\b[^\s:\(\)"]+(:[^\s:\(\)"]+){2}(:[^\s:\(\)"]+)*(?=([^&symbol;]|\s|$))"/> | 335 | <RegExpr context="_file_contexts" attribute="File Contexts" String="\b&fullIdentifier;(:&fullIdentifier;){2}(:&mlsLevel;(\s*\-\s*&mlsLevel;)?)?([^&symbol;:]|\s|$)" lookAhead="true"/> | ||
336 | <!-- Global Namespace (this avoids highlighting keywords) --> | ||||
337 | <RegExpr context="#stay" String="(\b&identifier;)?(\.&identifier;)+(?=\s|[^&symbol;]|$)"/> | ||||
338 | | ||||
339 | <!-- Numbers --> | ||||
340 | <HlCHex context="#stay" attribute="Hexadecimal"/> | ||||
341 | <Float context="#stay" attribute="Number"/> | ||||
342 | <Int context="#stay" attribute="Number"/> | ||||
343 | </context> | ||||
344 | <context name="_identifiers" attribute="Normal Text" lineEndContext="#stay"> | ||||
345 | <!-- Avoid highlighting numbers in identifiers. | ||||
346 | IMPORTANT: Do not put this rule before the keywords! --> | ||||
347 | <RegExpr context="#stay" String="&identifier;"/> | ||||
677 | </context> | 348 | </context> | ||
678 | 349 | | |||
679 | <context name="_comment" attribute="Comment" lineEndContext="#pop"> | 350 | <context name="_comment" attribute="Comment" lineEndContext="#pop"> | ||
680 | <LineContinue context="#pop" attribute="Comment"/> | | |||
681 | <DetectSpaces /> | 351 | <DetectSpaces /> | ||
352 | <LineContinue context="#pop" attribute="Comment"/> | ||||
682 | <IncludeRules context="##Alerts"/> | 353 | <IncludeRules context="##Alerts"/> | ||
683 | <IncludeRules context="##Modelines"/> | 354 | <IncludeRules context="##Modelines"/> | ||
355 | <IncludeRules context="_default_comment##SELinux Policy"/> | ||||
684 | </context> | 356 | </context> | ||
685 | <context name="_quoted" attribute="Text Quoted" lineEndContext="#stay"> | 357 | | ||
358 | <context name="_quoted" attribute="Text Quoted" lineEndContext="#pop"> | ||||
686 | <DetectChar context="#pop" attribute="Text Quoted" char="""/> | 359 | <DetectChar context="#pop" attribute="Text Quoted" char="""/> | ||
687 | <DetectChar context="_square_brackets" attribute="Pattern Brackets" char="["/> | 360 | <IncludeRules context="_regex_quoted##SELinux Policy"/> <!-- This does not support line breaks and line cont. escape --> | ||
688 | <DetectChar context="_round_brackets" attribute="Pattern Brackets" char="("/> | 361 | <RegExpr context="#stay" attribute="Text Quoted Open" String="[^\s"\[\(\\](?=\s*$)"/> | ||
689 | <IncludeRules context="_quantification_brackets"/> | | |||
690 | <IncludeRules context="_path_special_chars"/> | | |||
691 | </context> | 362 | </context> | ||
363 | | ||||
692 | <context name="_path_content" attribute="Path" lineEndContext="#pop"> | 364 | <context name="_path_content" attribute="Path" lineEndContext="#pop"> | ||
693 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | 365 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | ||
694 | <RegExpr context="#pop" attribute="Normal Text" String="[^&symbol;]" lookAhead="true"/> | 366 | <RegExpr context="#pop" attribute="Normal Text" String="[^&symbol;]" lookAhead="true"/> | ||
695 | <DetectChar context="_square_brackets_path" attribute="Pattern Brackets" char="["/> | 367 | | ||
696 | <IncludeRules context="_quantification_brackets"/> | 368 | <IncludeRules context="_default_regex##SELinux Policy"/> | ||
697 | <IncludeRules context="_path_special_chars"/> | 369 | <DetectChar context="_square_brackets_cil_path" attribute="RegExp Brackets (Paths)" char="["/> | ||
370 | </context> | ||||
371 | <context name="_square_brackets_cil_path" attribute="RegExp Brackets (Paths)" | ||||
372 | lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!_square_brackets_cil_path_content"> | ||||
373 | <RegExpr context="#pop!_square_brackets_cil_path_content" attribute="Special Char of Brackets (Paths)" String="\^(?=[&symbol;])"/> | ||||
374 | </context> | ||||
375 | <context name="_square_brackets_cil_path_content" attribute="RegExp Brackets (Paths)" lineEndContext="#pop"> | ||||
376 | <DetectChar context="#pop" attribute="RegExp Brackets (Paths)" char="]"/> | ||||
377 | <RegExpr context="#pop" String="[^&symbol;]" lookAhead="true"/> | ||||
378 | <RegExpr context="#stay" attribute="Open RegExp Brackets (Paths)" String="[^\s\[\]\\](?![&symbol;])"/> | ||||
379 | <DetectChar context="#stay" attribute="Error" char="["/> | ||||
380 | <IncludeRules context="_special_chars##SELinux Policy"/> | ||||
698 | </context> | 381 | </context> | ||
699 | 382 | | |||
700 | <!-- RULES --> | 383 | <!-- RULES --> | ||
701 | 384 | | |||
702 | <!-- Highlighting specific keywords for some rules --> | 385 | <!-- Highlighting specific keywords in some rules --> | ||
703 | <context name="_filecon_statement" attribute="Normal Text" lineEndContext="#stay"> | 386 | <context name="_filecon_statement" attribute="Normal Text" lineEndContext="#stay"> | ||
704 | <IncludeRules context="_default_end"/> | 387 | <IncludeRules context="_default_end"/> | ||
705 | <keyword context="#pop" attribute="Types" String="file_types"/> | 388 | <keyword context="#pop" attribute="Types" String="file_types"/> | ||
706 | <IncludeRules context="_default_rule"/> | 389 | <IncludeRules context="_default_rule"/> | ||
707 | </context> | 390 | </context> | ||
708 | <context name="_portcon_statement" attribute="Normal Text" lineEndContext="#stay"> | 391 | <context name="_portcon_statement" attribute="Normal Text" lineEndContext="#stay"> | ||
709 | <IncludeRules context="_default_end"/> | 392 | <IncludeRules context="_default_end"/> | ||
710 | <keyword context="#pop" attribute="Types" String="protocols"/> | 393 | <keyword context="#pop" attribute="Types" String="protocols"/> | ||
711 | <IncludeRules context="_default_rule"/> | 394 | <IncludeRules context="_default_rule"/> | ||
712 | </context> | 395 | </context> | ||
713 | <context name="_fsuse_statement" attribute="Normal Text" lineEndContext="#stay"> | 396 | <context name="_fsuse_statement" attribute="Normal Text" lineEndContext="#stay"> | ||
714 | <IncludeRules context="_default_end"/> | 397 | <IncludeRules context="_default_end"/> | ||
715 | <keyword context="#pop" attribute="Types" String="fs_types"/> | 398 | <keyword context="#pop" attribute="Types" String="fs_types"/> | ||
716 | <IncludeRules context="_default_rule"/> | 399 | <IncludeRules context="_default_rule"/> | ||
717 | </context> | 400 | </context> | ||
718 | <context name="_handleunknown_statement" attribute="Normal Text" lineEndContext="#stay"> | 401 | <context name="_handleunknown_statement" attribute="Normal Text" lineEndContext="#stay"> | ||
719 | <IncludeRules context="_default_end"/> | 402 | <IncludeRules context="_default_end"/> | ||
720 | <keyword context="#pop" attribute="Access Keys" String="handleunknown_keys"/> | 403 | <keyword context="#pop" attribute="Access Keys" String="handleunknown_keys"/> | ||
721 | <IncludeRules context="_default_rule"/> | 404 | <IncludeRules context="_default_rule"/> | ||
722 | </context> | 405 | </context> | ||
406 | <context name="_policycap_statement" attribute="Normal Text" lineEndContext="#stay"> | ||||
407 | <IncludeRules context="_default_end"/> | ||||
408 | <IncludeRules context="_policy_capabilities##SELinux Policy"/> | ||||
409 | <IncludeRules context="_common"/> | ||||
410 | <IncludeRules context="_identifiers"/> | ||||
411 | </context> | ||||
412 | <context name="_av_permissions_statement" attribute="Normal Text" lineEndContext="#stay"> | ||||
413 | <IncludeRules context="_default_end"/> | ||||
414 | <IncludeRules context="_av_permissions##SELinux Policy"/> | ||||
415 | <IncludeRules context="_default_rule"/> | ||||
416 | </context> | ||||
723 | <context name="_default_end" attribute="Normal Text" lineEndContext="#stay"> | 417 | <context name="_default_end" attribute="Normal Text" lineEndContext="#stay"> | ||
724 | <AnyChar context="#pop" attribute="Normal Text" String=")(" lookAhead="true"/> | 418 | <AnyChar context="#pop" attribute="Normal Text" String=")(" lookAhead="true"/> | ||
725 | </context> | 419 | </context> | ||
726 | 420 | | |||
421 | <context name="_find_ioctl_kind" attribute="Normal Text" | ||||
422 | lineEndContext="#pop!_av_permissions_statement" fallthrough="true" fallthroughContext="#pop!_av_permissions_statement"> | ||||
423 | <!-- ioctl is a kind in permissionx/accessx statement: | ||||
424 | (permissionx permissionx_id (ioctl class_id (permission ... | expr ...))) --> | ||||
425 | <RegExpr context="#pop" attribute="Type Name Statements" String="ioctl(?=\s+[&symbol;]+\s*\()"/> | ||||
426 | <!-- ioctl can be a kind of permissionx or AV permission --> | ||||
427 | <RegExpr context="#pop!_av_permissions_statement" attribute="Type Name Statements" String="ioctl(?=(\s+[&symbol;]+)?\s*($|;))"/> | ||||
428 | <RegExpr context="#pop!_av_permissions_statement" attribute="Type Name Statements" String="ioctl(?=\s+[&symbol;]+\s+\d)"/> | ||||
429 | </context> | ||||
430 | | ||||
727 | <context name="_default_statement" attribute="Normal Text" lineEndContext="#stay"> | 431 | <context name="_default_statement" attribute="Normal Text" lineEndContext="#stay"> | ||
728 | <WordDetect context="_handleunknown_statement" attribute="Policy Config. Statements" String="handleunknown"/> | 432 | <WordDetect context="_handleunknown_statement" attribute="Policy Config. Statements" String="handleunknown"/> | ||
433 | <WordDetect context="_policycap_statement" attribute="Policy Config. Statements" String="policycap"/> | ||||
729 | <WordDetect context="_filecon_statement" attribute="Statements" String="filecon"/> | 434 | <WordDetect context="_filecon_statement" attribute="Statements" String="filecon"/> | ||
730 | <WordDetect context="_fsuse_statement" attribute="Statements" String="fsuse"/> | 435 | <WordDetect context="_fsuse_statement" attribute="Statements" String="fsuse"/> | ||
731 | <WordDetect context="_portcon_statement" attribute="Statements" String="portcon"/> | 436 | <WordDetect context="_portcon_statement" attribute="Statements" String="portcon"/> | ||
437 | <!-- Fix permissions list if the keywords "ioctl" or "call" are not statements, | ||||
438 | but a permissions (see "av_permissions" keyword list of "selinux.xml"). --> | ||||
439 | <RegExpr context="_av_permissions_statement" String="\b(call|ioctl)\s*\)" lookAhead="true"/> | ||||
440 | <WordDetect context="_find_ioctl_kind" String="ioctl" lookAhead="true"/> | ||||
441 | <WordDetect context="_av_permissions_statement" attribute="Statements" String="call"/> | ||||
732 | 442 | | |||
733 | <keyword context="#stay" attribute="Policy Config. Statements" String="policy_config_statements"/> | 443 | <keyword context="#stay" attribute="Policy Config. Statements" String="policy_config_statements"/> | ||
734 | <keyword context="#stay" attribute="Type Statements" String="type_statements"/> | 444 | <keyword context="#stay" attribute="Type Statements" String="type_statements"/> | ||
735 | <keyword context="#stay" attribute="Statements" String="statements"/> | 445 | <keyword context="#stay" attribute="Statements" String="statements"/> | ||
736 | <keyword context="#stay" attribute="Expression Keys" String="expr_keys"/> | 446 | <keyword context="#stay" attribute="Expression Keys" String="expr_keys"/> | ||
737 | <keyword context="#stay" attribute="Access Keys" String="access"/> | 447 | <keyword context="#stay" attribute="Access Keys" String="access"/> | ||
738 | 448 | | |||
739 | <keyword context="#stay" attribute="Booleans" String="booleans"/> | 449 | <keyword context="#stay" attribute="Booleans" String="booleans"/> | ||
740 | <keyword context="#stay" attribute="Type Name" String="classorder_keys"/> | 450 | <keyword context="#stay" attribute="Type Name Statements" String="classorder_keys"/> | ||
741 | <keyword context="#stay" attribute="Type Name" String="type_name"/> | 451 | <keyword context="#stay" attribute="Type Name Statements" String="type_name"/> | ||
742 | </context> | 452 | </context> | ||
743 | <context name="_default_rule" attribute="Normal Text" lineEndContext="#stay"> | 453 | <context name="_default_rule" attribute="Normal Text" lineEndContext="#stay"> | ||
744 | <IncludeRules context="_common"/> | 454 | <IncludeRules context="_common"/> | ||
745 | <keyword context="#stay" attribute="Booleans" String="booleans"/> | 455 | <keyword context="#stay" attribute="Booleans" String="booleans"/> | ||
746 | <keyword context="#stay" attribute="Special Keys" String="special_keys"/> | 456 | <keyword context="#stay" attribute="Special Keys" String="special_keys"/> | ||
747 | 457 | | |||
748 | <WordDetect context="#stay" attribute="Other Keywords" String="<root>"/> | 458 | <WordDetect context="#stay" attribute="Other Keywords" String="<root>"/> | ||
749 | <WordDetect context="#stay" attribute="Other Keywords" String="<node>"/> | 459 | <WordDetect context="#stay" attribute="Other Keywords" String="<node>"/> | ||
750 | <WordDetect context="#stay" attribute="Other Keywords" String="<src_info>"/> | 460 | <WordDetect context="#stay" attribute="Other Keywords" String="<src_info>"/> | ||
751 | <WordDetect context="#stay" attribute="Other Keywords" String="<src_cil>"/> | 461 | <WordDetect context="#stay" attribute="Other Keywords" String="<src_cil>"/> | ||
752 | <WordDetect context="#stay" attribute="Other Keywords" String="<src_hll>"/> | 462 | <WordDetect context="#stay" attribute="Other Keywords" String="<src_hll>"/> | ||
753 | <keyword context="#stay" attribute="Other Keywords" String="other_keywords"/> | 463 | <keyword context="#stay" attribute="Other Keywords" String="other_keywords"/> | ||
754 | <keyword context="#stay" attribute="Other Keywords" String="filesystem"/> | 464 | <IncludeRules context="_filesystem##SELinux Policy"/> | ||
465 | | ||||
466 | <IncludeRules context="_identifiers"/> | ||||
755 | </context> | 467 | </context> | ||
756 | <context name="_default_rule_without_statement" attribute="Normal Text" lineEndContext="#stay"> | 468 | <context name="_default_rule_without_statement" attribute="Normal Text" lineEndContext="#stay"> | ||
757 | <keyword context="#stay" attribute="Permissions" String="av_permissions"/> | 469 | <IncludeRules context="_av_permissions##SELinux Policy"/> | ||
758 | </context> | 470 | </context> | ||
759 | <context name="_default_rule_bracket" attribute="Normal Text" lineEndContext="#stay"> | 471 | <context name="_default_rule_bracket" attribute="Normal Text" lineEndContext="#stay"> | ||
760 | <DetectSpaces context="#stay" attribute="Normal Text"/> | 472 | <DetectSpaces context="#stay" attribute="Normal Text"/> | ||
761 | <DetectChar context="_comment" attribute="Comment" char=";" /> | 473 | <DetectChar context="_comment" attribute="Comment" char=";"/> | ||
762 | </context> | 474 | </context> | ||
763 | 475 | | |||
764 | <!-- Levels of rule brackets. | 476 | <!-- Levels of rule brackets. | ||
765 | Only the first word of a rule can be highlighted as a statement keyword. --> | 477 | Only the first word of a rule can be highlighted as a statement keyword. --> | ||
766 | <context name="_rule_bracket_level1" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level1" lineEndContext="#stay"> | 478 | <context name="_rule_bracket_level1" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level1" lineEndContext="#stay"> | ||
767 | <IncludeRules context="_default_rule_bracket"/> <!-- Detect spaces & comments --> | 479 | <IncludeRules context="_default_rule_bracket"/> <!-- Detect spaces & comments --> | ||
768 | <RegExpr context="#pop!_statement_level1" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> <!-- Detect first word --> | 480 | <!-- Detect first word --> | ||
481 | <RegExpr context="#pop!_statement_level1" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | ||||
769 | </context> | 482 | </context> | ||
770 | <context name="_statement_level1" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level1" lineEndContext="#pop!_rule_level1"> | 483 | <context name="_statement_level1" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level1" lineEndContext="#pop!_rule_level1"> | ||
484 | <!-- When writing a statement and then a delimiter (like a space), go to the context "_rule_level1" --> | ||||
771 | <IncludeRules context="_default_statement"/> | 485 | <IncludeRules context="_default_statement"/> | ||
772 | <RegExpr context="#pop!_rule_without_statement_level1" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | 486 | <RegExpr context="#pop!_rule_without_statement_level1" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | ||
773 | </context> | 487 | </context> | ||
774 | <context name="_rule_level1" attribute="Normal Text" lineEndContext="#stay"> <!-- Rule content --> | 488 | <context name="_rule_level1" attribute="Normal Text" lineEndContext="#stay"> <!-- Rule content --> | ||
775 | <DetectChar attribute="Brackets2" context="_rule_bracket_level2" char="("/> | 489 | <DetectChar attribute="Brackets2" context="_rule_bracket_level2" char="("/> | ||
776 | <DetectChar attribute="Brackets1" context="#pop" char=")" /> | 490 | <DetectChar attribute="Brackets1" context="#pop" char=")" /> | ||
777 | <IncludeRules context="_default_rule"/> | 491 | <IncludeRules context="_default_rule"/> | ||
778 | </context> | 492 | </context> | ||
779 | <context name="_rule_without_statement_level1" attribute="Normal Text" lineEndContext="#stay"> | 493 | <context name="_rule_without_statement_level1" attribute="Normal Text" lineEndContext="#stay"> | ||
780 | <IncludeRules context="_rule_level1"/> | | |||
781 | <IncludeRules context="_default_rule_without_statement"/> | 494 | <IncludeRules context="_default_rule_without_statement"/> | ||
495 | <IncludeRules context="_rule_level1"/> | ||||
782 | </context> | 496 | </context> | ||
783 | 497 | | |||
784 | <context name="_rule_bracket_level2" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level2" lineEndContext="#stay"> | 498 | <context name="_rule_bracket_level2" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level2" lineEndContext="#stay"> | ||
785 | <IncludeRules context="_default_rule_bracket"/> | 499 | <IncludeRules context="_default_rule_bracket"/> | ||
786 | <RegExpr context="#pop!_statement_level2" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | 500 | <RegExpr context="#pop!_statement_level2" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | ||
787 | </context> | 501 | </context> | ||
788 | <context name="_statement_level2" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level2" lineEndContext="#pop!_rule_level2"> | 502 | <context name="_statement_level2" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level2" lineEndContext="#pop!_rule_level2"> | ||
789 | <IncludeRules context="_default_statement"/> | 503 | <IncludeRules context="_default_statement"/> | ||
790 | <RegExpr context="#pop!_rule_without_statement_level2" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | 504 | <RegExpr context="#pop!_rule_without_statement_level2" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | ||
791 | </context> | 505 | </context> | ||
792 | <context name="_rule_level2" attribute="Normal Text" lineEndContext="#stay"> | 506 | <context name="_rule_level2" attribute="Normal Text" lineEndContext="#stay"> | ||
793 | <DetectChar attribute="Brackets3" context="_rule_bracket_level3" char="("/> | 507 | <DetectChar attribute="Brackets3" context="_rule_bracket_level3" char="("/> | ||
794 | <DetectChar attribute="Brackets2" context="#pop" char=")" /> | 508 | <DetectChar attribute="Brackets2" context="#pop" char=")" /> | ||
795 | <IncludeRules context="_default_rule"/> | 509 | <IncludeRules context="_default_rule"/> | ||
796 | </context> | 510 | </context> | ||
797 | <context name="_rule_without_statement_level2" attribute="Normal Text" lineEndContext="#stay"> | 511 | <context name="_rule_without_statement_level2" attribute="Normal Text" lineEndContext="#stay"> | ||
798 | <IncludeRules context="_rule_level2"/> | | |||
799 | <IncludeRules context="_default_rule_without_statement"/> | 512 | <IncludeRules context="_default_rule_without_statement"/> | ||
513 | <IncludeRules context="_rule_level2"/> | ||||
800 | </context> | 514 | </context> | ||
801 | 515 | | |||
802 | <context name="_rule_bracket_level3" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level3" lineEndContext="#stay"> | 516 | <context name="_rule_bracket_level3" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level3" lineEndContext="#stay"> | ||
803 | <IncludeRules context="_default_rule_bracket"/> | 517 | <IncludeRules context="_default_rule_bracket"/> | ||
804 | <RegExpr context="#pop!_statement_level3" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | 518 | <RegExpr context="#pop!_statement_level3" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | ||
805 | </context> | 519 | </context> | ||
806 | <context name="_statement_level3" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level3" lineEndContext="#pop!_rule_level3"> | 520 | <context name="_statement_level3" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level3" lineEndContext="#pop!_rule_level3"> | ||
807 | <IncludeRules context="_default_statement"/> | 521 | <IncludeRules context="_default_statement"/> | ||
808 | <RegExpr context="#pop!_rule_without_statement_level3" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | 522 | <RegExpr context="#pop!_rule_without_statement_level3" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | ||
809 | </context> | 523 | </context> | ||
810 | <context name="_rule_level3" attribute="Normal Text" lineEndContext="#stay"> | 524 | <context name="_rule_level3" attribute="Normal Text" lineEndContext="#stay"> | ||
811 | <DetectChar attribute="Brackets4" context="_rule_bracket_level4" char="("/> | 525 | <DetectChar attribute="Brackets4" context="_rule_bracket_level4" char="("/> | ||
812 | <DetectChar attribute="Brackets3" context="#pop" char=")" /> | 526 | <DetectChar attribute="Brackets3" context="#pop" char=")" /> | ||
813 | <IncludeRules context="_default_rule"/> | 527 | <IncludeRules context="_default_rule"/> | ||
814 | </context> | 528 | </context> | ||
815 | <context name="_rule_without_statement_level3" attribute="Normal Text" lineEndContext="#stay"> | 529 | <context name="_rule_without_statement_level3" attribute="Normal Text" lineEndContext="#stay"> | ||
816 | <IncludeRules context="_rule_level3"/> | | |||
817 | <IncludeRules context="_default_rule_without_statement"/> | 530 | <IncludeRules context="_default_rule_without_statement"/> | ||
531 | <IncludeRules context="_rule_level3"/> | ||||
818 | </context> | 532 | </context> | ||
819 | 533 | | |||
820 | <context name="_rule_bracket_level4" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level4" lineEndContext="#stay"> | 534 | <context name="_rule_bracket_level4" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level4" lineEndContext="#stay"> | ||
821 | <IncludeRules context="_default_rule_bracket"/> | 535 | <IncludeRules context="_default_rule_bracket"/> | ||
822 | <RegExpr context="#pop!_statement_level4" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | 536 | <RegExpr context="#pop!_statement_level4" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | ||
823 | </context> | 537 | </context> | ||
824 | <context name="_statement_level4" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level4" lineEndContext="#pop!_rule_level4"> | 538 | <context name="_statement_level4" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level4" lineEndContext="#pop!_rule_level4"> | ||
825 | <IncludeRules context="_default_statement"/> | 539 | <IncludeRules context="_default_statement"/> | ||
826 | <RegExpr context="#pop!_rule_without_statement_level4" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | 540 | <RegExpr context="#pop!_rule_without_statement_level4" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | ||
827 | </context> | 541 | </context> | ||
828 | <context name="_rule_level4" attribute="Normal Text" lineEndContext="#stay"> | 542 | <context name="_rule_level4" attribute="Normal Text" lineEndContext="#stay"> | ||
829 | <DetectChar attribute="Brackets5" context="_rule_bracket_level5" char="("/> | 543 | <DetectChar attribute="Brackets5" context="_rule_bracket_level5" char="("/> | ||
830 | <DetectChar attribute="Brackets4" context="#pop" char=")" /> | 544 | <DetectChar attribute="Brackets4" context="#pop" char=")" /> | ||
831 | <IncludeRules context="_default_rule"/> | 545 | <IncludeRules context="_default_rule"/> | ||
832 | </context> | 546 | </context> | ||
833 | <context name="_rule_without_statement_level4" attribute="Normal Text" lineEndContext="#stay"> | 547 | <context name="_rule_without_statement_level4" attribute="Normal Text" lineEndContext="#stay"> | ||
834 | <IncludeRules context="_rule_level4"/> | | |||
835 | <IncludeRules context="_default_rule_without_statement"/> | 548 | <IncludeRules context="_default_rule_without_statement"/> | ||
549 | <IncludeRules context="_rule_level4"/> | ||||
836 | </context> | 550 | </context> | ||
837 | 551 | | |||
838 | <context name="_rule_bracket_level5" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level5" lineEndContext="#stay"> | 552 | <context name="_rule_bracket_level5" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level5" lineEndContext="#stay"> | ||
839 | <IncludeRules context="_default_rule_bracket"/> | 553 | <IncludeRules context="_default_rule_bracket"/> | ||
840 | <RegExpr context="#pop!_statement_level5" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | 554 | <RegExpr context="#pop!_statement_level5" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | ||
841 | </context> | 555 | </context> | ||
842 | <context name="_statement_level5" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level5" lineEndContext="#pop!_rule_level5"> | 556 | <context name="_statement_level5" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level5" lineEndContext="#pop!_rule_level5"> | ||
843 | <IncludeRules context="_default_statement"/> | 557 | <IncludeRules context="_default_statement"/> | ||
844 | <RegExpr context="#pop!_rule_without_statement_level5" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | 558 | <RegExpr context="#pop!_rule_without_statement_level5" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | ||
845 | </context> | 559 | </context> | ||
846 | <context name="_rule_level5" attribute="Normal Text" lineEndContext="#stay"> | 560 | <context name="_rule_level5" attribute="Normal Text" lineEndContext="#stay"> | ||
847 | <DetectChar attribute="Brackets6" context="_rule_bracket_level6" char="("/> | 561 | <DetectChar attribute="Brackets6" context="_rule_bracket_level6" char="("/> | ||
848 | <DetectChar attribute="Brackets5" context="#pop" char=")" /> | 562 | <DetectChar attribute="Brackets5" context="#pop" char=")" /> | ||
849 | <IncludeRules context="_default_rule"/> | 563 | <IncludeRules context="_default_rule"/> | ||
850 | </context> | 564 | </context> | ||
851 | <context name="_rule_without_statement_level5" attribute="Normal Text" lineEndContext="#stay"> | 565 | <context name="_rule_without_statement_level5" attribute="Normal Text" lineEndContext="#stay"> | ||
852 | <IncludeRules context="_rule_level5"/> | | |||
853 | <IncludeRules context="_default_rule_without_statement"/> | 566 | <IncludeRules context="_default_rule_without_statement"/> | ||
567 | <IncludeRules context="_rule_level5"/> | ||||
854 | </context> | 568 | </context> | ||
855 | 569 | | |||
856 | <context name="_rule_bracket_level6" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level6" lineEndContext="#stay"> | 570 | <context name="_rule_bracket_level6" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_without_statement_level6" lineEndContext="#stay"> | ||
857 | <IncludeRules context="_default_rule_bracket"/> | 571 | <IncludeRules context="_default_rule_bracket"/> | ||
858 | <RegExpr context="#pop!_statement_level6" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | 572 | <RegExpr context="#pop!_statement_level6" attribute="Normal Text" String="&statementchar;" lookAhead="true"/> | ||
859 | </context> | 573 | </context> | ||
860 | <context name="_statement_level6" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level6" lineEndContext="#pop!_rule_level6"> | 574 | <context name="_statement_level6" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop!_rule_level6" lineEndContext="#pop!_rule_level6"> | ||
861 | <IncludeRules context="_default_statement"/> | 575 | <IncludeRules context="_default_statement"/> | ||
862 | <RegExpr context="#pop!_rule_without_statement_level6" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | 576 | <RegExpr context="#pop!_rule_without_statement_level6" attribute="Normal Text" String="&statementchar;+" lookAhead="true"/> | ||
863 | </context> | 577 | </context> | ||
864 | <context name="_rule_level6" attribute="Normal Text" lineEndContext="#stay"> | 578 | <context name="_rule_level6" attribute="Normal Text" lineEndContext="#stay"> | ||
865 | <DetectChar attribute="Brackets1" context="_rule_bracket_level1" char="("/> | 579 | <DetectChar attribute="Brackets1" context="_rule_bracket_level1" char="("/> | ||
866 | <DetectChar attribute="Brackets6" context="#pop" char=")" /> | 580 | <DetectChar attribute="Brackets6" context="#pop" char=")" /> | ||
867 | <IncludeRules context="_default_rule"/> | 581 | <IncludeRules context="_default_rule"/> | ||
868 | </context> | 582 | </context> | ||
869 | <context name="_rule_without_statement_level6" attribute="Normal Text" lineEndContext="#stay"> | 583 | <context name="_rule_without_statement_level6" attribute="Normal Text" lineEndContext="#stay"> | ||
870 | <IncludeRules context="_rule_level6"/> | | |||
871 | <IncludeRules context="_default_rule_without_statement"/> | 584 | <IncludeRules context="_default_rule_without_statement"/> | ||
585 | <IncludeRules context="_rule_level6"/> | ||||
872 | </context> | 586 | </context> | ||
873 | 587 | | |||
874 | <!-- Regex (FCGlob?) --> | 588 | <!-- File Contexts --> | ||
875 | <context name="_path_special_chars" attribute="Normal Text" lineEndContext="#stay"> | 589 | <!-- user:role:type --> | ||
876 | <IncludeRules context="_special_chars"/> | 590 | <context name="_file_contexts" attribute="File Contexts" lineEndContext="#pop"> | ||
877 | <IncludeRules context="_escape"/> | 591 | <DetectChar context="#pop!_fc_role" attribute="Normal Text" char=":"/> | ||
878 | </context> | | |||
879 | <context name="_special_chars" attribute="Normal Text" lineEndContext="#stay"> | | |||
880 | <AnyChar context="#stay" attribute="Special Char" String="*?.+"/> | | |||
881 | </context> | | |||
882 | <context name="_escape" attribute="Normal Text" lineEndContext="#stay"> | | |||
883 | <HlCStringChar context="#stay" attribute="Escape Expression"/> | | |||
884 | <RegExpr context="#stay" attribute="Escape Expression" String="\\[\ssSdDwWbBAZiIcC\|\.\-\^\?\*\+\(\)\[\]\{\},]"/> | | |||
885 | </context> | | |||
886 | <context name="_quantification_brackets" attribute="Normal Text" lineEndContext="#stay"> | | |||
887 | <!-- {n} {min,} {,max} {min,max} --> | | |||
888 | <RegExpr context="#stay" attribute="Pattern Brackets" String="\{(\d+(,\d*)?|,\d+)\}"/> | | |||
889 | </context> | | |||
890 | <!-- Groups: [ ] and ( ) --> | | |||
891 | <context name="_square_brackets" attribute="Pattern Brackets" lineEndContext="#pop"> | | |||
892 | <DetectChar context="#pop" attribute="Pattern Brackets" char="]"/> | | |||
893 | <IncludeRules context="_escape"/> | | |||
894 | | ||||
895 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | 592 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | ||
896 | <DetectChar context="#pop" attribute="Normal Text" char=""" lookAhead="true"/> | | |||
897 | <DetectChar context="#stay" attribute="Error" char="["/> | | |||
898 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\]](?=([\s"]|$))"/> | | |||
899 | | ||||
900 | <AnyChar context="#stay" attribute="Special Char 2" String="^-"/> | | |||
901 | <IncludeRules context="_special_chars"/> | | |||
902 | </context> | 593 | </context> | ||
903 | <context name="_round_brackets" attribute="Pattern Brackets" lineEndContext="#pop"> | 594 | <context name="_fc_role" attribute="File Contexts" lineEndContext="#pop"> | ||
904 | <DetectChar context="#pop" attribute="Pattern Brackets" char=")"/> | 595 | <DetectChar context="#pop!_fc_type" attribute="Normal Text" char=":"/> | ||
905 | <IncludeRules context="_escape"/> | | |||
906 | | ||||
907 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | 596 | <DetectSpaces context="#pop" attribute="Normal Text" lookAhead="true"/> | ||
908 | <DetectChar context="#pop" attribute="Normal Text" char=""" lookAhead="true"/> | | |||
909 | <DetectChar context="_square_brackets" attribute="Pattern Brackets" char="["/> | | |||
910 | <DetectChar context="_round_brackets" attribute="Pattern Brackets" char="("/> | | |||
911 | <IncludeRules context="_quantification_brackets"/> | | |||
912 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\[\]\(\)](?=([\s"]|$))"/> | | |||
913 | | ||||
914 | <DetectChar context="#stay" attribute="Special Char 2" char="|"/> | | |||
915 | <IncludeRules context="_special_chars"/> | | |||
916 | </context> | 597 | </context> | ||
917 | <context name="_square_brackets_path" attribute="Pattern Brackets" lineEndContext="#pop"> | 598 | <context name="_fc_type" attribute="File Contexts (Type Enforcement)" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||
918 | <RegExpr context="#pop" attribute="Normal Text" String="[^&symbol;]" lookAhead="true"/> | 599 | <RegExpr context="#pop!_fc_mls" attribute="File Contexts (Type Enforcement)" String="&fullIdentifier;(?=:&mlsLevel;)"/> <!-- Find Level/Range --> | ||
919 | <RegExpr context="#stay" attribute="Open Pattern Brackets" String="[^\s\]](?![&symbol;])"/> | 600 | <RegExpr context="#pop" attribute="File Contexts (Type Enforcement)" String="&fullIdentifier;"/> | ||
920 | <IncludeRules context="_square_brackets"/> | 601 | </context> | ||
602 | <!-- (MLS/MCS) user:role:type:level --> | ||||
603 | <context name="_fc_mls" attribute="File Contexts" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
604 | <DetectChar context="#pop!_fc_level_range_sen" attribute="Normal Text" char=":"/> | ||||
605 | </context> | ||||
606 | <context name="_fc_level_range_sen" attribute="File Contexts" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
607 | <RegExpr context="#pop!_fc_level_range_cat" attribute="Normal Text" String=":(?=&identifier;)"/> <!-- Find Category --> | ||||
608 | <RegExpr context="#pop!_fc_level_sen" attribute="Normal Text" String="\s*\-\s*(?=&mlsLevel;)"/> <!-- Find Range --> | ||||
609 | <RegExpr context="#stay" attribute="Normal Text" String="\.(?=&identifier;)"/> | ||||
610 | <IncludeRules context="_default_fc_level"/> | ||||
611 | </context> | ||||
612 | <context name="_fc_level_range_cat" attribute="File Contexts" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
613 | <RegExpr context="#pop!_fc_level_sen" attribute="Normal Text" String="\s*\-\s*(?=&mlsLevel;)"/> <!-- Find Range --> | ||||
614 | <RegExpr context="#stay" attribute="Normal Text" String="(\.|\s*,\s*)(?=&identifier;)"/> | ||||
615 | <IncludeRules context="_default_fc_level"/> | ||||
616 | </context> | ||||
617 | <!-- (MLS/MCS) user:role:type:level-level --> | ||||
618 | <context name="_fc_level_sen" attribute="File Contexts" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
619 | <RegExpr context="#pop!_fc_level_cat" attribute="Normal Text" String=":(?=&identifier;)"/> <!-- Find Category --> | ||||
620 | <RegExpr context="#stay" attribute="Normal Text" String="\.(?=&identifier;)"/> | ||||
621 | <IncludeRules context="_default_fc_level"/> | ||||
622 | </context> | ||||
623 | <context name="_fc_level_cat" attribute="File Contexts" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
624 | <RegExpr context="#stay" attribute="Normal Text" String="(\.|\s*,\s*)(?=&identifier;)"/> | ||||
625 | <IncludeRules context="_default_fc_level"/> | ||||
626 | </context> | ||||
627 | <context name="_default_fc_level" attribute="File Contexts" lineEndContext="#pop"> | ||||
628 | <RegExpr context="#stay" attribute="File Contexts" String="\w+"/> | ||||
629 | <DetectChar context="#stay" attribute="File Contexts" char="-"/> | ||||
921 | </context> | 630 | </context> | ||
922 | 631 | | |||
923 | </contexts> | 632 | </contexts> | ||
924 | 633 | | |||
925 | <itemDatas> | 634 | <itemDatas> | ||
926 | <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> | 635 | <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> | ||
927 | <itemData name="Comment" defStyleNum="dsComment"/> | 636 | <itemData name="Comment" defStyleNum="dsComment"/> | ||
928 | <itemData name="Text Quoted" defStyleNum="dsString" spellChecking="false"/> | 637 | <itemData name="Text Quoted" defStyleNum="dsString" spellChecking="false"/> | ||
929 | <itemData name="Path" defStyleNum="dsNormal" spellChecking="false"/> | 638 | <itemData name="Path" defStyleNum="dsNormal" spellChecking="false"/> | ||
930 | 639 | | |||
931 | <itemData name="Statements" defStyleNum="dsKeyword" bold="1" spellChecking="false"/> | 640 | <itemData name="Statements" defStyleNum="dsKeyword" bold="1" spellChecking="false"/> | ||
932 | <itemData name="Type Statements" defStyleNum="dsFunction" bold="1" spellChecking="false"/> | 641 | <itemData name="Type Statements" defStyleNum="dsFunction" bold="1" spellChecking="false"/> | ||
933 | <itemData name="Policy Config. Statements" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/> | 642 | <itemData name="Policy Config. Statements" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/> | ||
934 | <itemData name="Access Keys" defStyleNum="dsWarning" bold="1" spellChecking="false"/> | 643 | <itemData name="Access Keys" defStyleNum="dsWarning" bold="1" spellChecking="false"/> | ||
935 | <itemData name="Expression Keys" defStyleNum="dsVariable" bold="1" spellChecking="false"/> | 644 | <itemData name="Expression Keys" defStyleNum="dsVariable" bold="1" spellChecking="false"/> | ||
936 | <itemData name="Type Name" defStyleNum="dsDataType" bold="1" spellChecking="false"/> | 645 | <itemData name="Type Name Statements" defStyleNum="dsDataType" bold="1" spellChecking="false"/> | ||
937 | <itemData name="Booleans" defStyleNum="dsExtension" bold="1" spellChecking="false"/> | 646 | <itemData name="Booleans" defStyleNum="dsExtension" bold="1" spellChecking="false"/> | ||
938 | 647 | | |||
939 | <itemData name="Types" defStyleNum="dsDataType" spellChecking="false"/> | 648 | <itemData name="Types" defStyleNum="dsDataType" spellChecking="false"/> | ||
940 | <itemData name="Special Keys" defStyleNum="dsOthers" spellChecking="false"/> | 649 | <itemData name="Special Keys" defStyleNum="dsOthers" spellChecking="false"/> | ||
941 | <itemData name="Permissions" defStyleNum="dsVerbatimString" spellChecking="false"/> | | |||
942 | <itemData name="File Contexts" defStyleNum="dsSpecialString" spellChecking="false"/> | 650 | <itemData name="File Contexts" defStyleNum="dsSpecialString" spellChecking="false"/> | ||
651 | <itemData name="File Contexts (Type Enforcement)" defStyleNum="dsInformation" spellChecking="false"/> | ||||
943 | <itemData name="Other Keywords" defStyleNum="dsNormal" italic="1" spellChecking="false"/> | 652 | <itemData name="Other Keywords" defStyleNum="dsNormal" italic="1" spellChecking="false"/> | ||
944 | 653 | | |||
945 | <itemData name="IP Address" defStyleNum="dsFloat" spellChecking="false"/> | | |||
946 | <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/> | 654 | <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/> | ||
947 | <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/> | 655 | <itemData name="Hexadecimal" defStyleNum="dsBaseN" spellChecking="false"/> | ||
948 | <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/> | | |||
949 | 656 | | |||
950 | <itemData name="Brackets1" defStyleNum="dsNormal" color="#ff0000" bold="1" /> | 657 | <itemData name="Brackets1" defStyleNum="dsNormal" color="#ff0000" bold="1" /> | ||
951 | <itemData name="Brackets2" defStyleNum="dsNormal" color="#ff8800" bold="1" /> | 658 | <itemData name="Brackets2" defStyleNum="dsNormal" color="#ff8800" bold="1" /> | ||
952 | <itemData name="Brackets3" defStyleNum="dsNormal" color="#888800" bold="1" /> | 659 | <itemData name="Brackets3" defStyleNum="dsNormal" color="#888800" bold="1" /> | ||
953 | <itemData name="Brackets4" defStyleNum="dsNormal" color="#008800" bold="1" /> | 660 | <itemData name="Brackets4" defStyleNum="dsNormal" color="#008800" bold="1" /> | ||
954 | <itemData name="Brackets5" defStyleNum="dsNormal" color="#000088" bold="1" /> | 661 | <itemData name="Brackets5" defStyleNum="dsNormal" color="#000088" bold="1" /> | ||
955 | <itemData name="Brackets6" defStyleNum="dsNormal" color="#880088" bold="1" /> | 662 | <itemData name="Brackets6" defStyleNum="dsNormal" color="#880088" bold="1" /> | ||
956 | 663 | | |||
957 | <itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="false"/> | 664 | <itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="false"/> | ||
958 | <itemData name="Special Char 2" defStyleNum="dsAnnotation" spellChecking="false"/> | 665 | <itemData name="Special Char of Brackets (Paths)" defStyleNum="dsAnnotation" spellChecking="false"/> | ||
959 | <itemData name="Pattern Brackets" defStyleNum="dsSpecialString" spellChecking="false"/> | 666 | <itemData name="RegExp Brackets (Paths)" defStyleNum="dsSpecialString" spellChecking="false"/> | ||
960 | <itemData name="Open Pattern Brackets" defStyleNum="dsSpecialString" underline="1" spellChecking="false"/> | 667 | <itemData name="Open RegExp Brackets (Paths)" defStyleNum="dsSpecialString" underline="1" spellChecking="false"/> | ||
961 | <itemData name="Escape Expression" defStyleNum="dsSpecialChar" spellChecking="false"/> | 668 | <itemData name="Text Quoted Open" defStyleNum="dsString" underline="1" spellChecking="false"/> | ||
669 | | ||||
962 | <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> | 670 | <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> | ||
963 | </itemDatas> | 671 | </itemDatas> | ||
964 | 672 | | |||
965 | </highlighting> | 673 | </highlighting> | ||
966 | 674 | | |||
967 | <general> | 675 | <general> | ||
968 | <keywords casesensitive="true" additionalDeliminator="'"`'" /> | 676 | <keywords casesensitive="true" additionalDeliminator=""'`" weakDeliminator="-"/> | ||
969 | <comments> | 677 | <comments> | ||
970 | <comment name="singleLine" start=";"/> | 678 | <comment name="singleLine" start=";"/> | ||
971 | </comments> | 679 | </comments> | ||
972 | </general> | 680 | </general> | ||
973 | 681 | | |||
974 | </language> | 682 | </language> | ||
683 | <!-- kate: replace-tabs off; tab-width 3; indent-width 3; remove-trailing-spaces mod; dynamic-word-wrap off; --> |