Changeset View
Changeset View
Standalone View
Standalone View
data/syntax/apparmor.xml
Show All 30 Lines | 14 | <!-- | |||
---|---|---|---|---|---|
31 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | 31 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||
32 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | 32 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
33 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | 33 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
34 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | 34 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
35 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 35 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
36 | ========================================================================================== | 36 | ========================================================================================== | ||
37 | 37 | | |||
38 | Last update: | 38 | Last update: | ||
39 | Syntax highlighting based in AppArmor 2.13.0 | 39 | Syntax highlighting based on AppArmor 2.13.2 | ||
40 | For more details about the syntax of AppArmor profiles, visit: | 40 | For more details about the syntax of AppArmor profiles, visit: | ||
41 | https://gitlab.com/apparmor/apparmor/wikis/Documentation | 41 | https://gitlab.com/apparmor/apparmor/wikis/Documentation | ||
42 | http://manpages.ubuntu.com/manpages/cosmic/en/man5/apparmor.d.5.html | 42 | http://manpages.ubuntu.com/manpages/cosmic/en/man5/apparmor.d.5.html | ||
43 | 43 | | |||
44 | Change log: | 44 | Change log: | ||
45 | * Version 8 [02-Apr-2019]: (AppArmor 2.13.2) | ||||
46 | - Do not highlight variable assignments and alias rules within profiles. | ||||
47 | - Add keywords of "tunables/share" variables. | ||||
48 | - Change style of "Other Option" attribute and remove one indentation. | ||||
45 | * Version 7 [15-Sep-2018]: | 49 | * Version 7 [15-Sep-2018]: | ||
46 | - Update itemData's style for the new Solarized color schemes. | 50 | - Update itemData's style for the new Solarized color schemes. | ||
47 | - Fixes in "_end_rule_irnc". | 51 | - Fixes in "_end_rule_irnc". | ||
48 | * Version 6 [24-Jul-2018, by Nibaldo G.]: (AppArmor 2.13.0) | 52 | * Version 6 [24-Jul-2018, by Nibaldo G.]: (AppArmor 2.13.0) | ||
49 | - Fixes for Include rules, add 'if exists'. Fix escapes & globbing in text quoted. | 53 | - Fixes for Include rules, add 'if exists'. Fix escapes & globbing in text quoted. | ||
50 | - Improvements in paths that start with variables, hats, comments and variable | 54 | - Improvements in paths that start with variables, hats, comments and variable | ||
51 | assignments and others. Add some abstractions & filesystems. | 55 | assignments and others. Add some abstractions & filesystems. | ||
52 | * Version 4 [25-Jan-2018, by Nibaldo G.]: (AppArmor 2.12.0) | 56 | * Version 4 [25-Jan-2018, by Nibaldo G.]: (AppArmor 2.12.0) | ||
53 | - New keywords: network and mount rules, default abstractions, variables and others. | 57 | - New keywords: network and mount rules, default abstractions, variables and others. | ||
54 | - Multiple improvements and fixes. | 58 | - Multiple improvements and fixes. | ||
55 | - Do not allow comments within rules and in variable assignment lines. | 59 | - Do not allow comments within rules and in variable assignment lines. | ||
56 | * Version 3 [24-Sep-2017, by Nibaldo G.]: | 60 | * Version 3 [24-Sep-2017, by Nibaldo G.]: | ||
57 | - Fix incorrect highlighting of the DBus rule 'name' keyword. | 61 | - Fix incorrect highlighting of the DBus rule 'name' keyword. | ||
58 | * Version 2 [29-Aug-2017, by Nibaldo G.]: | 62 | * Version 2 [29-Aug-2017, by Nibaldo G.]: | ||
59 | - Improvements in highlighting and bug fixes. | 63 | - Improvements in highlighting and bug fixes. | ||
60 | - Each rule has its own context. | 64 | - Each rule has its own context. | ||
61 | - The profile name is highlighted in the profile header and profile transition rules. | 65 | - The profile name is highlighted in the profile header and profile transition rules. | ||
62 | * Version 1 [22-Feb-2017, by Nibaldo González]: | 66 | * Version 1 [22-Feb-2017, by Nibaldo González]: | ||
63 | - Initial version. Support for profile syntax of Apparmor 2.11. | 67 | - Initial version. Support for profile syntax of Apparmor 2.11. | ||
64 | --> | 68 | --> | ||
65 | 69 | | |||
66 | <language name="AppArmor Security Profile" | 70 | <language name="AppArmor Security Profile" | ||
67 | version="7" | 71 | version="8" | ||
68 | kateversion="5.0" | 72 | kateversion="5.0" | ||
69 | section="Markup" | 73 | section="Markup" | ||
70 | extensions="usr.bin.*;usr.sbin.*;bin.*;sbin.*;usr.lib.*;usr.lib64.*;usr.lib32.*;usr.libx32.*;usr.libexec.*;usr.local.bin.*;usr.local.sbin.*;usr.local.lib*;opt.*;etc.cron.*;snap.*;snap-update-ns.*;snap-confine.*" | 74 | extensions="usr.bin.*;usr.sbin.*;bin.*;sbin.*;usr.lib.*;usr.lib64.*;usr.lib32.*;usr.libx32.*;usr.libexec.*;usr.local.bin.*;usr.local.sbin.*;usr.local.lib*;opt.*;etc.cron.*;snap.*;snap-update-ns.*;snap-confine.*" | ||
71 | priority="0" | 75 | priority="0" | ||
72 | mimetype="" | 76 | mimetype="" | ||
73 | author="Nibaldo González (nibgonz@gmail.com)" | 77 | author="Nibaldo González (nibgonz@gmail.com)" | ||
74 | license="MIT"> | 78 | license="MIT"> | ||
75 | 79 | | |||
▲ Show 20 Lines • Show All 462 Lines • ▼ Show 20 Line(s) | 80 | <highlighting> | |||
538 | </list> | 542 | </list> | ||
539 | 543 | | |||
540 | <!-- Change Profile Rule --> | 544 | <!-- Change Profile Rule --> | ||
541 | <list name="rule_changeprofile"> | 545 | <list name="rule_changeprofile"> | ||
542 | <item>safe</item> | 546 | <item>safe</item> | ||
543 | <item>unsafe</item> | 547 | <item>unsafe</item> | ||
544 | </list> | 548 | </list> | ||
545 | 549 | | |||
550 | <!-- Include Rule --> | ||||
546 | <list name="rule_include"> | 551 | <list name="rule_include"> | ||
547 | <item>if</item> | 552 | <item>if</item> | ||
548 | <item>exists</item> | 553 | <item>exists</item> | ||
549 | </list> | 554 | </list> | ||
550 | 555 | | |||
551 | <!-- Permissions --> | 556 | <!-- Permissions --> | ||
552 | <list name="base_accesses"> | 557 | <list name="base_accesses"> | ||
553 | <item>rw</item> | 558 | <item>rw</item> | ||
Show All 22 Lines | 568 | <list name="default_variables"> | |||
576 | <item>XDG_DESKTOP_DIR</item> | 581 | <item>XDG_DESKTOP_DIR</item> | ||
577 | <item>XDG_DOWNLOAD_DIR</item> | 582 | <item>XDG_DOWNLOAD_DIR</item> | ||
578 | <item>XDG_TEMPLATES_DIR</item> | 583 | <item>XDG_TEMPLATES_DIR</item> | ||
579 | <item>XDG_PUBLICSHARE_DIR</item> | 584 | <item>XDG_PUBLICSHARE_DIR</item> | ||
580 | <item>XDG_DOCUMENTS_DIR</item> | 585 | <item>XDG_DOCUMENTS_DIR</item> | ||
581 | <item>XDG_MUSIC_DIR</item> | 586 | <item>XDG_MUSIC_DIR</item> | ||
582 | <item>XDG_PICTURES_DIR</item> | 587 | <item>XDG_PICTURES_DIR</item> | ||
583 | <item>XDG_VIDEOS_DIR</item> | 588 | <item>XDG_VIDEOS_DIR</item> | ||
589 | <item>flatpak_exports_root</item> | ||||
590 | <item>system_share_dirs</item> | ||||
591 | <item>user_share_dirs</item> | ||||
584 | </list> | 592 | </list> | ||
585 | <list name="default_abstractions"> | 593 | <list name="default_abstractions"> | ||
586 | <item>abstractions/</item> | 594 | <item>abstractions/</item> | ||
587 | <item>apache2-common</item> | 595 | <item>apache2-common</item> | ||
588 | <item>aspell</item> | 596 | <item>aspell</item> | ||
589 | <item>audio</item> | 597 | <item>audio</item> | ||
590 | <item>authentication</item> | 598 | <item>authentication</item> | ||
591 | <item>base</item> | 599 | <item>base</item> | ||
▲ Show 20 Lines • Show All 140 Lines • ▼ Show 20 Line(s) | |||||
732 | </list> | 740 | </list> | ||
733 | 741 | | |||
734 | <!-- Rule Names. | 742 | <!-- Rule Names. | ||
735 | NOTE: | 743 | NOTE: | ||
736 | - Each rule name is a keyword in separate lists, since each | 744 | - Each rule name is a keyword in separate lists, since each | ||
737 | has a different context and for a correct delimitation of the words. | 745 | has a different context and for a correct delimitation of the words. | ||
738 | - The content of a rule is found in the contexts "_default_rule" | 746 | - The content of a rule is found in the contexts "_default_rule" | ||
739 | and "_default_rule_with_comments". | 747 | and "_default_rule_with_comments". | ||
740 | - When adding a new rule, add it also in "_end_rule_irnc". --> | 748 | - When adding a new rule, add it also in "_end_rule_irnc"! --> | ||
741 | <list name="rule_name_mount"> | 749 | <list name="rule_name_mount"> | ||
742 | <item>mount</item> | 750 | <item>mount</item> | ||
743 | <item>remount</item> | 751 | <item>remount</item> | ||
744 | <item>umount</item> | 752 | <item>umount</item> | ||
745 | </list> | 753 | </list> | ||
746 | <list name="rule_name_alias"><item>alias</item></list> | 754 | <list name="rule_name_alias"><item>alias</item></list> | ||
747 | <list name="rule_name_file"><item>file</item></list> | 755 | <list name="rule_name_file"><item>file</item></list> | ||
748 | <list name="rule_name_capability"><item>capability</item></list> | 756 | <list name="rule_name_capability"><item>capability</item></list> | ||
749 | <list name="rule_name_network"><item>network</item></list> | 757 | <list name="rule_name_network"><item>network</item></list> | ||
750 | <list name="rule_name_pivotroot"><item>pivot_root</item></list> | 758 | <list name="rule_name_pivotroot"><item>pivot_root</item></list> | ||
751 | <list name="rule_name_ptrace"><item>ptrace</item></list> | 759 | <list name="rule_name_ptrace"><item>ptrace</item></list> | ||
752 | <list name="rule_name_signal"><item>signal</item></list> | 760 | <list name="rule_name_signal"><item>signal</item></list> | ||
753 | <list name="rule_name_dbus"><item>dbus</item></list> | 761 | <list name="rule_name_dbus"><item>dbus</item></list> | ||
754 | <list name="rule_name_unix"><item>unix</item></list> | 762 | <list name="rule_name_unix"><item>unix</item></list> | ||
755 | <list name="rule_name_link"><item>link</item></list> | 763 | <list name="rule_name_link"><item>link</item></list> | ||
756 | <list name="rule_name_changeprofile"><item>change_profile</item></list> | 764 | <list name="rule_name_changeprofile"><item>change_profile</item></list> | ||
757 | <list name="rule_name_rlimit"><item>rlimit</item></list> | 765 | <list name="rule_name_rlimit"><item>rlimit</item></list> | ||
758 | <list name="rule_name_set"><item>set</item></list> | 766 | <list name="rule_name_set"><item>set</item></list> | ||
759 | 767 | | |||
760 | <!-- AppArmor 2.12.0: Keywords not currently supported: | 768 | <!-- AppArmor 2.12.0: Keywords not currently supported: | ||
761 | if, else, not, defined, other, rewrite, quiet, kill, nokill --> | 769 | if, else, not, defined, other, rewrite, quiet, kill, nokill --> | ||
762 | 770 | | |||
763 | <contexts> | 771 | <contexts> | ||
764 | 772 | | |||
765 | <!-- Profile Content --> | 773 | <context name="_normal" attribute="Normal Text" lineEndContext="#stay"> | ||
766 | <context name="_profile" attribute="Normal Text" lineEndContext="#stay"> | | |||
767 | | ||||
768 | <!-- Header --> | | |||
769 | <keyword context="_profile_name" attribute="Profile Head" String="profile_head"/> | | |||
770 | <RegExpr context="_profile_name" attribute="Profile Head" String="(^|\s)\^(?=\S)"/> | | |||
771 | <keyword context="#stay" attribute="Option" String="profile_options"/> | | |||
772 | | ||||
773 | <!-- Preamble --> | 774 | <!-- Preamble --> | ||
774 | <StringDetect context="_include" attribute="Preprocessor" String="#include" insensitive="true"/> | | |||
775 | <RegExpr context="_include" attribute="Preprocessor" String="(^|\s)include(?=\s)"/> | | |||
776 | <DetectChar context="_comment" attribute="Comment" char="#"/> | | |||
777 | 775 | | |||
778 | <!-- Variable Assignment. | 776 | <!-- Variable Assignment. | ||
779 | NOTE: | 777 | NOTE: | ||
780 | - Variable assignments are not allowed within profiles, but this behavior is not addressed. | 778 | - Variable assignments are not allowed within profiles (when writing assignments within | ||
781 | When writing assignments within profiles, the parser shows an error because it does | 779 | profiles, the parser shows an error because it does not allow + or = after a variable). | ||
782 | not allow + or = after a variable, so there are no conflicts with file rules. | | |||
783 | - [Jul 24, 2018] Variables of type "@VAR" will only be highlighted in assignments, as long | 780 | - [Jul 24, 2018] Variables of type "@VAR" will only be highlighted in assignments, as long | ||
784 | as they are not fully supported (apparently, they will be used in conditional expressions). --> | 781 | as they are not fully supported (apparently, they will be used in conditional expressions). --> | ||
785 | <Detect2Chars context="_variable_assignment" attribute="Variable" char="@" char1="{" lookAhead="true" firstNonSpace="true"/> | 782 | <Detect2Chars context="_variable_assignment" attribute="Variable" char="@" char1="{" lookAhead="true" firstNonSpace="true"/> | ||
786 | <RegExpr context="_variable_assignment_operator" attribute="Variable" String="@&varName;(?=\s*(\+?\=|$|\s#))" firstNonSpace="true"/> | 783 | <RegExpr context="_variable_assignment_operator" attribute="Variable" String="@&varName;(?=\s*(\+?\=|$|\s#))" firstNonSpace="true"/> | ||
787 | <DetectChar context="_variable_assignment_line_general" attribute="Operator 1" char="=" firstNonSpace="true"/> | 784 | <DetectChar context="_variable_assignment_line_general" attribute="Operator 1" char="=" firstNonSpace="true"/> | ||
788 | <Detect2Chars context="_variable_assignment_line" attribute="Operator 1" char="+" char1="=" firstNonSpace="true"/> | 785 | <Detect2Chars context="_variable_assignment_line" attribute="Operator 1" char="+" char1="=" firstNonSpace="true"/> | ||
786 | <!-- Alias rule --> | ||||
787 | <keyword context="_default_rule_with_comments" attribute="Rule" String="rule_name_alias" beginRegion="Rule"/> | ||||
788 | | ||||
789 | <!-- Content of a profile. Allows correct highlighting of abstractions --> | ||||
790 | <IncludeRules context="_default_profile"/> | ||||
791 | </context> | ||||
789 | 792 | | |||
793 | <!-- Profile Content, within { ... } --> | ||||
794 | <context name="_profile" attribute="Normal Text" lineEndContext="#stay"> | ||||
795 | <DetectChar context="#pop" attribute="Operator 1" char="}" endRegion="Profile"/> | ||||
796 | <Detect2Chars context="_variable_assignment_error" attribute="Variable" char="@" char1="{" lookAhead="true" firstNonSpace="true"/> | ||||
797 | <IncludeRules context="_default_profile"/> | ||||
798 | <WordDetect context="#stay" attribute="Error" String="alias"/> <!-- rule_name_alias --> | ||||
799 | </context> | ||||
800 | | ||||
801 | <context name="_default_profile" attribute="Normal Text" lineEndContext="#stay"> | ||||
802 | <!-- Profile Header --> | ||||
803 | <keyword context="_profile_name" attribute="Profile Head" String="profile_head"/> | ||||
804 | <RegExpr context="_profile_name" attribute="Profile Head" String="(^|\s)\^(?=\S)"/> | ||||
805 | <keyword context="#stay" attribute="Option" String="profile_options"/> | ||||
806 | | ||||
807 | <!-- Line Rules --> | ||||
808 | <StringDetect context="_include" attribute="Preprocessor" String="#include" insensitive="true"/> | ||||
809 | <RegExpr context="_include" attribute="Preprocessor" String="(^|\s)include(?=\s)"/> | ||||
810 | <DetectChar context="_comment" attribute="Comment" char="#"/> | ||||
811 | | ||||
812 | <!-- Variables --> | ||||
790 | <Detect2Chars context="_variable" attribute="Variable" char="@" char1="{" lookAhead="true"/> | 813 | <Detect2Chars context="_variable" attribute="Variable" char="@" char1="{" lookAhead="true"/> | ||
791 | <Detect2Chars context="_boolean" attribute="Variable" char="$" char1="{" lookAhead="true"/> | 814 | <Detect2Chars context="_boolean" attribute="Variable" char="$" char1="{" lookAhead="true"/> | ||
792 | <keyword context="#stay" attribute="Other Option" String="boolean" insensitive="true"/> | 815 | <keyword context="#stay" attribute="Other Option" String="boolean" insensitive="true"/> | ||
793 | <RegExpr context="#stay" attribute="Variable" String="\$&varName;(?=[\s\(\)\{\}"@\$#\=\+]|$)"/> | 816 | <RegExpr context="#stay" attribute="Variable" String="\$&varName;(?=[\s\(\)\{\}"@\$#\=\+]|$)"/> | ||
794 | 817 | | |||
795 | <IncludeRules context="_brackets_error"/> | 818 | <!-- Brackets --> | ||
796 | <DetectChar context="#stay" attribute="Operator 1" char="{" beginRegion="Profile"/> | 819 | <IncludeRules context="_brackets_error"/> <!-- {} --> | ||
797 | <DetectChar context="#stay" attribute="Operator 1" char="}" endRegion="Profile"/> | 820 | <DetectChar context="_profile" attribute="Operator 1" char="{" beginRegion="Profile"/> | ||
798 | <DetectChar context="_parentheses_block_profile" attribute="Normal Text" char="("/> | 821 | <DetectChar context="_parentheses_block_profile" attribute="Normal Text" char="("/> | ||
799 | <DetectChar context="_r_square_brackets" attribute="Globbing Brackets" char="["/> | 822 | <DetectChar context="_r_square_brackets" attribute="Globbing Brackets" char="["/> | ||
800 | 823 | | |||
824 | <!-- Rule Qualifiers --> | ||||
801 | <keyword context="#stay" attribute="Access Qualifier" String="access_types"/> | 825 | <keyword context="#stay" attribute="Access Qualifier" String="access_types"/> | ||
802 | <keyword context="#stay" attribute="Qualifier" String="qualifiers"/> | 826 | <keyword context="#stay" attribute="Qualifier" String="qualifiers"/> | ||
803 | <keyword context="#stay" attribute="File Qualifier" String="file_qualifiers"/> | 827 | <keyword context="#stay" attribute="File Qualifier" String="file_qualifiers"/> | ||
804 | 828 | | |||
805 | <!-- Rules --> | 829 | <!-- Rules --> | ||
806 | <keyword context="_rule_file" attribute="Rule" String="rule_name_file" beginRegion="Rule"/> | 830 | <keyword context="_rule_file" attribute="Rule" String="rule_name_file" beginRegion="Rule"/> | ||
807 | <keyword context="_rule_mount" attribute="Rule" String="rule_name_mount" beginRegion="Rule"/> | 831 | <keyword context="_rule_mount" attribute="Rule" String="rule_name_mount" beginRegion="Rule"/> | ||
808 | <keyword context="_default_rule_with_comments" attribute="Rule" String="rule_name_alias" beginRegion="Rule"/> | | |||
809 | <keyword context="_rule_capability" attribute="Rule" String="rule_name_capability" beginRegion="Rule"/> | 832 | <keyword context="_rule_capability" attribute="Rule" String="rule_name_capability" beginRegion="Rule"/> | ||
810 | <keyword context="_rule_network" attribute="Rule" String="rule_name_network" beginRegion="Rule"/> | 833 | <keyword context="_rule_network" attribute="Rule" String="rule_name_network" beginRegion="Rule"/> | ||
811 | <keyword context="_rule_pivotroot" attribute="Rule" String="rule_name_pivotroot" beginRegion="Rule"/> | 834 | <keyword context="_rule_pivotroot" attribute="Rule" String="rule_name_pivotroot" beginRegion="Rule"/> | ||
812 | <keyword context="_rule_ptrace" attribute="Rule" String="rule_name_ptrace" beginRegion="Rule"/> | 835 | <keyword context="_rule_ptrace" attribute="Rule" String="rule_name_ptrace" beginRegion="Rule"/> | ||
813 | <keyword context="_rule_signal" attribute="Rule" String="rule_name_signal" beginRegion="Rule"/> | 836 | <keyword context="_rule_signal" attribute="Rule" String="rule_name_signal" beginRegion="Rule"/> | ||
814 | <keyword context="_rule_dbus" attribute="Rule" String="rule_name_dbus" beginRegion="Rule"/> | 837 | <keyword context="_rule_dbus" attribute="Rule" String="rule_name_dbus" beginRegion="Rule"/> | ||
815 | <keyword context="_rule_unix" attribute="Rule" String="rule_name_unix" beginRegion="Rule"/> | 838 | <keyword context="_rule_unix" attribute="Rule" String="rule_name_unix" beginRegion="Rule"/> | ||
816 | <keyword context="_rule_link" attribute="Rule" String="rule_name_link" beginRegion="Rule"/> | 839 | <keyword context="_rule_link" attribute="Rule" String="rule_name_link" beginRegion="Rule"/> | ||
817 | <keyword context="_rule_changeprofile" attribute="Rule" String="rule_name_changeprofile" beginRegion="Rule"/> | 840 | <keyword context="_rule_changeprofile" attribute="Rule" String="rule_name_changeprofile" beginRegion="Rule"/> | ||
818 | <keyword context="_rule_rlimit" attribute="Rule Error" String="rule_name_rlimit" beginRegion="Rule"/> <!-- set rlimit --> | 841 | <keyword context="_rule_rlimit" attribute="Rule Error" String="rule_name_rlimit" beginRegion="Rule"/> <!-- set rlimit --> | ||
819 | <keyword context="_rule_set" attribute="Rule" String="rule_name_set"/> | 842 | <keyword context="_rule_set" attribute="Rule" String="rule_name_set"/> | ||
820 | 843 | | |||
844 | <!-- Paths, text in quotes, file permissions and others --> | ||||
821 | <IncludeRules context="_operators"/> | 845 | <IncludeRules context="_operators"/> | ||
822 | <IncludeRules context="_find_path"/> | 846 | <IncludeRules context="_find_path"/> | ||
823 | <IncludeRules context="_find_text_quoted"/> | 847 | <IncludeRules context="_find_text_quoted"/> | ||
824 | <IncludeRules context="_file_rule_permissions"/> | 848 | <IncludeRules context="_file_rule_permissions"/> | ||
825 | <keyword context="#stay" String="default_variables"/> | 849 | <keyword context="#stay" String="default_variables"/> | ||
826 | </context> | 850 | </context> | ||
827 | 851 | | |||
828 | <!-- Within rules and blocks of parentheses --> | 852 | <!-- Within rules and blocks of parentheses --> | ||
829 | <context name="_common" attribute="Normal Text" lineEndContext="#stay"> | 853 | <context name="_common" attribute="Normal Text" lineEndContext="#stay"> | ||
830 | <StringDetect context="#stay" attribute="Error" String="#include" insensitive="true"/> | 854 | <StringDetect context="#stay" attribute="Error" String="#include" insensitive="true"/> | ||
831 | <RegExpr context="#stay" attribute="Error" String="include(?=\s)" firstNonSpace="true"/> | 855 | <RegExpr context="#stay" attribute="Error" String="include(?=\s)" firstNonSpace="true"/> | ||
832 | <IncludeRules context="_brackets_error"/> | 856 | <IncludeRules context="_brackets_error"/> | ||
833 | 857 | | |||
834 | <IncludeRules context="_operators"/> | 858 | <IncludeRules context="_operators"/> | ||
835 | <IncludeRules context="_find_text_quoted"/> | 859 | <IncludeRules context="_find_text_quoted"/> | ||
836 | <keyword context="#stay" attribute="Other Data" String="other_words" insensitive="true"/> | 860 | <keyword context="#stay" attribute="Other Data" String="other_words" insensitive="true"/> | ||
837 | <keyword context="#stay" attribute="Other Data" String="boolean" insensitive="true"/> | 861 | <keyword context="#stay" attribute="Other Data" String="boolean" insensitive="true"/> | ||
838 | </context> | 862 | </context> | ||
839 | 863 | | |||
864 | <!-- Comment --> | ||||
840 | <context name="_comment" attribute="Comment" lineEndContext="#pop"> | 865 | <context name="_comment" attribute="Comment" lineEndContext="#pop"> | ||
841 | <LineContinue context="#pop" attribute="Comment"/> | | |||
842 | <DetectSpaces /> | 866 | <DetectSpaces /> | ||
867 | <LineContinue context="#pop" attribute="Comment"/> | ||||
843 | <IncludeRules context="##Alerts"/> | 868 | <IncludeRules context="##Alerts"/> | ||
844 | <IncludeRules context="##Modelines"/> | 869 | <IncludeRules context="##Modelines"/> | ||
845 | <!-- URL --> | 870 | <!-- URL --> | ||
846 | <RegExpr context="#stay" attribute="URL in Comment" String="\bhttps?://[^\s<>"'`]*[^\s<>"'`\}\)\]\.,;\|]"/> | 871 | <RegExpr context="#stay" attribute="URL in Comment" String="\bhttps?://[^\s<>"'`]*[^\s<>"'`\}\)\]\.,;\|]"/> | ||
847 | <!-- Email (Source: http://emailregex.com) --> | 872 | <!-- Email (Source: http://emailregex.com) --> | ||
848 | <RegExpr context="#stay" attribute="URL in Comment" String="(([^<>\(\)\[\]\\\.,;:\s@"]+(\.[^<>\(\)\[\]\\\.,;:\s@"]+)*)|("[^"]+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}])|(([a-zA-Z\-\d]+\.)+[a-zA-Z]{2,}))\b"/> | 873 | <RegExpr context="#stay" attribute="URL in Comment" String="(([^<>\(\)\[\]\\\.,;:\s@"]+(\.[^<>\(\)\[\]\\\.,;:\s@"]+)*)|("[^"]+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}])|(([a-zA-Z\-\d]+\.)+[a-zA-Z]{2,}))\b"/> | ||
849 | </context> | 874 | </context> | ||
850 | 875 | | |||
▲ Show 20 Lines • Show All 110 Lines • ▼ Show 20 Line(s) | |||||
961 | <context name="_comment_variable_assignment_line" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | 986 | <context name="_comment_variable_assignment_line" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||
962 | <DetectChar context="#pop" attribute="Error" char="#"/> | 987 | <DetectChar context="#pop" attribute="Error" char="#"/> | ||
963 | </context> | 988 | </context> | ||
964 | <context name="_variable_assignment_line_general" attribute="Path" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!_variable_assignment_line"> | 989 | <context name="_variable_assignment_line_general" attribute="Path" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!_variable_assignment_line"> | ||
965 | <keyword context="#pop!_variable_assignment_line" attribute="Other Option" String="boolean" insensitive="true"/> | 990 | <keyword context="#pop!_variable_assignment_line" attribute="Other Option" String="boolean" insensitive="true"/> | ||
966 | <DetectSpaces context="#stay"/> | 991 | <DetectSpaces context="#stay"/> | ||
967 | </context> | 992 | </context> | ||
968 | 993 | | |||
994 | <!-- Within the profiles, highlight as "Error" the operators of variable assignment (= and +=) --> | ||||
995 | <context name="_variable_assignment_error" attribute="Variable" lineEndContext="#pop"> | ||||
996 | <RegExpr context="#pop!_variable_assignment_error_operator" attribute="Variable" String="&variable;"/> | ||||
997 | <DetectChar context="#pop" attribute="Error" char="@"/> | ||||
998 | </context> | ||||
999 | <context name="_variable_assignment_error_operator" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!_find_path_after_variable"> | ||||
1000 | <DetectChar context="#pop!_find_path_after_variable" attribute="Error" char="="/> | ||||
1001 | <Detect2Chars context="#pop!_find_path_after_variable" attribute="Error" char="+" char1="="/> | ||||
1002 | <RegExpr context="#pop!_variable_assignment_error_operator_after_spaces" String="\s+(?=\+?\=)"/> | ||||
1003 | </context> | ||||
1004 | <context name="_variable_assignment_error_operator_after_spaces" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
1005 | <DetectChar context="#pop" attribute="Error" char="="/> | ||||
1006 | <Detect2Chars context="#pop" attribute="Error" char="+" char1="="/> | ||||
1007 | </context> | ||||
1008 | | ||||
969 | <!-- ${BOOLEAN} --> | 1009 | <!-- ${BOOLEAN} --> | ||
970 | <context name="_boolean" attribute="Variable" lineEndContext="#pop"> | 1010 | <context name="_boolean" attribute="Variable" lineEndContext="#pop"> | ||
971 | <RegExpr context="#pop" attribute="Variable" String="\$\{&varName;\}"/> | 1011 | <RegExpr context="#pop" attribute="Variable" String="\$\{&varName;\}"/> | ||
972 | <DetectChar context="#pop" attribute="Error" char="$"/> | 1012 | <DetectChar context="#pop" attribute="Error" char="$"/> | ||
973 | </context> | 1013 | </context> | ||
974 | 1014 | | |||
975 | <!-- Access Modes / File Permissions --> | 1015 | <!-- Access Modes / File Permissions --> | ||
976 | <context name="_permissions" attribute="Normal Text" lineEndContext="#stay"> | 1016 | <context name="_permissions" attribute="Normal Text" lineEndContext="#stay"> | ||
▲ Show 20 Lines • Show All 216 Lines • ▼ Show 20 Line(s) | |||||
1193 | <!-- File Rule --> | 1233 | <!-- File Rule --> | ||
1194 | <context name="_rule_file" attribute="Normal Text" lineEndContext="#stay"> | 1234 | <context name="_rule_file" attribute="Normal Text" lineEndContext="#stay"> | ||
1195 | <Detect2Chars context="#pop!_profile_transition" attribute="Operator 2" char="-" char1=">"/> | 1235 | <Detect2Chars context="#pop!_profile_transition" attribute="Operator 2" char="-" char1=">"/> | ||
1196 | <IncludeRules context="_default_rule_with_comments"/> | 1236 | <IncludeRules context="_default_rule_with_comments"/> | ||
1197 | <IncludeRules context="_permissions"/> | 1237 | <IncludeRules context="_permissions"/> | ||
1198 | </context> | 1238 | </context> | ||
1199 | 1239 | | |||
1200 | <!-- Profile Transition: | 1240 | <!-- Profile Transition: | ||
1201 | Highlight the profile name in File Rule (Execute Mode) and Change Profile Rule. --> | 1241 | Highlight the profile name in File Rules (Execute Mode) and Change Profile Rules. --> | ||
1202 | <context name="_profile_transition" attribute="Transition Profile Name" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> | 1242 | <context name="_profile_transition" attribute="Transition Profile Name" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> | ||
1203 | <DetectSpaces context="#stay" attribute="Normal Text"/> | 1243 | <DetectSpaces context="#stay" attribute="Normal Text"/> | ||
1204 | <!-- Not highlighting paths and paths quoted --> | 1244 | <!-- Not highlighting paths and paths quoted --> | ||
1205 | <RegExpr context="#pop!_default_rule_with_comments" attribute="Path" String="([^\s/\[\\]|//|\\.|\[([^\s\]\\]|\\.)*\])*/($|[^/])" lookAhead="true"/> | 1245 | <RegExpr context="#pop!_default_rule_with_comments" attribute="Path" String="([^\s/\[\\]|//|\\.|\[([^\s\]\\]|\\.)*\])*/($|[^/])" lookAhead="true"/> | ||
1206 | <RegExpr context="#pop!_default_rule_with_comments" attribute="Normal Text" String=""([^/"\[\\]|//|\\.|\[([^"\]\\]|\\.)*\])*/($|[^/])" lookAhead="true"/> | 1246 | <RegExpr context="#pop!_default_rule_with_comments" attribute="Normal Text" String=""([^/"\[\\]|//|\\.|\[([^"\]\\]|\\.)*\])*/($|[^/])" lookAhead="true"/> | ||
1207 | 1247 | | |||
1208 | <DetectChar context="#pop!_t_profile_name_quoted" attribute="Transition Profile Name" char="""/> | 1248 | <DetectChar context="#pop!_t_profile_name_quoted" attribute="Transition Profile Name" char="""/> | ||
1209 | <RegExpr context="#pop!_profile_transition_content" attribute="Normal Text" String="[^\s/]" lookAhead="true"/> <!-- First word --> | 1249 | <RegExpr context="#pop!_profile_transition_content" attribute="Normal Text" String="[^\s/]" lookAhead="true"/> <!-- First word --> | ||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Line(s) | 1292 | <context name="_hat_path_parentheses_content" attribute="SubProfile/Hat" lineEndContext="#pop"> | |||
1253 | <DetectChar context="#pop" char="," lookAhead="true"/> <!-- End Path --> | 1293 | <DetectChar context="#pop" char="," lookAhead="true"/> <!-- End Path --> | ||
1254 | <IncludeRules context="_default_path"/> | 1294 | <IncludeRules context="_default_path"/> | ||
1255 | </context> | 1295 | </context> | ||
1256 | <context name="_hat_path_quoted_content" attribute="SubProfile/Hat" lineEndContext="#pop"> | 1296 | <context name="_hat_path_quoted_content" attribute="SubProfile/Hat" lineEndContext="#pop"> | ||
1257 | <DetectChar context="#pop" char=""" lookAhead="true"/> | 1297 | <DetectChar context="#pop" char=""" lookAhead="true"/> | ||
1258 | <IncludeRules context="_default_quoted"/> | 1298 | <IncludeRules context="_default_quoted"/> | ||
1259 | </context> | 1299 | </context> | ||
1260 | 1300 | | |||
1261 | <!-- Parentheses Block: ( ) --> | 1301 | <!-- Parentheses Block: ( ) | ||
1302 | NOTE: Here special contexts are used for paths, strings and brackets. The "," character acts as a delimiter. --> | ||||
1262 | <context name="_common_parentheses_block" attribute="Normal Text" lineEndContext="#stay"> | 1303 | <context name="_common_parentheses_block" attribute="Normal Text" lineEndContext="#stay"> | ||
1263 | <DetectChar context="#pop" attribute="Normal Text" char=")"/> | 1304 | <DetectChar context="#pop" attribute="Normal Text" char=")"/> | ||
1264 | <!-- Highlight as path the text after the '=' operator, except keywords or simple words ([\w\-\+]+) --> | 1305 | <!-- Highlight as path the text after the '=' operator, except keywords or simple words ([\w\-\+]+) --> | ||
1265 | <RegExpr context="#stay" attribute="Error" String="\=(?=\s*($|[,\)]))"/> | 1306 | <RegExpr context="#stay" attribute="Error" String="\=(?=\s*($|[,\)]))"/> | ||
1266 | <RegExpr context="_parentheses_path_content" attribute="Operator 1" String="\=\s*(?=[^\s"\(\),]*[^&noPathChar;\]\}\=\w\+\-\(,])"/> | 1307 | <RegExpr context="_parentheses_path_content" attribute="Operator 1" String="\=\s*(?=[^\s"\(\),]*[^&noPathChar;\]\}\=\w\+\-\(,])"/> | ||
1267 | <DetectChar context="_parentheses_path_content" attribute="Path" char="/" lookAhead="true"/> | 1308 | <DetectChar context="_parentheses_path_content" attribute="Path" char="/" lookAhead="true"/> | ||
1268 | <Detect2Chars context="_parentheses_variable" attribute="Variable" char="@" char1="{" lookAhead="true"/> | 1309 | <Detect2Chars context="_parentheses_variable" attribute="Variable" char="@" char1="{" lookAhead="true"/> | ||
1269 | 1310 | | |||
Show All 26 Lines | |||||
1296 | <context name="_end_rule_irnc" attribute="Normal Text" lineEndContext="#stay"> | 1337 | <context name="_end_rule_irnc" attribute="Normal Text" lineEndContext="#stay"> | ||
1297 | <keyword String="profile_head" context="#pop!_profile_name" attribute="Profile Head Error" firstNonSpace="true" endRegion="Rule"/> | 1338 | <keyword String="profile_head" context="#pop!_profile_name" attribute="Profile Head Error" firstNonSpace="true" endRegion="Rule"/> | ||
1298 | <keyword String="access_types" context="#pop" attribute="Access Qualifier Error" firstNonSpace="true" endRegion="Rule"/> | 1339 | <keyword String="access_types" context="#pop" attribute="Access Qualifier Error" firstNonSpace="true" endRegion="Rule"/> | ||
1299 | <keyword String="qualifiers" context="#pop" attribute="Qualifier Error" firstNonSpace="true" endRegion="Rule"/> | 1340 | <keyword String="qualifiers" context="#pop" attribute="Qualifier Error" firstNonSpace="true" endRegion="Rule"/> | ||
1300 | <keyword String="file_qualifiers" context="#pop" attribute="File Qualifier Error" firstNonSpace="true" endRegion="Rule"/> | 1341 | <keyword String="file_qualifiers" context="#pop" attribute="File Qualifier Error" firstNonSpace="true" endRegion="Rule"/> | ||
1301 | <RegExpr String="set(?=\s+rlimit\b)" context="#pop" attribute="Rule Error" firstNonSpace="true" endRegion="Rule"/> | 1342 | <RegExpr String="set(?=\s+rlimit\b)" context="#pop" attribute="Rule Error" firstNonSpace="true" endRegion="Rule"/> | ||
1302 | 1343 | | |||
1303 | <keyword String="rule_name_file" context="#pop!_rule_file" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1344 | <keyword String="rule_name_file" context="#pop!_rule_file" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1304 | <keyword String="rule_name_alias" context="#pop!_default_rule_with_comments" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | | |||
1305 | <keyword String="rule_name_capability" context="#pop!_rule_capability" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1345 | <keyword String="rule_name_capability" context="#pop!_rule_capability" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1306 | <keyword String="rule_name_network" context="#pop!_rule_network" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1346 | <keyword String="rule_name_network" context="#pop!_rule_network" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1307 | <keyword String="rule_name_pivotroot" context="#pop!_rule_pivotroot" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1347 | <keyword String="rule_name_pivotroot" context="#pop!_rule_pivotroot" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1308 | <keyword String="rule_name_ptrace" context="#pop!_rule_ptrace" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1348 | <keyword String="rule_name_ptrace" context="#pop!_rule_ptrace" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1309 | <keyword String="rule_name_signal" context="#pop!_rule_signal" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1349 | <keyword String="rule_name_signal" context="#pop!_rule_signal" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1310 | <keyword String="rule_name_dbus" context="#pop!_rule_dbus" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1350 | <keyword String="rule_name_dbus" context="#pop!_rule_dbus" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1311 | <keyword String="rule_name_link" context="#pop!_rule_link" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1351 | <keyword String="rule_name_link" context="#pop!_rule_link" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1312 | <keyword String="rule_name_changeprofile" context="#pop!_rule_changeprofile" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1352 | <keyword String="rule_name_changeprofile" context="#pop!_rule_changeprofile" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1313 | <keyword String="rule_name_rlimit" context="#pop!_rule_rlimit" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1353 | <keyword String="rule_name_rlimit" context="#pop!_rule_rlimit" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1314 | <!-- This must be at the end of each rule context, to avoid replacing the 'unix' & 'remount' keywords | 1354 | <!-- This must be at the end of each rule context, to avoid replacing the 'unix' & 'remount' keywords | ||
1315 | ('unix' is also a domain of the network rule; 'remount' is also a flag of the mount rule). --> | 1355 | ('unix' is also a domain of the network rule; 'remount' is also a flag of the mount rule). --> | ||
1316 | <keyword String="rule_name_mount" context="#pop!_rule_mount" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1356 | <keyword String="rule_name_mount" context="#pop!_rule_mount" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1317 | <keyword String="rule_name_unix" context="#pop!_rule_unix" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | 1357 | <keyword String="rule_name_unix" context="#pop!_rule_unix" attribute="Rule Error" firstNonSpace="true" endRegion="Rule" beginRegion="Rule"/> | ||
1358 | | ||||
1359 | <WordDetect String="alias" context="#stay" attribute="Error" firstNonSpace="true"/> <!-- Keywords list: rule_name_alias --> | ||||
1318 | </context> | 1360 | </context> | ||
1319 | <!-- For blocks of parentheses within rules (the same keywords as "_end_rule_irnc"!) --> | 1361 | <!-- For blocks of parentheses within rules (the same keywords as "_end_rule_irnc"!) --> | ||
1320 | <context name="_end_rule_irnc_parentheses_rule" attribute="Normal Text" lineEndContext="#stay"> | 1362 | <context name="_end_rule_irnc_parentheses_rule" attribute="Normal Text" lineEndContext="#stay"> | ||
1321 | <keyword String="profile_head" context="#pop" attribute="Profile Head Error" lookAhead="true" firstNonSpace="true"/> | 1363 | <keyword String="profile_head" context="#pop" attribute="Profile Head Error" lookAhead="true" firstNonSpace="true"/> | ||
1322 | <keyword String="access_types" context="#pop" attribute="Access Qualifier Error" lookAhead="true" firstNonSpace="true"/> | 1364 | <keyword String="access_types" context="#pop" attribute="Access Qualifier Error" lookAhead="true" firstNonSpace="true"/> | ||
1323 | <keyword String="qualifiers" context="#pop" attribute="Qualifier Error" lookAhead="true" firstNonSpace="true"/> | 1365 | <keyword String="qualifiers" context="#pop" attribute="Qualifier Error" lookAhead="true" firstNonSpace="true"/> | ||
1324 | <keyword String="file_qualifiers" context="#pop" attribute="File Qualifier Error" lookAhead="true" firstNonSpace="true"/> | 1366 | <keyword String="file_qualifiers" context="#pop" attribute="File Qualifier Error" lookAhead="true" firstNonSpace="true"/> | ||
1325 | <RegExpr String="set(?=\s+rlimit\b)" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1367 | <RegExpr String="set(?=\s+rlimit\b)" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1326 | <keyword String="rule_name_file" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1368 | <keyword String="rule_name_file" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1327 | <keyword String="rule_name_alias" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | | |||
1328 | <keyword String="rule_name_capability" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1369 | <keyword String="rule_name_capability" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1329 | <keyword String="rule_name_network" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1370 | <keyword String="rule_name_network" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1330 | <keyword String="rule_name_pivotroot" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1371 | <keyword String="rule_name_pivotroot" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1331 | <keyword String="rule_name_ptrace" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1372 | <keyword String="rule_name_ptrace" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1332 | <keyword String="rule_name_signal" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1373 | <keyword String="rule_name_signal" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1333 | <keyword String="rule_name_dbus" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1374 | <keyword String="rule_name_dbus" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1334 | <keyword String="rule_name_link" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1375 | <keyword String="rule_name_link" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1335 | <keyword String="rule_name_changeprofile" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1376 | <keyword String="rule_name_changeprofile" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1336 | <keyword String="rule_name_rlimit" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1377 | <keyword String="rule_name_rlimit" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1337 | <!-- Keep at the end to avoid conflicts! --> | 1378 | <!-- Keep at the end to avoid conflicts! --> | ||
1338 | <keyword String="rule_name_mount" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1379 | <keyword String="rule_name_mount" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1339 | <keyword String="rule_name_unix" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | 1380 | <keyword String="rule_name_unix" context="#pop" attribute="Rule Error" lookAhead="true" firstNonSpace="true"/> | ||
1381 | | ||||
1382 | <WordDetect String="alias" context="#stay" attribute="Error" firstNonSpace="true"/> <!-- Keywords list: rule_name_alias --> | ||||
1340 | </context> | 1383 | </context> | ||
1341 | 1384 | | |||
1342 | <!-- Paths & File Globals --> | 1385 | <!-- Paths & File Globals --> | ||
1343 | 1386 | | |||
1344 | <context name="_find_path" attribute="Normal Text" lineEndContext="#stay"> | 1387 | <context name="_find_path" attribute="Normal Text" lineEndContext="#stay"> | ||
1345 | <DetectChar context="_path_content" attribute="Path" char="/" lookAhead="true"/> | 1388 | <DetectChar context="_path_content" attribute="Path" char="/" lookAhead="true"/> | ||
1346 | <RegExpr context="_path_content" String=":([^:&noPathChar;\(\\]|\\.)+:" lookAhead="true"/> <!-- :namespace: --> | 1389 | <RegExpr context="_path_content" String=":([^:&noPathChar;\(\\]|\\.)+:" lookAhead="true"/> <!-- :namespace: --> | ||
1347 | </context> | 1390 | </context> | ||
▲ Show 20 Lines • Show All 158 Lines • ▼ Show 20 Line(s) | 1535 | <itemDatas> | |||
1506 | <itemData name="Access Qualifier" defStyleNum="dsWarning" bold="1" underline="0" spellChecking="false"/> | 1549 | <itemData name="Access Qualifier" defStyleNum="dsWarning" bold="1" underline="0" spellChecking="false"/> | ||
1507 | <itemData name="File Qualifier" defStyleNum="dsVariable" bold="1" underline="0" spellChecking="false"/> | 1550 | <itemData name="File Qualifier" defStyleNum="dsVariable" bold="1" underline="0" spellChecking="false"/> | ||
1508 | <itemData name="Rule" defStyleNum="dsVariable" bold="1" underline="0" spellChecking="false"/> | 1551 | <itemData name="Rule" defStyleNum="dsVariable" bold="1" underline="0" spellChecking="false"/> | ||
1509 | <itemData name="Data" defStyleNum="dsVariable" bold="0" spellChecking="false"/> | 1552 | <itemData name="Data" defStyleNum="dsVariable" bold="0" spellChecking="false"/> | ||
1510 | <itemData name="Other Data" defStyleNum="dsNormal" bold="0" italic="1" spellChecking="false"/> | 1553 | <itemData name="Other Data" defStyleNum="dsNormal" bold="0" italic="1" spellChecking="false"/> | ||
1511 | <itemData name="Permissions" defStyleNum="dsNormal" bold="1" spellChecking="false"/> | 1554 | <itemData name="Permissions" defStyleNum="dsNormal" bold="1" spellChecking="false"/> | ||
1512 | 1555 | | |||
1513 | <itemData name="Option" defStyleNum="dsOthers" bold="0" spellChecking="false"/> | 1556 | <itemData name="Option" defStyleNum="dsOthers" bold="0" spellChecking="false"/> | ||
1514 | <itemData name="Other Option" defStyleNum="dsDataType" bold="0" spellChecking="false"/> | 1557 | <itemData name="Other Option" defStyleNum="dsAttribute" bold="0" spellChecking="false"/> | ||
1515 | <itemData name="Flags" defStyleNum="dsVerbatimString" spellChecking="false"/> | 1558 | <itemData name="Flags" defStyleNum="dsVerbatimString" spellChecking="false"/> | ||
1516 | <itemData name="SubProfile/Hat" defStyleNum="dsAnnotation" bold="0" spellChecking="false"/> | 1559 | <itemData name="SubProfile/Hat" defStyleNum="dsAnnotation" bold="0" spellChecking="false"/> | ||
1517 | <itemData name="SubProfile/Hat Operator" defStyleNum="dsAnnotation" bold="1" spellChecking="false"/> | 1560 | <itemData name="SubProfile/Hat Operator" defStyleNum="dsAnnotation" bold="1" spellChecking="false"/> | ||
1518 | <itemData name="Operator 1" defStyleNum="dsOperator" spellChecking="false"/> | 1561 | <itemData name="Operator 1" defStyleNum="dsOperator" spellChecking="false"/> | ||
1519 | <itemData name="Operator 2" defStyleNum="dsWarning" bold="1" spellChecking="false"/> | 1562 | <itemData name="Operator 2" defStyleNum="dsWarning" bold="1" spellChecking="false"/> | ||
1520 | <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/> | 1563 | <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/> | ||
1521 | <itemData name="Numerical Unit" defStyleNum="dsDecVal" bold="1" spellChecking="false"/> | 1564 | <itemData name="Numerical Unit" defStyleNum="dsDecVal" bold="1" spellChecking="false"/> | ||
1522 | <itemData name="End of Rule Char" defStyleNum="dsNormal" spellChecking="false"/> | 1565 | <itemData name="End of Rule Char" defStyleNum="dsNormal" spellChecking="false"/> | ||
Show All 33 Lines |