1394 lines
75 KiB
XML
1394 lines
75 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language
|
|
[
|
|
<!ENTITY n "[A-Za-z0-9_-]">
|
|
<!ENTITY n1 "[A-Za-z0-9_/.-]">
|
|
<!ENTITY tristateConst "[nmy](?!(&n;|\$))">
|
|
<!ENTITY badCom "[^ \t#$A-Za-z0-9_"']">
|
|
<!ENTITY badParam "[^ \t$#A-Za-z0-9_/."'&<>\|\(\)!=-]">
|
|
<!ENTITY tab "( ? ? ? ? ? ? ?\t| )">
|
|
]>
|
|
|
|
<!--
|
|
Kate Kconfig highlighting definition
|
|
|
|
This is for Kconfig files of LKC (LinuxKernelConf), the configuration system
|
|
that is in use by and maintained with the Linux Kernel since release 2.5.45,
|
|
i.e. in particular throughout all 2.6 release series and the 5.x releases so far
|
|
(up to 5.14 as of this writing).
|
|
|
|
There have been several minor syntax modifications since Linux Kernel 2.5.45,
|
|
and it is likely that there will be more in the future.
|
|
|
|
When it comes to details, the language of LKC is extremely complicated. At the
|
|
same time this definition aims to be precise. As a result it is rather long and
|
|
you may notice increased CPU usage when opening large files, depending on
|
|
your hardware.
|
|
|
|
There are other projects that use the same configuration system:
|
|
busybox (http://busybox.net/), uClibc (http://www.uclibc.org/),
|
|
OpenWrt (https://openwrt.org/) and many more. Of course you can use this
|
|
definition also for those configuration files, but be aware that the versions of
|
|
LKC in those projects may be highly outdated. Sporadically you can even find
|
|
project specific syntax modifications that have never been part of upstream LKC.
|
|
|
|
If you are interested in the standalone configuration system (e.g. for your own
|
|
project) stripped from the Linux kernel, take a look at kconfig-frontends
|
|
(https://gitlab.com/ymorin/kconfig-frontends).
|
|
|
|
Newer changes in the configuration language:
|
|
|
|
2.6.18:
|
|
- add "option" for config blocks (first options: "modules" and "defconfig_list")
|
|
2.6.24:
|
|
- remove "requires" (synonymous for "depends on", hardly ever used)
|
|
- remove "depends" (without "on", also synonymous for "depends on", was rare)
|
|
- remove "def_boolean" (synonymous for "def_bool", hardly ever used)
|
|
2.6.25:
|
|
- add option "env=..." to import values of environment variables
|
|
- remove "enable" property (you have probably never seen this one)
|
|
2.6.26
|
|
- add named choice groups like "choice FOO" (hardly ever seen, buggy, avoid it)
|
|
2.6.37:
|
|
- reduce "mainmenu" to occur only as first statement
|
|
- add "visible if" property to menus
|
|
3.15:
|
|
- add option "allnoconfig_yes"
|
|
4.2:
|
|
- add <=, >=, <, > operators
|
|
4.10:
|
|
- add "imply"
|
|
4.16:
|
|
- remove "boolean" type in favor of "bool" only (deprecated here)
|
|
4.18:
|
|
- remove option "env" (deprecated here)
|
|
- add Makefile style environment variables to quoted strings and symbols
|
|
- add Makefile style function calls to quoted strings and symbols
|
|
5.0:
|
|
- prohibit dot "." and slash "/" in unquoted strings (deprecated here)
|
|
- limit symbol options per option property to one (never seen more - dropped)
|
|
- restrict choice options to the types bool and tristate, i.e. remove string,
|
|
int and hex (they do not make much sense for choice, deprecated here)
|
|
5.6:
|
|
- remove all unquoted strings except for symbols (deprecated here)
|
|
5.8:
|
|
- reduce the permitted statements in choice blocks to config, comment
|
|
and if (deprecated here)
|
|
5.9:
|
|
- remove triple-dash enclosed "help" property (deprecated here)
|
|
5.13:
|
|
- remove "allnoconfig_yes" option introduced in 3.15 (deprecated here)
|
|
- remove "defconfig_list" option introduced in 2.6.18 (deprecated here)
|
|
- promote "modules" option to a standalone property
|
|
- remove "option" keyword introduced in 2.6.18 (deprecated here)
|
|
-->
|
|
|
|
<language name="Kconfig" section="Configuration" extensions="Kconfig*;Config.*" version="12" kateversion="5.74" casesensitive="true" priority="-9" author="Martin Walch (walch.martin@web.de)" license="GPLv3">
|
|
|
|
<highlighting>
|
|
<list name="choice_type">
|
|
<item>bool</item>
|
|
<item>tristate</item>
|
|
</list>
|
|
|
|
<list name="choice_type_deprecated">
|
|
<item>boolean</item>
|
|
</list>
|
|
|
|
<list name="choice_bad_type">
|
|
<item>string</item>
|
|
<item>int</item>
|
|
<item>hex</item>
|
|
</list>
|
|
|
|
<list name="def_type">
|
|
<item>def_bool</item>
|
|
<item>def_tristate</item>
|
|
</list>
|
|
|
|
<list name="type">
|
|
<item>bool</item>
|
|
<item>tristate</item>
|
|
<item>string</item>
|
|
<item>int</item>
|
|
<item>hex</item>
|
|
</list>
|
|
|
|
<list name="type_deprecated">
|
|
<item>boolean</item>
|
|
</list>
|
|
|
|
<list name="config">
|
|
<item>config</item>
|
|
<item>menuconfig</item>
|
|
</list>
|
|
|
|
<list name="entry">
|
|
<item>if</item>
|
|
<item>comment</item>
|
|
<item>config</item>
|
|
<item>menuconfig</item>
|
|
<item>source</item>
|
|
</list>
|
|
|
|
<list name="keyword">
|
|
<item>bool</item>
|
|
<item>choice</item>
|
|
<item>comment</item>
|
|
<item>config</item>
|
|
<item>def_bool</item>
|
|
<item>def_tristate</item>
|
|
<item>default</item>
|
|
<item>depends</item>
|
|
<item>endchoice</item>
|
|
<item>endif</item>
|
|
<item>endmenu</item>
|
|
<item>help</item>
|
|
<item>hex</item>
|
|
<item>if</item>
|
|
<item>imply</item>
|
|
<item>int</item>
|
|
<item>mainmenu</item>
|
|
<item>menu</item>
|
|
<item>menuconfig</item>
|
|
<item>modules</item>
|
|
<item>on</item>
|
|
<item>optional</item>
|
|
<item>prompt</item>
|
|
<item>range</item>
|
|
<item>select</item>
|
|
<item>source</item>
|
|
<item>string</item>
|
|
<item>tristate</item>
|
|
<item>visible</item>
|
|
</list>
|
|
|
|
<list name="entry_keyword">
|
|
<item>choice</item>
|
|
<item>comment</item>
|
|
<item>config</item>
|
|
<item>endchoice</item>
|
|
<item>endif</item>
|
|
<item>endmenu</item>
|
|
<item>if</item>
|
|
<item>menu</item>
|
|
<item>menuconfig</item>
|
|
<item>source</item>
|
|
</list>
|
|
|
|
<list name="option">
|
|
<item>modules</item>
|
|
</list>
|
|
|
|
<list name="option_deprecated">
|
|
<item>allnoconfig_y</item>
|
|
<item>defconfig_list</item>
|
|
</list>
|
|
|
|
<list name="tristate_const">
|
|
<item>n</item>
|
|
<item>m</item>
|
|
<item>y</item>
|
|
</list>
|
|
|
|
<list name="builtin_function">
|
|
<item>error-if</item>
|
|
<item>filename</item>
|
|
<item>info</item>
|
|
<item>lineno</item>
|
|
<item>shell</item>
|
|
<item>warning-if</item>
|
|
</list>
|
|
|
|
<list name="questionable_identifier">
|
|
<item>allnoconfig_y</item>
|
|
<item>boolean</item>
|
|
<item>defconfig_list</item>
|
|
<item>option</item>
|
|
</list>
|
|
|
|
<contexts>
|
|
<context name="input" attribute="Plain" lineEndContext="#stay" fallthroughContext="#pop!stmt_list">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="mainmenu" attribute="Keyword" context="mainmenuPrompt" />
|
|
</context>
|
|
|
|
<context name="mainmenuPrompt" attribute="Plain" lineEndContext="#pop!stmt_list.error" fallthroughContext="#pop!stmt_list.error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Quoted Mainmenu Prompt" context="#pop!stmt_list.nl.SQMainmenuPrompt" />
|
|
<DetectChar char=""" attribute="Quoted Mainmenu Prompt" context="#pop!stmt_list.nl.DQMainmenuPrompt" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Mainmenu Prompt" context="#pop!stmt_list.nl" />
|
|
</context>
|
|
|
|
<context name="stmt_list.nl.SQMainmenuPrompt" attribute="Quoted Mainmenu Prompt" lineEndContext="#pop!stmt_list.error">
|
|
<IncludeRules context="expansionAndEscape" />
|
|
<DetectChar char="'" attribute="Quoted Mainmenu Prompt" context="#pop!stmt_list.nl" />
|
|
<RegExpr String="\$&n;+" attribute="Deprecated Expansion" context="#stay" />
|
|
</context>
|
|
|
|
<context name="stmt_list.nl.DQMainmenuPrompt" attribute="Quoted Mainmenu Prompt" lineEndContext="#pop!stmt_list.error">
|
|
<DetectChar char=""" attribute="Quoted Mainmenu Prompt" context="#pop!stmt_list.nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
<RegExpr String="\$&n;+" attribute="Deprecated Expansion" context="#stay" />
|
|
</context>
|
|
|
|
<context name="stmt_list.nl" attribute="Plain" lineEndContext="#pop!stmt_list" fallthroughContext="#pop!stmt_list.error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<!-- Mainmenu over -->
|
|
|
|
<context name="source_stmt" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Quoted Source String" context="#pop!nl.SQStringSource" />
|
|
<DetectChar char=""" attribute="Quoted Source String" context="#pop!nl.DQStringSource" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Source String" context="#pop" />
|
|
</context>
|
|
|
|
<context name="nl.SQStringSource" attribute="Quoted Source String" lineEndContext="stmt_list.error">
|
|
<DetectChar char="'" attribute="Quoted Source String" context="#pop!nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
<RegExpr String="\$&n;+" attribute="Deprecated Expansion" context="#stay" />
|
|
</context>
|
|
|
|
<context name="nl.DQStringSource" attribute="Quoted Source String" lineEndContext="stmt_list.error">
|
|
<DetectChar char=""" attribute="Quoted Source String" context="#pop!nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
<RegExpr String="\$&n;+" attribute="Deprecated Expansion" context="#stay" />
|
|
</context>
|
|
|
|
<context name="choice_entry" attribute="Plain" lineEndContext="#pop!choice_option_list" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<RegExpr String="(&n;|\$)+(?!&n1;)" lookAhead="true" context="#pop!choice_option_list.nl.expandableIdentifier" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Variable Symbol" context="#pop!choice_option_list.nl" />
|
|
</context>
|
|
|
|
<context name="choice_option_list.nl.expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop!choice_option_list" fallthroughContext="#pop!error">
|
|
<IncludeRules context="expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="choice_option_list.nl" attribute="Plain" lineEndContext="#pop!choice_option_list" fallthroughContext="#pop!choice_option_list.error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="choice_option_list" attribute="Plain" lineEndContext="#stay" fallthroughContext="error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="prompt" attribute="Property" context="ifOpt.prompt" />
|
|
<keyword String="choice_type" attribute="Type" context="ifOpt.prompt_stmt_opt" />
|
|
<keyword String="choice_type_deprecated" attribute="Deprecated Type" context="ifOpt.prompt_stmt_opt" />
|
|
<keyword String="choice_bad_type" attribute="Deprecated Bad Choice Type" context="ifOpt.prompt_stmt_opt" />
|
|
<WordDetect String="optional" attribute="Property" context="nl" />
|
|
<WordDetect String="default" attribute="Property" context="ifOpt.symbolVar" />
|
|
<WordDetect String="depends" attribute="Property" context="depends" />
|
|
<WordDetect String="help" attribute="Property" beginRegion="help" context="helpEntry" />
|
|
<StringDetect String="---help---" attribute="Deprecated Property" beginRegion="help" context="helpEntry" />
|
|
<keyword String="entry" lookAhead="true" context="#pop!choice_block" />
|
|
<WordDetect String="endchoice" attribute="Keyword" endRegion="choice_stmt" context="#pop!nl" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
</context>
|
|
|
|
<context name="choice_block" attribute="Plain" lineEndContext="#stay" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="common_stmt" />
|
|
<WordDetect String="endchoice" attribute="Keyword" endRegion="choice_stmt" context="#pop!nl" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
</context>
|
|
|
|
<context name="depends" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<WordDetect String="on" attribute="Property" context="#pop!nl.expr" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="ifOpt.prompt_stmt_opt" attribute="Plain" lineEndContext="#pop">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!ifOpt.SQPrompt" />
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!ifOpt.DQPrompt" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Prompt" context="#pop!ifOpt" />
|
|
</context>
|
|
|
|
<context name="ifOpt" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<WordDetect String="if" attribute="Keyword" context="#pop!nl.expr" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="nl" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="ifOpt.prompt" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!ifOpt.SQPrompt" />
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!ifOpt.DQPrompt" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Prompt" context="#pop!ifOpt" />
|
|
</context>
|
|
|
|
<context name="ifOpt.SQPrompt" attribute="Quoted Prompt" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!ifOpt" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="ifOpt.DQPrompt" attribute="Quoted Prompt" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!ifOpt" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="menu_visList.nl.SQPrompt" attribute="Quoted Prompt" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!menu_visList.nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="menu_visList.nl.DQPrompt" attribute="Quoted Prompt" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!menu_visList.nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="comment_stmt.nl.prompt" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!comment_stmt.nl.SQPrompt" />
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!comment_stmt.nl.DQPrompt" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Prompt" context="#pop!comment_stmt.nl" />
|
|
</context>
|
|
|
|
<context name="comment_stmt.nl.SQPrompt" attribute="Quoted Prompt" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!comment_stmt.nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="comment_stmt.nl.DQPrompt" attribute="Quoted Prompt" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!comment_stmt.nl" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="comment_stmt.nl" attribute="Plain" lineEndContext="#pop!comment_stmt" fallthroughContext="error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="comment_stmt" attribute="Plain" lineEndContext="#stay" fallthroughContext="error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="depends" attribute="Property" context="depends" />
|
|
<keyword String="entry_keyword" lookAhead="true" endRegion="comment_stmt" context="#pop" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
<RegExpr String="." lookAhead="true" endRegion="config_stmt" context="#pop" />
|
|
</context>
|
|
|
|
<context name="config_entry_start" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<RegExpr String="(&n;|\$)+(?!&n1;)" lookAhead="true" context="#pop!config_option_list.nl.expandableIdentifier" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Variable Symbol" context="#pop!config_option_list.nl" />
|
|
</context>
|
|
|
|
<context name="config_option_list.nl.expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop!config_option_list" fallthroughContext="#pop!config_option_list.nl">
|
|
<IncludeRules context="expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="config_option_list.nl" attribute="Plain" lineEndContext="#pop!config_option_list" fallthroughContext="#pop!config_option_list.error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="config_option_list" attribute="Plain" lineEndContext="#stay">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="prompt" attribute="Property" context="ifOpt.prompt" />
|
|
<keyword String="type" attribute="Type" context="ifOpt.prompt_stmt_opt" />
|
|
<keyword String="type_deprecated" attribute="Deprecated Type" context="ifOpt.prompt_stmt_opt" />
|
|
<WordDetect String="default" attribute="Property" context="ifOpt.expr" />
|
|
<keyword String="def_type" lookAhead="true" context="ifOpt.expr.type" />
|
|
<WordDetect String="depends" attribute="Property" context="depends" />
|
|
<WordDetect String="select" attribute="Property" context="ifOpt.symbolVar" />
|
|
<WordDetect String="imply" attribute="Property" context="ifOpt.symbolVar" />
|
|
<WordDetect String="range" attribute="Property" context="range" />
|
|
<WordDetect String="help" attribute="Property" beginRegion="help" context="helpEntry" />
|
|
<StringDetect String="---help---" attribute="Deprecated Property" beginRegion="help" context="helpEntry" />
|
|
<WordDetect String="option" attribute="Deprecated Keyword" context="option" />
|
|
<WordDetect String="modules" attribute="Property" context="nl" />
|
|
<keyword String="entry_keyword" lookAhead="true" endRegion="config_stmt" context="#pop" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
<RegExpr String="." lookAhead="true" endRegion="config_stmt" context="#pop" />
|
|
</context>
|
|
|
|
<context name="ifOpt.expr.type" attribute="Plain" lineEndContext="#pop!error">
|
|
<StringDetect String="def_" attribute="Property" context="#stay" />
|
|
<StringDetect String="bool" attribute="Type" context="#pop!ifOpt.expr" />
|
|
<StringDetect String="tristate" attribute="Type" context="#pop!ifOpt.expr" />
|
|
</context>
|
|
|
|
<context name="option" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<keyword String="option" attribute="Option" context="optionWithoutValue" />
|
|
<keyword String="option_deprecated" attribute="Deprecated Option" context="optionWithoutValue" />
|
|
<WordDetect String="env" attribute="Deprecated Option" context="optionValue.eq" />
|
|
<RegExpr String="&n;+(?!&n1;)" attribute="Unknown Option" context="optionValue.eq" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unknown Option String" context="optionValue.eq" />
|
|
</context>
|
|
|
|
<context name="optionValue.eq" attribute="Deprecated Option" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="=" attribute="Deprecated Option: Equals Sign" context="#pop!optionValue" />
|
|
</context>
|
|
|
|
<context name="optionWithoutValue" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<DetectSpaces />
|
|
</context>
|
|
|
|
<context name="SQStringOptionValue" attribute="Deprecated Quoted Option Value" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Deprecated Quoted Option Value" context="#pop" />
|
|
<DetectChar char="\" lookAhead="true" context="escapeInDeprecatedString" />
|
|
</context>
|
|
|
|
<context name="DQStringOptionValue" attribute="Deprecated Quoted Option Value" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Deprecated Quoted Option Value" context="#pop" />
|
|
<DetectChar char="\" lookAhead="true" context="escapeInDeprecatedString" />
|
|
</context>
|
|
|
|
<context name="optionValue" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Deprecated Quoted Option Value" context="#pop!SQStringOptionValue" />
|
|
<DetectChar char=""" attribute="Deprecated Quoted Option Value" context="#pop!DQStringOptionValue" />
|
|
<RegExpr String="&n;+(?!&n1;)" attribute="Deprecated Unquoted Option Value" context="#pop" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Option Value String" context="#pop" />
|
|
</context>
|
|
|
|
<context name="ifOpt.expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop" fallthroughContext="#pop!ifOpt">
|
|
<IncludeRules context="expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="ifOpt.symbolVar" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<RegExpr String="&tristateConst;" attribute="Bad Tristate Constant" context="#pop!ifOpt.binOpOrEnd" />
|
|
<RegExpr String="(&n;|\$)" lookAhead="true" context="#pop!ifOpt.expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="range" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!ifOpt.sym.SQSymbolConst" />
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!ifOpt.sym.DQSymbolConst" />
|
|
<RegExpr String="&n;+(?!&n1;)" attribute="Variable Symbol" context="#pop!ifOpt.sym" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Variable Symbol" context="#pop!ifOpt.sym" />
|
|
</context>
|
|
|
|
<context name="ifOpt.sym" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!ifOpt.SQSymbolConst" />
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!ifOpt.DQSymbolConst" />
|
|
<RegExpr String="&n;+(?!&n1;)" attribute="Variable Symbol" context="#pop!ifOpt" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Variable Symbol" context="#pop!ifOpt" />
|
|
</context>
|
|
|
|
<context name="ifOpt.sym.SQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!ifOpt.sym" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="ifOpt.sym.DQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!ifOpt.sym" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="ifOpt.SQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!ifOpt" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="ifOpt.DQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!ifOpt" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="menu_entry" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<DetectChar char="'" attribute="Quoted Prompt" context="#pop!menu_visList.nl.SQPrompt" />
|
|
<DetectChar char=""" attribute="Quoted Prompt" context="#pop!menu_visList.nl.DQPrompt" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Unquoted Prompt" context="#pop!menu_visList.nl" />
|
|
</context>
|
|
|
|
<context name="menu_visList.nl" attribute="Plain" lineEndContext="#pop!menu_visList" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="menu_visList" attribute="Plain" lineEndContext="#stay" fallthroughContext="#pop!menu_depList">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="visible" attribute="Property" context="visible" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
</context>
|
|
|
|
<context name="visible" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="if" attribute="Property" context="#pop!nl.expr" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="menu_depList" attribute="Plain" lineEndContext="#stay" fallthroughContext="#pop!menu_stmt">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="depends" attribute="Property" context="depends" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
</context>
|
|
|
|
<context name="menu_stmt" attribute="Plain" lineEndContext="#stay" fallthroughContext="error">
|
|
<WordDetect String="endmenu" attribute="Keyword" endRegion="menu_stmt" context="#pop!nl" />
|
|
<IncludeRules context="stmt_list" />
|
|
</context>
|
|
|
|
<context name="if_stmt" attribute="Plain" lineEndContext="#stay">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="endif" attribute="Keyword" endRegion="if_stmt" context="#pop" />
|
|
<IncludeRules context="stmt_list" />
|
|
</context>
|
|
|
|
<context name="nl.assign_val" attribute="Assignment Value" lineEndContext="#pop">
|
|
<IncludeRules context="expansion" />
|
|
<RegExpr String="(&n;|(\$(?!\()))+" context="#stay" />
|
|
</context>
|
|
|
|
<context name="nl.assign_val.wsOpt" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!nl.assign_val">
|
|
<DetectSpaces />
|
|
</context>
|
|
|
|
<context name="nl.assign_val.wsOpt.assign_op" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<RegExpr String="[+:]?=" attribute="Assignment Operator" context="#pop!nl.assign_val.wsOpt" />
|
|
</context>
|
|
|
|
<context name="assignment" attribute="Variable" lineEndContext="#pop" fallthroughContext="#pop!nl.assign_val.wsOpt.assign_op">
|
|
<keyword String="questionable_identifier" attribute="Deprecated Identifier" context="#pop!nl.assign_val.wsOpt.assign_op" />
|
|
<IncludeRules context="expandableIdentifier" includeAttrib="false" />
|
|
</context>
|
|
|
|
<context name="stmt_list" attribute="Plain" lineEndContext="#stay" fallthroughContext="error">
|
|
<IncludeRules context="common_stmt" />
|
|
<WordDetect String="choice" attribute="Keyword" beginRegion="choice_stmt" context="choice_entry" />
|
|
<WordDetect String="menu" attribute="Keyword" beginRegion="menu_stmt" context="menu_entry" />
|
|
<keyword String="keyword" context="error" />
|
|
<IncludeRules context="ignoreBadComChars" />
|
|
<RegExpr String="(&n;|\$)" lookAhead="true" context="assignment" />
|
|
</context>
|
|
|
|
<context name="choice_option_list.error" attribute="Error" lineEndContext="#pop!choice_option_list" />
|
|
<context name="config_option_list.error" attribute="Error" lineEndContext="#pop!config_option_list" />
|
|
<context name="stmt_list.error" attribute="Error" lineEndContext="#pop!stmt_list" />
|
|
<context name="error" attribute="Error" lineEndContext="#pop" />
|
|
|
|
<!-- expressions -->
|
|
<context name="nl.expr" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<Detect2Chars char="(" char1=")" lookAhead="true" context="#pop!nl.emptyParenthesesInstance" />
|
|
<DetectChar char="(" attribute="Expression Operator" beginRegion="parentheses" context="#pop!nl.parenthesesInstance" />
|
|
<DetectChar char="!" attribute="Expression Operator" context="#stay" />
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!nl.binOpOrEnd.SQSymbolConst" />
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!nl.binOpOrEnd.DQSymbolConst" />
|
|
<keyword String="keyword" context="#pop!error" />
|
|
<keyword String="tristate_const" attribute="Tristate Constant" context="#pop!nl.binOpOrEnd" />
|
|
<RegExpr String="(&n;|\$)+(?!&n1;)" lookAhead="true" context="#pop!nl.binOpOrEnd.expandableIdentifier" />
|
|
<RegExpr String="&n1;+" attribute="Deprecated Variable Symbol" context="#pop!nl.binOpOrEnd" />
|
|
</context>
|
|
|
|
<context name="nl.binOpOrEnd.expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop" fallthroughContext="#pop!nl.binOpOrEnd">
|
|
<IncludeRules context="expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="nl.emptyParenthesesInstance" attribute="Plain" lineEndContext="#stay">
|
|
<DetectChar char="(" attribute="Expression Operator" context="#pop!error" />
|
|
</context>
|
|
|
|
<context name="nl.binOpOrEnd" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<DetectChar char=")" lookAhead="true" context="#pop" />
|
|
<Detect2Chars char="&" char1="&" attribute="Expression Operator" context="#pop!nl.expr" />
|
|
<Detect2Chars char="|" char1="|" attribute="Expression Operator" context="#pop!nl.expr" />
|
|
<Detect2Chars char="!" char1="=" attribute="Expression Operator" context="#pop!nl.expr" />
|
|
<Detect2Chars char="<" char1="=" attribute="Expression Operator" context="#pop!nl.expr" />
|
|
<Detect2Chars char=">" char1="=" attribute="Expression Operator" context="#pop!nl.expr" />
|
|
<AnyChar String="=<>" attribute="Expression Operator" context="#pop!nl.expr" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="nl.binOpOrEnd.SQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!nl.binOpOrEnd" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="nl.binOpOrEnd.DQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!nl.binOpOrEnd" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="ifOpt.expr" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<Detect2Chars char="(" char1=")" lookAhead="true" context="#pop!nl.emptyParenthesesInstance" />
|
|
<DetectChar char="(" attribute="Expression Operator" beginRegion="parentheses" context="#pop!ifOpt.parenthesesInstance" />
|
|
<DetectChar char="!" context="#stay" />
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!ifOpt.binOpOrEnd.SQSymbolConst" />
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!ifOpt.binOpOrEnd.DQSymbolConst" />
|
|
<keyword String="keyword" attribute="Error" context="#pop!error" />
|
|
<RegExpr String="&tristateConst;" attribute="Tristate Constant" context="#pop!ifOpt.binOpOrEnd" />
|
|
<RegExpr String="(&n;|\$)" lookAhead="true" context="#pop!ifOpt.binOpOrEnd.expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="ifOpt.binOpOrEnd.expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop" fallthroughContext="#pop!ifOpt.binOpOrEnd">
|
|
<IncludeRules context="expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="ifOpt.binOpOrEnd" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop!ifOpt">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<DetectChar char=")" lookAhead="true" context="#pop" />
|
|
<Detect2Chars char="&" char1="&" attribute="Expression Operator" context="#pop!ifOpt.expr" />
|
|
<Detect2Chars char="|" char1="|" attribute="Expression Operator" context="#pop!ifOpt.expr" />
|
|
<Detect2Chars char="!" char1="=" attribute="Expression Operator" context="#pop!ifOpt.expr" />
|
|
<Detect2Chars char="<" char1="=" attribute="Expression Operator" context="#pop!ifOpt.expr" />
|
|
<Detect2Chars char=">" char1="=" attribute="Expression Operator" context="#pop!ifOpt.expr" />
|
|
<AnyChar String="=<>" attribute="Expression Operator" context="#pop!ifOpt.expr" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="ifOpt.binOpOrEnd.SQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!ifOpt.binOpOrEnd" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="ifOpt.binOpOrEnd.DQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!ifOpt.binOpOrEnd" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="if_stmt.nl.expr" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<Detect2Chars char="(" char1=")" lookAhead="true" context="#pop!nl.emptyParenthesesInstance" />
|
|
<DetectChar char="(" attribute="Expression Operator" beginRegion="parentheses" context="#pop!if_stmt.nl.parenthesesInstance" />
|
|
<DetectChar char="!" context="#stay" />
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!if_stmt.nl.binOpOrEnd.SQSymbolConst" />
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!if_stmt.nl.binOpOrEnd.DQSymbolConst" />
|
|
<keyword String="keyword" context="#pop!error" />
|
|
<RegExpr String="&tristateConst;" attribute="Tristate Constant" context="#pop!if_stmt.nl.binOpOrEnd" />
|
|
<RegExpr String="(&n;|\$)" lookAhead="true" context="#pop!if_stmt.nl.binOpOrEnd.expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="if_stmt.nl.binOpOrEnd.expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop!if_stmt" fallthroughContext="#pop!if_stmt.nl.binOpOrEnd">
|
|
<IncludeRules context="expandableIdentifier" />
|
|
</context>
|
|
|
|
<context name="if_stmt.nl.binOpOrEnd" attribute="Plain" lineEndContext="#pop!if_stmt" fallthroughContext="#pop!nl">
|
|
<IncludeRules context="wsOrComment" />
|
|
<LineContinue context="#stay" />
|
|
<DetectChar char=")" lookAhead="true" context="#pop" />
|
|
<Detect2Chars char="&" char1="&" attribute="Expression Operator" context="#pop!if_stmt.nl.expr" />
|
|
<Detect2Chars char="|" char1="|" attribute="Expression Operator" context="#pop!if_stmt.nl.expr" />
|
|
<DetectChar char="=" attribute="Expression Operator" context="#pop!if_stmt.nl.expr" />
|
|
<Detect2Chars char="!" char1="=" attribute="Expression Operator" context="#pop!if_stmt.nl.expr" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="escapeInDeprecatedString" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop">
|
|
<RegExpr String="\\." attribute="Deprecated Escaped Character" context="#pop" />
|
|
</context>
|
|
|
|
<context name="escape" attribute="Plain" lineEndContext="#pop" fallthroughContext="#pop">
|
|
<RegExpr String="\\." attribute="Escaped Character" context="#pop" />
|
|
</context>
|
|
|
|
<context name="if_stmt.nl.binOpOrEnd.SQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char="'" attribute="Constant Symbol" context="#pop!if_stmt.nl.binOpOrEnd" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="if_stmt.nl.binOpOrEnd.DQSymbolConst" attribute="Constant Symbol" lineEndContext="#pop!error">
|
|
<DetectChar char=""" attribute="Constant Symbol" context="#pop!if_stmt.nl.binOpOrEnd" />
|
|
<IncludeRules context="expansionAndEscape" />
|
|
</context>
|
|
|
|
<context name="nl.parenthesesInstance" attribute="Plain" lineEndContext="#stay" fallthroughContext="nl.expr">
|
|
<DetectChar char=")" attribute="Expression Operator" endRegion="parentheses" context="#pop!nl.binOpOrEnd" />
|
|
</context>
|
|
|
|
<context name="ifOpt.parenthesesInstance" attribute="Plain" lineEndContext="#stay" fallthroughContext="ifOpt.expr">
|
|
<DetectChar char=")" attribute="Expression Operator" endRegion="parentheses" context="#pop!ifOpt.binOpOrEnd" />
|
|
</context>
|
|
|
|
<context name="if_stmt.nl.parenthesesInstance" attribute="Plain" lineEndContext="#stay" fallthroughContext="nl.expr">
|
|
<DetectChar char=")" attribute="Expression Operator" endRegion="parentheses" context="#pop!if_stmt.nl.binOpOrEnd" />
|
|
</context>
|
|
|
|
<context name="parenthesesInExpansion" attribute="Expansion" lineEndContext="#pop">
|
|
<IncludeRules context="expansion" />
|
|
<DetectChar char="(" attribute="Expansion" context="parenthesesInExpansion" />
|
|
<DetectChar char=")" attribute="Expansion" context="#pop" />
|
|
</context>
|
|
|
|
<context name="expansionArgumentsAndEnd" attribute="Expansion" lineEndContext="#pop!error">
|
|
<IncludeRules context="expansion" />
|
|
<DetectChar char="(" attribute="Expansion" context="parenthesesInExpansion" />
|
|
<DetectChar char="," attribute="Argument Separator" context="#stay" />
|
|
<DetectChar char=")" attribute="Expansion Delimiter" context="#pop" />
|
|
</context>
|
|
|
|
<context name="expansionArgumentsAndEnd.functionOrVariableName" attribute="Expansion" lineEndContext="#pop!error" fallthroughContext="#pop!expansionArgumentsAndEnd">
|
|
<keyword String="builtin_function" attribute="Builtin Function" context="#pop!expansionArgumentsAndEnd" />
|
|
<IncludeRules context="expansion" />
|
|
<RegExpr String="(&n;|(\$(?!\()))+" context="#pop!expansionArgumentsAndEnd" />
|
|
</context>
|
|
|
|
<!-- help texts
|
|
This is ugly: indentation may be a mixture of
|
|
tabs and spaces. There is a minimum indentation
|
|
for the non-blank lines (i.e. lines that do not
|
|
contain only tabs and spaces) of a help text. If
|
|
a non-blank line falls below that minimum, that
|
|
line does not belong to the help text and the
|
|
help text ends.
|
|
This minimum is set by the first non-blank line
|
|
after "help". If the first line immediately
|
|
after the "help" line is non-blank, but not
|
|
indented, then the second non-blank line is
|
|
considered to determine indentation. If that
|
|
line also has no indentation, the help text
|
|
ends on that second line.
|
|
|
|
One tab corresponds to eight spaces.
|
|
|
|
As indentation may arbitrarily switch between
|
|
tabs and spaces it is perfectly OK to have e.g.
|
|
- first line: 8 spaces
|
|
- second line: 1 tab
|
|
- third line: 4 spaces, 1 tab
|
|
|
|
Tabs are aligned, so this is valid, too:
|
|
- first line: 6 spaces, 1 tab
|
|
- second line: 1 tab
|
|
|
|
Storing the reference indentation length is
|
|
hardly possible. The "dynamic" attribute does
|
|
not fit here, because each line may have a
|
|
different combination of tabs and spaces.
|
|
Instead just be pragmatic and add contexts for
|
|
any indentation length from 1 to 80.
|
|
|
|
80 should cover even any exotic useful case:
|
|
In the field, we hardly encounter more initial
|
|
indentation than 2 tabs (i.e. 16 spaces).
|
|
The Linux kernel has a line length policy that
|
|
can be summarized as
|
|
"do not exceed 80 chars without a good reason"
|
|
-->
|
|
<context name="helpEntry" attribute="Help Text" lineEndContext="#pop!helpTextFirstLine" fallthroughContext="#pop!error">
|
|
<IncludeRules context="wsOrComment" />
|
|
<IncludeRules context="ignoreBadParamChars" />
|
|
</context>
|
|
|
|
<context name="helpTextFirstLine" attribute="Help Text" lineEmptyContext="#pop!helpDetectIndentation" lineEndContext="#stay" fallthroughContext="#pop!error">
|
|
<RegExpr String="^([^ \t].*|[ \t]*)$" column="0" attribute="Help Text" context="#pop!helpDetectIndentation" />
|
|
<IncludeRules context="helpDetectIndentation" />
|
|
</context>
|
|
|
|
<context name="helpDetectIndentation" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<RegExpr String="^[ \t]*$" column="0" context="#stay" />
|
|
<RegExpr String="^(&tab;){10}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent80" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent79" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent78" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent77" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent76" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent75" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent74" />
|
|
<RegExpr String="^(&tab;){9} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent73" />
|
|
<RegExpr String="^(&tab;){9}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent72" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent71" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent70" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent69" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent68" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent67" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent66" />
|
|
<RegExpr String="^(&tab;){8} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent65" />
|
|
<RegExpr String="^(&tab;){8}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent64" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent63" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent62" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent61" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent60" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent59" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent58" />
|
|
<RegExpr String="^(&tab;){7} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent57" />
|
|
<RegExpr String="^(&tab;){7}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent56" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent55" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent54" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent53" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent52" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent51" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent50" />
|
|
<RegExpr String="^(&tab;){6} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent49" />
|
|
<RegExpr String="^(&tab;){6}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent48" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent47" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent46" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent45" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent44" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent43" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent42" />
|
|
<RegExpr String="^(&tab;){5} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent41" />
|
|
<RegExpr String="^(&tab;){5}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent40" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent39" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent38" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent37" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent36" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent35" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent34" />
|
|
<RegExpr String="^(&tab;){4} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent33" />
|
|
<RegExpr String="^(&tab;){4}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent32" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent31" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent30" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent29" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent28" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent27" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent26" />
|
|
<RegExpr String="^(&tab;){3} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent25" />
|
|
<RegExpr String="^(&tab;){3}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent24" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent23" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent22" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent21" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent20" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent19" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent18" />
|
|
<RegExpr String="^(&tab;){2} (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent17" />
|
|
<RegExpr String="^(&tab;){2}(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent16" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent15" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent14" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent13" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent12" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent11" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent10" />
|
|
<RegExpr String="^&tab; (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent9" />
|
|
<RegExpr String="^&tab;(?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent8" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent7" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent6" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent5" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent4" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent3" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent2" />
|
|
<RegExpr String="^ (?![ \t])" column="0" lookAhead="true" context="#pop!helpIndent1" />
|
|
</context>
|
|
|
|
<context name="endHelp" attribute="Help Text" lineEndContext="#stay">
|
|
<DetectSpaces attribute="Help Text" context="#stay" />
|
|
<DetectChar char="#" lookAhead="true" endRegion="help" context="#pop!lineComment" />
|
|
<keyword String="keyword" lookAhead="true" endRegion="help" context="#pop" />
|
|
<RegExpr String="." lookAhead="true" endRegion="help" context="#pop!error" />
|
|
</context>
|
|
|
|
<context name="helpText" attribute="Help Text" lineEndContext="#pop">
|
|
<DetectChar char="<" attribute="Help Text" context="maybeLink" />
|
|
</context>
|
|
|
|
<context name="maybeLink" attribute="Link" lineEndContext="#pop" fallthroughContext="#pop">
|
|
<RegExpr String="[^>]+:[^>]+(?>)" attribute="Link" context="#pop" />
|
|
</context>
|
|
|
|
<context name="helpEatWsLine" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop">
|
|
<RegExpr String="^( |\t)*$" column="0" attribute="Help Text" context="#stay" />
|
|
</context>
|
|
|
|
<context name="helpIndent1" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent2" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent3" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent4" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent5" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent6" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent7" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent8" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent9" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent10" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent11" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent12" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent13" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent14" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent15" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^&tab;( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent16" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent17" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent18" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent19" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent20" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent21" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent22" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent23" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){2}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent24" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent25" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent26" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent27" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent28" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent29" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent30" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent31" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){3}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent32" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent33" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent34" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent35" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent36" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent37" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent38" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent39" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){4}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent40" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent41" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent42" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent43" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent44" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent45" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent46" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent47" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){5}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent48" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent49" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent50" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent51" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent52" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent53" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent54" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent55" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){6}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent56" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent57" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent58" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent59" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent60" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent61" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent62" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent63" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){7}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent64" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent65" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent66" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent67" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent68" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent69" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent70" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent71" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){8}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent72" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent73" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent74" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent75" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent76" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent77" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent78" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent79" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){9}( |\t)" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<context name="helpIndent80" attribute="Help Text" lineEndContext="#stay" fallthroughContext="#pop!endHelp">
|
|
<IncludeRules context="helpEatWsLine" />
|
|
<RegExpr String="^(&tab;){10}" column="0" attribute="Help Text" context="helpText" />
|
|
</context>
|
|
|
|
<!-- only as included rules -->
|
|
<context name="common_stmt" attribute="Plain" lineEndContext="#pop!error" fallthroughContext="#pop">
|
|
<IncludeRules context="wsOrComment" />
|
|
<WordDetect String="if" attribute="Keyword" beginRegion="if_stmt" context="if_stmt.nl.expr" />
|
|
<WordDetect String="comment" attribute="Keyword" beginRegion="comment_stmt" context="comment_stmt.nl.prompt" />
|
|
<keyword String="config" attribute="Keyword" beginRegion="config_stmt" context="config_entry_start" />
|
|
<WordDetect String="source" attribute="Source" context="source_stmt" />
|
|
</context>
|
|
|
|
<context name="expandableIdentifier" attribute="Variable Symbol" lineEndContext="#pop" fallthroughContext="#pop">
|
|
<IncludeRules context="expansion" />
|
|
<RegExpr String="(&n;|(\$(?!\()))+" context="#stay" />
|
|
</context>
|
|
|
|
<context name="expansion" attribute="Expansion" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<Detect2Chars char="$" char1="(" attribute="Expansion Delimiter" context="expansionArgumentsAndEnd.functionOrVariableName" />
|
|
</context>
|
|
|
|
<context name="expansionAndEscape" attribute="Expansion" lineEndContext="#pop!error" fallthroughContext="#pop!error">
|
|
<DetectChar char="\" lookAhead="true" context="escape" />
|
|
<Detect2Chars char="$" char1="(" attribute="Expansion Delimiter" context="expansionArgumentsAndEnd.functionOrVariableName" />
|
|
</context>
|
|
|
|
<context name="wsOrComment" attribute="Plain" lineEndContext="#stay">
|
|
<DetectSpaces />
|
|
<DetectChar char="#" lookAhead="true" context="lineComment" />
|
|
</context>
|
|
|
|
<context name="ignoreBadComChars" attribute="Bad Character" lineEndContext="#stay">
|
|
<RegExpr String="&badCom;+" attribute="Bad Character" context="#stay" />
|
|
</context>
|
|
|
|
<context name="ignoreBadParamChars" attribute="Bad Character" lineEndContext="#stay">
|
|
<RegExpr String="&badParam;+" attribute="Bad Character" context="#stay" />
|
|
</context>
|
|
|
|
<context name="lineComment" attribute="Comment" lineEndContext="#pop">
|
|
<DetectSpaces />
|
|
<IncludeRules context="##Comments" />
|
|
</context>
|
|
</contexts>
|
|
<itemDatas>
|
|
<itemData name="Argument Separator" defStyleNum="dsKeyword" spellChecking="false" />
|
|
<itemData name="Assignment Operator" defStyleNum="dsChar" spellChecking="false" />
|
|
<itemData name="Assignment Value" defStyleNum="dsString" spellChecking="false" />
|
|
<itemData name="Bad Character" defStyleNum="dsAlert" spellChecking="false" />
|
|
<itemData name="Bad Tristate Constant" defStyleNum="dsAlert" spellChecking="false" />
|
|
<itemData name="Builtin Function" defStyleNum="dsBuiltIn" spellChecking="false" />
|
|
<itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
|
|
<itemData name="Constant Symbol" defStyleNum="dsString" spellChecking="false" />
|
|
<itemData name="Deprecated Bad Choice Type" defStyleNum="dsAlert" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Escaped Character" defStyleNum="dsSpecialChar" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Expansion" defStyleNum="dsVariable" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Identifier" defStyleNum="dsDataType" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Keyword" defStyleNum="dsKeyword" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Option" defStyleNum="dsOthers" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Option: Equals Sign" defStyleNum="dsOperator" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Property" defStyleNum="dsOthers" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Quoted Option Value" defStyleNum="dsString" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Type" defStyleNum="dsDataType" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Unknown Option String" defStyleNum="dsAlert" italic="true" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Unquoted Mainmenu Prompt" defStyleNum="dsString" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Unquoted Option Value String" defStyleNum="dsString" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Unquoted Option Value" defStyleNum="dsString" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Unquoted Prompt" defStyleNum="dsNormal" spellChecking="true" strikeOut="true" />
|
|
<itemData name="Deprecated Unquoted Source String" defStyleNum="dsString" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Deprecated Variable Symbol" defStyleNum="dsNormal" spellChecking="false" strikeOut="true" />
|
|
<itemData name="Error" defStyleNum="dsError" spellChecking="false" />
|
|
<itemData name="Escaped Character" defStyleNum="dsSpecialChar" spellChecking="false" />
|
|
<itemData name="Expansion Delimiter" defStyleNum="dsChar" spellChecking="false" />
|
|
<itemData name="Expansion" defStyleNum="dsDataType" spellChecking="false" />
|
|
<itemData name="Expression Operator" defStyleNum="dsOperator" spellChecking="false" />
|
|
<itemData name="Help Text" defStyleNum="dsVerbatimString" spellChecking="true" />
|
|
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
|
|
<itemData name="Link" defStyleNum="dsOthers" spellChecking="false" underline="false" />
|
|
<itemData name="Option" defStyleNum="dsOthers" spellChecking="false" />
|
|
<itemData name="Plain" defStyleNum="dsNormal" spellChecking="true" />
|
|
<itemData name="Property" defStyleNum="dsOthers" spellChecking="false" />
|
|
<itemData name="Quoted Mainmenu Prompt" defStyleNum="dsString" spellChecking="true" />
|
|
<itemData name="Quoted Prompt" defStyleNum="dsString" spellChecking="true" />
|
|
<itemData name="Quoted Source String" defStyleNum="dsString" spellChecking="false" />
|
|
<itemData name="Source" defStyleNum="dsPreprocessor" spellChecking="false" />
|
|
<itemData name="Tristate Constant" defStyleNum="dsConstant" spellChecking="false" />
|
|
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false" />
|
|
<itemData name="Unknown Option" defStyleNum="dsAlert" italic="true" spellChecking="false" />
|
|
<itemData name="Variable Symbol" defStyleNum="dsNormal" spellChecking="false" />
|
|
<itemData name="Variable" defStyleNum="dsDataType" spellChecking="false" />
|
|
</itemDatas>
|
|
</highlighting>
|
|
<general>
|
|
<comments>
|
|
<comment name="singleLine" start="#" />
|
|
</comments>
|
|
<keywords weakDeliminator=".-" additionalDeliminator="'"" />
|
|
</general>
|
|
</language>
|
|
<!-- kate: replace-tabs off; -->
|