skylighting-core 0.12.2 → 0.12.3
raw patch · 11 files changed
+2766/−34 lines, 11 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- changelog.md +7/−0
- skylighting-core.cabal +1/−1
- xml/bash.xml +10/−5
- xml/css.xml +60/−15
- xml/orgmode.xml +152/−0
- xml/python.xml +8/−2
- xml/r.xml +4/−2
- xml/sass.xml +468/−0
- xml/scss.xml +1040/−0
- xml/systemverilog.xml +993/−0
- xml/zsh.xml +23/−9
changelog.md view
@@ -1,5 +1,12 @@ # Revision history for skylighting and skylighting-core +## 0.12.3++ * Add scss, sass, systemverilog, orgmode.++ * Update xml definitions from upstream: bash, css, python, r, zsh.++ ## 0.12.2 * Parser: handle context shift to external context, e.g.,
skylighting-core.cabal view
@@ -1,5 +1,5 @@ name: skylighting-core-version: 0.12.2+version: 0.12.3 synopsis: syntax highlighting library description: Skylighting is a syntax highlighting library. It derives its tokenizers from XML syntax
xml/bash.xml view
@@ -39,7 +39,7 @@ <!ENTITY arithmetic_as_subshell "\(((?:[^`'"()$]++|\$\{[^`'"(){}$]+\}|\$(?=[^{`'"()])|`[^`]*+`|\((?1)(?:[)]|(?=['"])))++)(?:[)](?=$|[^)])|["'])"> ]> -<language name="Bash" version="34" kateversion="5.79" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.exlib;*.exheres-0;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">+<language name="Bash" version="36" kateversion="5.79" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.exlib;*.exheres-0;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> <!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl) Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)@@ -553,6 +553,8 @@ <AnyChar attribute="Error" context="#stay" String=")}"/> <LineContinue attribute="Escape" context="#stay"/>++ <Detect2Chars attribute="Expression" context="#stay" char="!" char1=" "/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="MaybeBracketExpression" fallthroughContext="#pop!Command"> <!-- start expression in double brackets -->@@ -786,8 +788,8 @@ <!-- FindPathThenPopInAlternateValue consumes path in ${xx:here}--> <context attribute="Normal Text" lineEndContext="#pop" name="FindPathThenPopInAlternateValue"> <IncludeRules context="FindExtGlobAndPopInAlternateValue"/>- <AnyChar attribute="Glob" context="PathThenPopInAlternateValue" String="?*"/>- <RegExpr attribute="Path" context="PathThenPopInAlternateValue" String="&pathpart_alt;"/>+ <AnyChar attribute="Glob" context="#pop!PathThenPopInAlternateValue" String="?*"/>+ <RegExpr attribute="Path" context="#pop!PathThenPopInAlternateValue" String="&pathpart_alt;"/> </context> <context attribute="Path" lineEndContext="#stay" name="FindExtGlobAndPopInAlternateValue"> <Detect2Chars attribute="Glob" context="ExtGlobAndPopInAlternateValue" char="?" char1="("/>@@ -1415,10 +1417,13 @@ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam1" fallthroughContext="ExprDblBracketValue"> <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam2"/>- <DetectChar context="TestMaybeUnary" char="-" lookAhead="1"/>+ <DetectChar context="TestMaybeUnary2" char="-" lookAhead="1"/> <AnyChar attribute="Expression" context="#pop!ExprDblBracketParam3Spe" String="<>"/> <IncludeRules context="FindExprDblBracketEnd"/> </context>+ <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeUnary2" fallthroughContext="#pop!ExprDblBracketValue">+ <IncludeRules context="TestMaybeUnary"/>+ </context> <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValue"> <Detect2Chars context="ExprDblBracketDblParentOrSubValue" char="(" char1="(" lookAhead="1"/>@@ -1465,7 +1470,7 @@ <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3"/> </context> - <context attribute="Normal Text" lineEndContext="ExprDblBracketFinal" name="ExprDblBracketParam3" fallthroughContext="ExprDblBracketValue">+ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam3" fallthroughContext="ExprDblBracketValue"> <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketFinal"/> <IncludeRules context="FindExprDblBracketEnd"/> <AnyChar attribute="Error" context="#stay" String="<>"/>
xml/css.xml view
@@ -38,7 +38,7 @@ --> -<language name="CSS" version="12" kateversion="5.53" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">+<language name="CSS" version="13" kateversion="5.53" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10"> <!-- https://www.w3.org/Style/CSS/current-work --> <highlighting>@@ -665,6 +665,7 @@ <list name="values"> <item>none</item> <item>hidden</item>+ <item>initial</item> <item>dotted</item> <item>dashed</item> <item>solid</item>@@ -729,23 +730,9 @@ <item>katakana</item> <item>hiragana-iroha</item> <item>katakana-iroha</item>- <item>inline</item>- <item>inline-block</item>- <item>block</item> <item>list-item</item>- <item>run-in</item> <item>compact</item> <item>marker</item>- <item>table</item>- <item>inline-table</item>- <item>table-row-group</item>- <item>table-header-group</item>- <item>table-footer-group</item>- <item>table-row</item>- <item>table-column-group</item>- <item>table-column</item>- <item>table-cell</item>- <item>table-caption</item> <item>crosshair</item> <item>default</item> <item>pointer</item>@@ -765,15 +752,20 @@ <item>absolute</item> <item>always</item> <item>avoid</item>+ <item>avoid-page</item>+ <item>avoid-column</item>+ <item>avoid-region</item> <item>below</item> <item>bidi-override</item> <item>blink</item> <item>both</item>+ <item>break-word</item> <item>capitalize</item> <item>caption</item> <item>clip</item> <item>close-quote</item> <item>collapse</item>+ <item>column</item> <item>condensed</item> <item>crop</item> <item>cross</item>@@ -843,6 +835,41 @@ <item>contain</item> <item>cover</item> + <!-- display -->+ <!-- https://developer.mozilla.org/fr/docs/Web/CSS/display -->+ <item>block</item>+ <item>inline</item>+ <item>run-in</item>++ <item>flow</item>+ <item>flow-root</item>+ <item>table</item>+ <item>flex</item>+ <item>grid</item>+ <item>ruby</item>++ <item>list-item</item>++ <item>table-row-group</item>+ <item>table-header-group</item>+ <item>table-footer-group</item>+ <item>table-row</item>+ <item>table-cell</item>+ <item>table-column-group</item>+ <item>table-column</item>+ <item>table-caption</item>+ <item>ruby-base</item>+ <item>ruby-text</item>+ <item>ruby-base-container</item>+ <item>ruby-text-container</item>++ <item>contents</item>++ <item>inline-block</item>+ <item>inline-table</item>+ <item>inline-flex</item>+ <item>inline-grid</item>+ <!-- transition and animation --> <item>all</item> <item>ease</item>@@ -991,6 +1018,7 @@ <item>pink</item> <item>plum</item> <item>powderblue</item>+ <item>rebeccapurple</item> <item>rosybrown</item> <item>royalblue</item> <item>saddlebrown</item>@@ -1060,6 +1088,22 @@ <item>var</item> <item>url</item> + <!-- CSS4 -->+ <item>min</item>+ <item>max</item>+ <item>clamp</item>+ <item>toggle</item>+ <item>hwb</item>+ <item>device-cmyk</item>+ <item>color</item>+ <item>element</item>+ <item>image</item>+ <item>image-set</item>+ <item>conic-gradient</item>++ <!-- counter style -->+ <item>symbols</item>+ <!-- clip --> <item>rect</item> @@ -1678,6 +1722,7 @@ <DetectChar attribute="Function" context="#pop#pop" char=")" /> <IncludeRules context="FindComments" /> <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" /> <IncludeRules context="FindValues" /> <DetectChar attribute="Separator Symbol" context="#stay" char="," /> </context>
+ xml/orgmode.xml view
@@ -0,0 +1,152 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE language SYSTEM "language.dtd"+[+<!ENTITY listbullet "[\+\-]">+<!ENTITY checkbox "\[[ \-X]\](?=\s)">+<!-- links. -->+<!ENTITY startlink "(?:(?:https?|ftp)\://|(?:file|docview|mailto|mhe|rmail|bbdb|irc|info)\:)">+<!ENTITY link "&startlink;[^">\s]+">+<!-- link in normal text.+ Using the implicitlink entity in markdown.xml for now.+ Actual doc: https://orgmode.org/guide/Hyperlinks.html -->+<!ENTITY implicitlink "\b&startlink;[^">\s`\)]*[^\s!"'`\(\)\*,\.:;<>\?~\]\}\\](?=[[:punct:]]*(?:[\s\]]|$))">+<!-- org-emphasis-alist -->+<!ENTITY contentregex_ast "(?:(?:[^\*\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^\*\s\\]|\\\S)">+<!ENTITY contentregex_und "(?:(?:[^_\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^_\s\\]|\\\S)">+<!ENTITY contentregex_itl "(?:(?:[^/\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^/\s\\]|\\\S)">+<!ENTITY contentregex_stk "(?:(?:[^+\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^+\s\\]|\\\S)">+<!ENTITY contentregex_cod "(?:(?:[^~\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^~\s\\]|\\\S)">+<!ENTITY contentregex_vbt "(?:(?:[^=\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^=\s\\]|\\\S)">+<!ENTITY contentregex_mco "(?:(?:[^\{\}\s\\]|\\.)(?:[^\\]|\\.)*)?(?:[^\{\}\s\\]|\\\S)">+<!ENTITY bold_regex "\*{1}(?:&contentregex_ast;\*{1})">+<!ENTITY underline_regex "\b_{1}(?:&contentregex_und;_{1})">+<!ENTITY italic_regex "[/]{1}(?:&contentregex_itl;[/]{1})">+<!ENTITY strike_regex "\+{1}(?:&contentregex_stk;\+{1})">+<!ENTITY inlinecode_regex "\~{1}(?:&contentregex_cod;\~{1})">+<!ENTITY verbatim_regex "\={1}(?:&contentregex_vbt;\={1})">+<!ENTITY macroreplacement_regex "\{{3}(?:&contentregex_mco;\}{3})">+<!-- [[plain-link]] -->+<!ENTITY link_plain_regex "\[\[(?:[^\[\]]+)\]\]">+<!-- [[link][description]] -->+<!ENTITY link_desc_regex "\[\[(?:[^\[\]]+)\]\[(?:[^\[\]]+)\]\]">+]>++<!-- org syntax spec: https://orgmode.org/worg/dev/org-syntax.html -->+<!-- syntax highlight: https://docs.kde.org/stable5/en/kate/katepart/highlight.html -->+<language name="Org Mode" version="3" kateversion="5.79" section="Markup" extensions="*.org" priority="15" author="Gary Wang" license="MIT">+ <highlighting>+ <list name="org-todo-keywords-todo">+ <item>TODO</item>+ </list>+ <list name="org-todo-keywords-done">+ <item>DONE</item>+ </list>+ <contexts>+ <context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar context="find-header" char="*" column="0" lookAhead="true"/>+ <RegExpr attribute="List" context="list" String="^(\s*)&listbullet;(\s+)" column="0"/>+ <RegExpr attribute="Number List" context="numlist" String="^(\s*)\d+(?:\.|\))(\s+)" column="0"/>+ <RegExpr attribute="Comment" String="^(\s*)# .*" column="0"/>+ <RegExpr attribute="Block" context="find-block" String="^#\+BEGIN(_\w+|:).*" beginRegion="RegionBlock" column="0"/>+ <RegExpr attribute="Babel" String="^(\s*)#\+[A-Z]+(?:\[[A-Z]+\])?:.*" column="0"/>+ <DetectChar context="find-bold-normal" char="*" lookAhead="true"/>+ <DetectChar context="find-underline-normal" char="_" lookAhead="true"/>+ <DetectChar context="find-italic-normal" char="/" lookAhead="true"/>+ <DetectChar context="find-strike-normal" char="+" lookAhead="true"/>+ <DetectChar context="find-inlinecode-normal" char="~" lookAhead="true"/>+ <DetectChar context="find-verbatim-normal" char="=" lookAhead="true"/>+ <DetectChar context="find-link-normal" char="[" lookAhead="true"/>+ <StringDetect context="find-macro-replacement" String="{{{" lookAhead="true"/>+ <RegExpr attribute="Normal Text: Link" String="&implicitlink;"/>+ </context>+ <context name="find-header" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Keyword" context="parse-header" String="^(?:\*){1,}\s+(?:([A-Z]+)\s+){0,1}(?:(\[#(?:[A-Z\d]+)\])\s+){0,1}(.*)\s*(\[[\d/%]+\]){0,1}\s*$" column="0" lookAhead="true"/>+ </context>+ <context name="parse-header" attribute="Heading" lineEndContext="#pop">+ <RegExpr attribute="Heading" String="(?:\*){1,}\s+" lookAhead="false"/>+ <keyword String="org-todo-keywords-todo" attribute="Keyword Todo" context="#stay" />+ <keyword String="org-todo-keywords-done" attribute="Keyword Done" context="#stay" />+ <RegExpr attribute="Cookie: Priority" String="\[#(?:[A-Z\d]+)\]" lookAhead="false"/>+ <RegExpr attribute="Cookie: Statistics" String="\[[\d/%]+\]" lookAhead="false"/>+ </context>+ <context name="list" attribute="List: Normal Text" lineEndContext="#stay">+ <RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>+ <RegExpr attribute="List: Checkbox" String="\s*&checkbox;"/>+ </context>+ <context name="numlist" attribute="List: Normal Text" lineEndContext="#stay">+ <RegExpr context="#pop" String="^\s*\S" column="0" lookAhead="true"/>+ <RegExpr attribute="List: Checkbox" String="\s*&checkbox;"/>+ </context>+ <context name="find-block" attribute="Block" lineEndContext="#stay">+ <StringDetect context="#pop" attribute="Block" String="#+END%1" dynamic="true" endRegion="RegionBlock" column="0"/>+ </context>+ <context name="find-bold-normal" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Bold Text" context="#pop" minimal="true" String="&bold_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="*"/>+ </context>+ <context name="find-underline-normal" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Underline Text" context="#pop" minimal="true" String="&underline_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="_"/>+ </context>+ <context name="find-italic-normal" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Italic Text" context="#pop" minimal="true" String="&italic_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="/"/>+ </context>+ <context name="find-strike-normal" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Strikethrough Text" context="#pop" minimal="true" String="&strike_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="+"/>+ </context>+ <context name="find-verbatim-normal" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Verbatim" context="#pop" minimal="true" String="&verbatim_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="~"/>+ </context>+ <context name="find-link-normal" attribute="Link" lineEndContext="#pop">+ <RegExpr attribute="Plain Link" context="#pop" minimal="true" String="&link_plain_regex;"/>+ <!-- FIXME: currently, link and description are using the same style -->+ <RegExpr attribute="Link" context="#pop" minimal="true" String="&link_desc_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="]"/>+ </context>+ <context name="find-macro-replacement" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Macro" context="#pop" minimal="true" String="¯oreplacement_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="}"/>+ </context>+ <context name="find-inlinecode-normal" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Code" context="#pop" minimal="true" String="&inlinecode_regex;"/>+ <DetectChar attribute="Normal Text" context="#pop" char="~"/>+ </context>+ </contexts>+ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal"/>+ <itemData name="Normal Text: Link" defStyleNum="dsNormal" underline="true" spellChecking="false"/>+ <itemData name="Bold Text" defStyleNum="dsNormal" bold="true"/>+ <itemData name="Underline Text" defStyleNum="dsNormal" underline="true"/>+ <itemData name="Italic Text" defStyleNum="dsNormal" italic="true"/>+ <itemData name="Strikethrough Text" defStyleNum="dsNormal" strikeOut="true"/>+ <itemData name="Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Keyword Done" defStyleNum="dsInformation" spellChecking="false"/>+ <itemData name="Keyword Todo" defStyleNum="dsAlert" spellChecking="false"/>+ <itemData name="Cookie: Priority" defStyleNum="dsInformation" spellChecking="false"/>+ <itemData name="Cookie: Statistics" defStyleNum="dsInformation" spellChecking="false"/>+ <itemData name="Heading" defStyleNum="dsFunction"/>+ <itemData name="List" defStyleNum="dsSpecialString" bold="1" spellChecking="false"/>+ <itemData name="List: Normal Text" defStyleNum="dsNormal"/>+ <itemData name="List: Checkbox" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Number List" defStyleNum="dsSpecialString" spellChecking="false"/>+ <itemData name="Plain Link" defStyleNum="dsOthers" underline="true" spellChecking="false"/>+ <itemData name="Link" defStyleNum="dsOthers" underline="true" spellChecking="false"/>+ <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Macro" defStyleNum="dsPreprocessor"/>+ <itemData name="Babel" defStyleNum="dsPreprocessor"/>+ <itemData name="Verbatim" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Code" defStyleNum="dsInformation" spellChecking="false"/>+ <itemData name="Block" defStyleNum="dsInformation"/>+ </itemDatas>+ </highlighting>+ <general>+ <comments>+ <!-- Kate will add a space after the char so it's just a "#" here -->+ <comment name="singleLine" start="#"/>+ </comments>+ </general>+</language>+<!-- kate: replace-tabs on; indent-width 2; tab-width 2; -->
xml/python.xml view
@@ -52,7 +52,7 @@ <!-- v2.07 add support for %prog and co, see bug 142832 --> <!-- v2.08 add missing overloaders, new Python 3 statements, builtins, and keywords --> <!-- v2.29 recognize escape sequenzes correctly -->-<language name="Python" version="22" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript;*.FCMacro" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license="">+<language name="Python" version="23" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript;*.FCMacro" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license=""> <highlighting> <list name="import"> <item>import</item>@@ -408,9 +408,15 @@ <DetectIdentifier attribute="Normal Text"/> <RegExpr attribute="Decorator" String="@[_a-zA-Z[:^ascii:]][\._a-zA-Z0-9[:^ascii:]]*" firstNonSpace="true"/>- <AnyChar attribute="Operator" String="+*/%\|=;<>!^&~-@" context="#stay"/>+ <AnyChar attribute="Operator" String="+*/%|=;<>!^&~-@" context="#stay"/> + <LineContinue attribute="Operator" context="MultiLineExpr"/>+ <Int attribute="Error"/>+ </context>+ <context name="MultiLineExpr" attribute="Normal Text" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">+ <DetectSpaces attribute="Normal Text"/>+ <IncludeRules context="StringVariants" /> </context> <!-- https://docs.python.org/2/reference/lexical_analysis.html#integer-and-long-integer-literals -->
xml/r.xml view
@@ -8,7 +8,7 @@ R : http://www.r-project.org/ RKWard : http://rkward.kde.org/ -->-<language version="11" kateversion="5.0" name="R Script" section="Scientific" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPLv2">+<language version="12" kateversion="5.0" name="R Script" section="Scientific" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPLv2"> <highlighting> <list name="controls">@@ -117,12 +117,14 @@ <Detect2Chars attribute="Assign" context="operator_rhs" char="<" char1="-"/> <StringDetect attribute="Assign" context="operator_rhs" String="->>"/> <Detect2Chars attribute="Assign" context="operator_rhs" char="-" char1=">"/>- <RegExpr attribute="Assign" context="operator_rhs" String="=(?!=)"/>+ <RegExpr attribute="Assign" context="operator_rhs" String="=(?!(=|>))"/> <Detect2Chars attribute="Operator" context="operator_rhs" char="*" char1="*"/> <Detect2Chars attribute="Operator" context="operator_rhs" char="<" char1="="/> <Detect2Chars attribute="Operator" context="operator_rhs" char=">" char1="="/> <Detect2Chars attribute="Operator" context="operator_rhs" char="=" char1="="/>+ <Detect2Chars attribute="Operator" context="operator_rhs" char="=" char1=">"/> <Detect2Chars attribute="Operator" context="operator_rhs" char="!" char1="="/>+ <Detect2Chars attribute="Operator" context="operator_rhs" char="|" char1=">"/> <Detect2Chars attribute="Operator" context="operator_rhs" char="|" char1="|"/> <Detect2Chars attribute="Operator" context="operator_rhs" char="&" char1="&"/> <StringDetect attribute="Operator" context="operator_rhs" String=":::"/>
+ xml/sass.xml view
@@ -0,0 +1,468 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE language SYSTEM "language.dtd"+[+ <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->+ <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">+ <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">+]>++<language name="SASS" version="5" kateversion="5.53" section="Markup" extensions="*.sass" indenter="cstyle" mimetype="text/css" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT" priority="5">++ <highlighting>+ <list name="properties">+ <include>properties##SCSS</include>+ <include>sub-properties##SCSS</include>+ </list>+ <list name="special values"><include>special values##SCSS</include></list>+ <list name="value keywords"><include>value keywords##SCSS</include></list>+ <list name="values"><include>values##SCSS</include></list>+ <list name="colors"><include>colors##SCSS</include></list>+ <list name="functions"><include>functions##SCSS</include></list>+ <list name="medias"><include>medias##SCSS</include></list>+ <list name="pseudoelements"><include>pseudoelements##SCSS</include></list>+ <list name="pseudoclasses"><include>pseudoclasses##SCSS</include></list>+ <list name="pseudoclass-selector"><include>pseudoclass-selector##SCSS</include></list>+ <list name="pseudoclasses-@page"><include>pseudoclasses-@page##SCSS</include></list>+ <list name="at-rules"><include>at-rules##SCSS</include></list>+ <list name="nested at-rules"><include>nested at-rules##SCSS</include></list>+ <list name="inline and nested at-rules"><include>inline and nested at-rules##SCSS</include></list>+ <list name="@extend"><include>@extend##SCSS</include></list>+ <list name="@if"><include>@if##SCSS</include></list>+ <list name="@else"><include>@else##SCSS</include></list>+ <list name="@mixin"><include>@mixin##SCSS</include></list>+ <list name="@viewport"><include>@viewport##SCSS</include></list>+ <list name="@page"><include>@page##SCSS</include></list>+ <list name="@keyframes-@font-face">+ <include>@font-face##SCSS</include>+ <include>@keyframes##SCSS</include>+ </list>+ <list name="media operators"><include>media operators##SCSS</include></list>+ <list name="operators"><include>operators##SCSS</include></list>+ <list name="annotations"><include>annotations##SCSS</include></list>++ <contexts>+ <context name="Base" attribute="Normal Text" lineEndContext="#stay">+ <IncludeRules context="FindCommentsColumn0" />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Property" context="Rule" String="^\s*[-_A-Za-z]+(/\*.*\*/)?\s*(?=:(\s|$))" lookAhead="true" column="0" />+ <DetectSpaces />+ <DetectChar attribute="At Rule" context="@mixin" char="=" firstNonSpace="true" />+ <DetectChar attribute="At Rule" context="AtRule" char="+" firstNonSpace="true" />+ <DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <AnyChar attribute="Operator" context="#stay" String="&*>+~|" />+ <RegExpr attribute="Selector Pseudo" context="SelectorPseudo" String=":(?=[a-z:])" />+ <RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />+ <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />+ <RegExpr attribute="Placeholder Selector" context="#stay" String="%[_a-zA-Z][_a-zA-Z\-]*" />+ <RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*(?=\s|:?[#.&[*>+~|,]|:[a-z:])" />+ <RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ <DetectChar attribute="Normal Text" context="Rule" char=":" lookAhead="true" />+ </context>++ <!-- same as SCSS -->+ <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">+ <AnyChar attribute="Error" context="#stay" String=",&" />+ <AnyChar attribute="Operator" context="#stay" String="*>+~|" />+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />+ <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />+ <RegExpr attribute="Placeholder Selector" context="#stay" String="%[_a-zA-Z][_a-zA-Z\-]*" />+ <RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ </context>++ <!-- same as SCSS -->+ <context name="VariableDefine" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ </context>++ <context name="Interpolation" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <DetectChar attribute="Interpolation" context="#pop" char="}" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>+++ <!-- find functions // rgba(255,255,255,0.75) -->+ <!-- same as SCSS -->+ <context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">+ <RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />+ </context>++ <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->+ <!-- same as SCSS -->+ <context name="FindValues" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Annotation" context="Annotation" char="!" />+ <keyword attribute="Operator" context="#stay" String="operators" />+ <keyword attribute="Value Keyword" context="#stay" String="value keywords" />+ <keyword attribute="Value" context="#stay" String="values" />+ <keyword attribute="Color" context="#stay" String="colors" />+ <RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?" />+ <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" />+ <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />+ <keyword attribute="Value Keyword" context="#stay" String="special values" />+ <RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />+ <AnyChar attribute="Operator" context="#stay" String="*/+%-" />+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ </context>++ <!-- same as SCSS -->+ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <keyword attribute="Annotation" context="#pop" String="annotations" />+ </context>++ <!-- same as SCSS -->+ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x)\b)" />+ </context>++ <!-- find strings // "some words" 'some words' -->+ <!-- same as SCSS -->+ <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="String" context="StringDQ" char=""" />+ <DetectChar attribute="String" context="StringSQ" char="'" />+ </context>++ <!-- find comments // and /* at the beginning of line -->+ <context name="FindCommentsColumn0" attribute="Comment" lineEndContext="#stay">+ <!-- (\s*)(?=/[*/]) is not selected when the match is empty -->+ <RegExpr attribute="Normal Text" context="Comment" String="^(\s+)(?=/[*/])" column="0" />+ <RegExpr attribute="Comment" context="Comment" String="^()/[*/]" column="0" />+ </context>++ <!-- find comments // and /* -->+ <context name="FindComments" attribute="Comment" lineEndContext="#stay">+ <Detect2Chars attribute="Comment" context="IsInlineComment" char="/" char1="/" />+ <Detect2Chars attribute="Comment" context="IsInlineComment2" char="/" char1="*" />+ </context>++ <context name="Comment" attribute="Comment" lineEndContext="#stay" dynamic="true" fallthrough="true" fallthroughContext="IsInlineComment">+ <RegExpr attribute="Comment" context="IsInlineComment" String="^%1\s|^\s*$" dynamic="true" column="0" />+ <DetectSpaces attribute="Normal Text" context="#pop" lookAhead="true" column="0" />+ <RegExpr attribute="Comment" context="#pop" String="." lookAhead="true" column="0"/>+ </context>++ <context name="IsInlineComment" attribute="Comment" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="##Comments" />+ <DetectIdentifier />+ </context>++ <context name="IsInlineComment2" attribute="Comment" lineEndContext="#pop">+ <DetectSpaces />+ <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />+ <IncludeRules context="##Comments" />+ <DetectIdentifier />+ </context>++ <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">+ <keyword attribute="At Rule" context="#pop!AtRule" String="nested at-rules" />+ <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />+ <keyword attribute="At Rule" context="#pop!AtRule" String="inline and nested at-rules" />+ <keyword attribute="At Rule" context="#pop!@extend" String="@extend" />+ <keyword attribute="At Rule" context="#pop!@mixin" String="@mixin" />+ <keyword attribute="At Rule" context="#pop!@keyframes-@font-face" String="@keyframes-@font-face" />+ <keyword attribute="At Rule" context="#pop!@viewport" String="@viewport" />+ <keyword attribute="At Rule" context="#pop!@if" String="@if" />+ <keyword attribute="At Rule" context="#pop!@else" String="@else" />+ <keyword attribute="At Rule" context="#pop!@page" String="@page" />+ <RegExpr attribute="At Rule" context="#pop!AtRule" String="@[a-zA-Z0-9\-_]+\b" />+ </context>++ <context name="@if" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <AnyChar attribute="Operator" context="#stay" String="=!<>" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="@else" attribute="Error" lineEndContext="#pop">+ <DetectSpaces attribute="Normal Text" />+ <IncludeRules context="FindComments" />+ <WordDetect attribute="At Rule" context="#pop!@if" String="if" />+ <DetectIdentifier attribute="Error" />+ </context>++ <context name="@extend" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindSelector" />+ </context>++ <context name="@mixin" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Function" context="MixinParameter" String="[a-zA-Z0-9\-_]+" />+ </context>++ <context name="MixinParameter" attribute="Error" lineEndContext="#pop#pop">+ <DetectSpaces attribute="Normal Text" />+ <AnyChar attribute="Normal Text" context="#stay" String="()" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />+ <StringDetect attribute="Operator" context="#stay" String="..." />+ </context>++ <context name="@keyframes-@font-face" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ </context>++ <context name="@viewport" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />+ </context>++ <context name="@page" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />+ </context>++ <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />+ <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="AtRule" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <DetectChar attribute="Operator" context="#stay" char="&" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <keyword attribute="Keyword" context="#stay" String="media operators" />+ <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />+ <keyword attribute="Value" context="#stay" String="medias" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#pop">+ <DetectChar attribute="Selector Attribute" context="#pop" char="]" />+ <IncludeRules context="FindStrings" />+ <DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />+ <DetectIdentifier />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorAttrValue" attribute="String" lineEndContext="#pop#pop">+ <DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />+ <DetectIdentifier />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />+ <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">+ <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />+ <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />+ </context>++ <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#pop#pop#pop">+ <DetectSpaces />+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />+ <IncludeRules context="FindSelector" />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />+ </context>++ <!-- same as SCSS -->+ <context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />+ <DetectIdentifier />+ </context>++ <context name="Rule" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />+ <keyword attribute="Property" context="#stay" String="properties" />+ <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />+ </context>++ <context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />+ <RegExpr attribute="Variable" context="#stay" String="[^:/]+" />+ <IncludeRules context="FindComments" />+ </context>++ <context name="RuleParameters" attribute="Normal Text" lineEndContext="#pop#pop">+ <DetectSpaces />+ <!-- Jump out conditions -->+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <!-- same as SCSS -->+ <context name="Function" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Function" context="FunctionParameters" char="(" />+ <StringDetect attribute="Function" context="FunctionVar" String="var(" />+ <StringDetect attribute="Function" context="FunctionUrl" String="url(" />+ <StringDetect attribute="Function" context="FunctionCalc" String="calc(" />+ <keyword attribute="Function" context="#stay" String="functions" />+ <RegExpr attribute="Function" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <!-- same as SCSS -->+ <context name="FunctionVar" attribute="Variable" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop!FunctionParameters">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />+ </context>++ <!-- same as SCSS -->+ <context name="FunctionCalc" attribute="Normal Text" lineEndContext="#pop#pop">+ <DetectSpaces />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ <IncludeRules context="Calc" />+ </context>++ <!-- same as SCSS -->+ <context name="NestedCalc" attribute="Normal Text" lineEndContext="#pop#pop">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop" char=")" />+ <IncludeRules context="Calc" />+ </context>++ <!-- same as SCSS -->+ <context name="Calc" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Normal Text" context="NestedCalc" char="(" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <!-- same as SCSS -->+ <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="UrlValue">+ <DetectSpaces />+ <IncludeRules context="FindStrings" />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ </context>++ <!-- same as SCSS -->+ <context name="UrlValue" attribute="String" lineEndContext="#pop#pop#pop">+ <DetectChar attribute="Function" context="#pop#pop#pop" char=")" />+ </context>++ <!-- same as SCSS -->+ <context name="FunctionParameters" attribute="Normal Text" lineEndContext="#pop#pop">+ <DetectSpaces />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <StringDetect attribute="Operator" String="..." />+ </context>++ <!-- string contexts -->+ <!-- same as SCSS -->+ <context name="StringDQ" attribute="String" lineEndContext="#pop">+ <DetectChar attribute="String" context="#pop" char=""" />+ <IncludeRules context="InsideString" />+ </context>++ <!-- same as SCSS -->+ <context name="StringSQ" attribute="String" lineEndContext="#pop">+ <DetectChar attribute="String" context="#pop" char="'" />+ <IncludeRules context="InsideString" />+ </context>++ <!-- same as SCSS -->+ <context name="InsideString" attribute="String" lineEndContext="#stay">+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ <RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />+ <RegExpr attribute="String" context="#stay" String="\\?[^#"'\\]+" />+ </context>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>+ <itemData name="Interpolation" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>+ <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>+ <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Placeholder Selector" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Comment" defStyleNum="dsComment" />+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>+ </itemDatas>+ </highlighting>++ <general>+ <keywords casesensitive="0" weakDeliminator="-%@" />+ <folding indentationsensitive="1" />+ <comments>+ <comment name="singleLine" start="//" position="afterwhitespace"/>+ </comments>+ </general>++</language>+<!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->
+ xml/scss.xml view
@@ -0,0 +1,1040 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE language SYSTEM "language.dtd"+[+ <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->+ <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">+ <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">+]>++<!--++Kate SCSS syntax highlighting definition++Changelog:++- Version 7, by Jonathan Poelen+- fix tag followed by a pseudo-class in a nested rule (@media, ...)+- fix constraint in a rule+- fix Kate auto-completion for properties and rules+- fix highlighting of pseudoclass/pseudoelement in a sub-rule+- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Value Keyword, Color, Number, Unit, Selector Tag, Placeholder Selector++- Version 4, by Guo Yunhe guoyunhebrave@gmail.com+- Remake for complex SCSS syntax, avoid errors++- Version 2.06, by Guo Yunhe+- Add all W3C Work Draft properties, inherit rules from css.xml++- Version 1.2.03.6, by Mte90+- Css3 Tag++- Version 1.2.03.1, by Tijn Schuurmans+- Added basic support for "@include mixin();"+- Clean the indentation to use 4 spaces everywhere++-->++<language name="SCSS" version="13" kateversion="5.53" section="Markup" extensions="*.scss" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">++ <highlighting>+ <list name="properties">+ <include>properties##CSS</include>+ </list>++ <list name="sub-properties">+ <item>adjust</item>+ <item>after</item>+ <item>align-all</item>+ <item>align</item>+ <item>align-last</item>+ <item>alternates</item>+ <item>anchor</item>+ <item>area</item>+ <item>areas</item>+ <item>attachment</item>+ <item>auto-columns</item>+ <item>auto-flow</item>+ <item>auto-rows</item>+ <item>baseline</item>+ <item>basis</item>+ <item>before</item>+ <item>bidi</item>+ <item>blend-mode</item>+ <item>block-color</item>+ <item>block-end-color</item>+ <item>block-end</item>+ <item>block-end-style</item>+ <item>block-end-width</item>+ <item>block</item>+ <item>block-start-color</item>+ <item>block-start</item>+ <item>block-start-style</item>+ <item>block-start-width</item>+ <item>block-style</item>+ <item>block-width</item>+ <item>border-mode</item>+ <item>border-outset</item>+ <item>border-repeat</item>+ <item>border-slice</item>+ <item>border-source</item>+ <item>bottom-color</item>+ <item>bottom-left-radius</item>+ <item>bottom-right-radius</item>+ <item>bottom-style</item>+ <item>bottom-width</item>+ <item>boundary</item>+ <item>box</item>+ <item>break</item>+ <item>caps</item>+ <item>cells</item>+ <item>change</item>+ <item>character</item>+ <item>chars</item>+ <item>collapse</item>+ <item>column-end</item>+ <item>column</item>+ <item>column-start</item>+ <item>combine-upright</item>+ <item>composite</item>+ <item>count</item>+ <item>decoration-break</item>+ <item>decoration-color</item>+ <item>decoration</item>+ <item>decoration-line</item>+ <item>decoration-skip-ink</item>+ <item>decoration-skip</item>+ <item>decoration-style</item>+ <item>decoration-width</item>+ <item>defer</item>+ <item>delay</item>+ <item>distance</item>+ <item>down</item>+ <item>duration</item>+ <item>during</item>+ <item>east-asian</item>+ <item>emoji</item>+ <item>emphasis-color</item>+ <item>emphasis</item>+ <item>emphasis-position</item>+ <item>emphasis-skip</item>+ <item>emphasis-style</item>+ <item>end-color</item>+ <item>end</item>+ <item>end-style</item>+ <item>end-width</item>+ <item>events</item>+ <item>family</item>+ <item>feature-settings</item>+ <item>fill-mode</item>+ <item>filters</item>+ <item>fit</item>+ <item>flow</item>+ <item>fragment</item>+ <item>from</item>+ <item>function</item>+ <item>grow</item>+ <item>gutter</item>+ <item>header</item>+ <item>height-step</item>+ <item>image</item>+ <item>image-outset</item>+ <item>image-repeat</item>+ <item>image-slice</item>+ <item>image-source</item>+ <item>image-threshold</item>+ <item>image-transform</item>+ <item>image-width</item>+ <item>increment</item>+ <item>indent</item>+ <item>inline-color</item>+ <item>inline-end-color</item>+ <item>inline-end</item>+ <item>inline-end-style</item>+ <item>inline-end-width</item>+ <item>inline</item>+ <item>inline-start-color</item>+ <item>inline-start</item>+ <item>inline-start-style</item>+ <item>inline-start-width</item>+ <item>inline-style</item>+ <item>inline-width</item>+ <item>insert</item>+ <item>inside</item>+ <item>interpolation-filters</item>+ <item>into</item>+ <item>items</item>+ <item>iteration-count</item>+ <item>justify</item>+ <item>kerning</item>+ <item>knockout-left</item>+ <item>knockout-right</item>+ <item>label</item>+ <item>language-override</item>+ <item>last</item>+ <item>layout</item>+ <item>left-color</item>+ <item>left-radius</item>+ <item>left-style</item>+ <item>left-width</item>+ <item>letter-align</item>+ <item>letter</item>+ <item>letter-wrap</item>+ <item>level</item>+ <item>ligatures</item>+ <item>limit-chars</item>+ <item>limit-last</item>+ <item>limit-lines</item>+ <item>limit-zone</item>+ <item>line</item>+ <item>lines</item>+ <item>loop</item>+ <item>max-size</item>+ <item>merge</item>+ <item>mid</item>+ <item>min-size</item>+ <item>mode</item>+ <item>name</item>+ <item>numeral</item>+ <item>numeric</item>+ <item>optical-sizing</item>+ <item>orientation</item>+ <item>orientation-vertical</item>+ <item>origin</item>+ <item>outset</item>+ <item>outside</item>+ <item>override</item>+ <item>palette</item>+ <item>path</item>+ <item>pattern</item>+ <item>play-state</item>+ <item>point</item>+ <item>policy</item>+ <item>property</item>+ <item>punctuation</item>+ <item>radius</item>+ <item>range</item>+ <item>rate</item>+ <item>reference</item>+ <item>rendering</item>+ <item>repeat</item>+ <item>reset</item>+ <item>resolution</item>+ <item>right-color</item>+ <item>right-radius</item>+ <item>right-style</item>+ <item>right-width</item>+ <item>rotate</item>+ <item>round</item>+ <item>row-end</item>+ <item>row</item>+ <item>rows</item>+ <item>row-start</item>+ <item>rule-color</item>+ <item>rule</item>+ <item>rule-style</item>+ <item>rule-width</item>+ <item>segment</item>+ <item>select</item>+ <item>self</item>+ <item>set</item>+ <item>settings</item>+ <item>shadow</item>+ <item>shape</item>+ <item>shift</item>+ <item>shrink</item>+ <item>side</item>+ <item>size-adjust</item>+ <item>sizing</item>+ <item>skip-ink</item>+ <item>skip</item>+ <item>slice</item>+ <item>snap</item>+ <item>source</item>+ <item>space-collapse</item>+ <item>space</item>+ <item>space-trim</item>+ <item>spacing</item>+ <item>span</item>+ <item>speed</item>+ <item>start-color</item>+ <item>start</item>+ <item>start-style</item>+ <item>start-width</item>+ <item>state</item>+ <item>step-align</item>+ <item>step-insert</item>+ <item>step</item>+ <item>step-round</item>+ <item>step-size</item>+ <item>stretch</item>+ <item>style-image</item>+ <item>style</item>+ <item>style-position</item>+ <item>style-type</item>+ <item>synthesis</item>+ <item>template-areas</item>+ <item>template-columns</item>+ <item>template</item>+ <item>template-rows</item>+ <item>threshold</item>+ <item>through</item>+ <item>timing-function</item>+ <item>top-color</item>+ <item>top-left-radius</item>+ <item>top-right-radius</item>+ <item>top-style</item>+ <item>top-width</item>+ <item>trim</item>+ <item>type</item>+ <item>underline-offset</item>+ <item>underline-position</item>+ <item>up</item>+ <item>upright</item>+ <item>variant-alternates</item>+ <item>variant-caps</item>+ <item>variant-east-asian</item>+ <item>variant-emoji</item>+ <item>variant</item>+ <item>variant-ligatures</item>+ <item>variant-numeric</item>+ <item>variant-position</item>+ <item>variation-settings</item>+ <item>vertical</item>+ <item>weight</item>+ <item>wrap</item>+ <item>x</item>+ <item>y</item>+ <item>zone</item>+ </list>++ <list name="special values">+ <item>true</item>+ <item>false</item>+ <item>null</item>+ </list>++ <list name="value keywords">+ <include>value keywords##CSS</include>+ </list>++ <list name="values">+ <include>values##CSS</include>+ </list>++ <list name="colors">+ <include>colors##CSS</include>+ </list>++ <list name="functions">+ <include>functions##CSS</include>++ <!-- sass -->+ <item>red</item>+ <item>green</item>+ <item>blue</item>+ <item>mix</item>+ <item>hue</item>+ <item>saturation</item>+ <item>lightness</item>+ <item>adjust-hue</item>+ <item>lighten</item>+ <item>darken</item>+ <item>saturate</item>+ <item>desaturate</item>+ <item>grayscale</item>+ <item>complement</item>+ <item>invert</item>+ <item>alpha</item>+ <item>opacify</item>+ <item>transparentize</item>+ <item>adjust-color</item>+ <item>scale-color</item>+ <item>change-color</item>+ <item>ie-hex-str</item>+ <item>unquote</item>+ <item>quote</item>+ <item>str-length</item>+ <item>str-insert</item>+ <item>str-index</item>+ <item>str-slice</item>+ <item>to-upper-case</item>+ <item>to-lower-case</item>+ <item>percentage</item>+ <item>round</item>+ <item>ceil</item>+ <item>floor</item>+ <item>abs</item>+ <item>min</item>+ <item>max</item>+ <item>random</item>+ <item>length</item>+ <item>nth</item>+ <item>set-nth</item>+ <item>join</item>+ <item>append</item>+ <item>zip</item>+ <item>index</item>+ <item>list-separator</item>+ <item>is-bracketed</item>+ <item>map-get</item>+ <item>map-merge</item>+ <item>map-remove</item>+ <item>map-keys</item>+ <item>map-values</item>+ <item>map-has-key</item>+ <item>keywords</item>+ <item>selector-nest</item>+ <item>selector-append</item>+ <item>selector-extend</item>+ <item>selector-replace</item>+ <item>selector-unify</item>+ <item>is-superselector</item>+ <item>simple-selectors</item>+ <item>selector-parse</item>+ <item>feature-exists</item>+ <item>variable-exists</item>+ <item>global-variable-exists</item>+ <item>function-exists</item>+ <item>mixin-exists</item>+ <item>content-exists</item>+ <item>inspect</item>+ <item>type-of</item>+ <item>unit</item>+ <item>unitless</item>+ <item>comparable</item>+ <item>call</item>+ <item>get-function</item>+ <item>if</item>+ <item>unique-id</item>+ </list>++ <list name="medias">+ <include>medias##CSS</include>+ </list>++ <!-- prefixed by :: -->+ <list name="pseudoelements">+ <include>pseudoelements##CSS</include>+ </list>++ <!-- prefixed by : -->+ <list name="pseudoclasses">+ <include>pseudoclasses##CSS</include>+ </list>++ <list name="pseudoclass-selector">+ <include>pseudoclass-selector##CSS</include>+ </list>++ <list name="pseudoclasses-@page">+ <include>pseudoclasses-@page##CSS</include>+ </list>++ <list name="at-rules">+ <include>at-rules##CSS</include>++ <!-- scss -->+ <item>@debug</item>+ <item>@warn</item>+ <item>@error</item>+ <item>@content</item>+ <item>@return</item>+ </list>++ <list name="nested at-rules">+ <include>nested at-rules##CSS</include>++ <!-- scss -->+ <item>@at-rule</item>+ <item>@for</item>+ <item>@each</item>+ <item>@while</item>+ </list>++ <list name="inline and nested at-rules">+ <!-- CSS: inline -->+ <!-- SCSS: inline or block -->+ <item>@include</item>+ </list>++ <list name="@extend">+ <item>@extend</item>+ </list>++ <list name="@if">+ <item>@if</item>+ </list>++ <list name="@else">+ <item>@else</item>+ </list>++ <list name="@mixin">+ <item>@mixin</item>+ <item>@function</item>+ </list>++ <list name="@viewport">+ <item>@viewport</item>+ </list>++ <list name="within-@viewport">+ <include>within-@viewport##CSS</include>+ </list>++ <list name="@page">+ <item>@page</item>+ </list>++ <list name="within-@page">+ <include>within-@page##CSS</include>+ </list>++ <list name="@font-face">+ <item>@font-face</item>+ </list>++ <list name="within-@font-face">+ <include>within-@font-face##CSS</include>+ </list>++ <list name="@keyframes">+ <item>@keyframes</item>+ </list>++ <list name="within-@keyframes">+ <include>within-@keyframes##CSS</include>+ </list>++ <list name="media operators">+ <include>media operators##CSS</include>+ </list>++ <list name="operators">+ <item>and</item>+ <item>or</item>+ <item>not</item>+ </list>++ <list name="annotations">+ <item>important</item>+ <item>default</item>+ <item>global</item>+ </list>++ <contexts>+ <context name="Base" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />+ <DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />+ <DetectChar attribute="Separator Symbol" context="IsSelectors" char="," />+ <AnyChar attribute="Operator" context="IsSelectors" String="*>+~|&" />+ <RegExpr attribute="Selector Pseudo" context="SelectorPseudo" String=":(?=[a-z:])" />+ <RegExpr attribute="Selector Id" context="IsSelectors" String="#[-]?(&nmstart;)(&nmchar;)*" />+ <RegExpr attribute="Selector Class" context="IsSelectors" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />+ <RegExpr attribute="Placeholder Selector" context="IsSelectors" String="%[_a-zA-Z][_a-zA-Z\-]*" />+ <RegExpr attribute="Selector Tag" context="IsSelectors" String="[-]?(&nmstart;)(&nmchar;)*(?=\s|:?[#.&{[*>+~|,]|:[a-z:])" />+ <RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />+ <Detect2Chars attribute="Interpolation" context="InterpolationMaybeProperty" char="#" char1="{" />+ </context>++ <context name="IsSelectors" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />+ <DetectChar attribute="At Rule" context="#pop!SelectAtRule" char="@" lookAhead="true" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Error" context="#pop" char=";" />+ <AnyChar attribute="Operator" context="#stay" String="*>+~|&" />+ <IncludeRules context="SelectorTypes" />+ </context>++ <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">+ <AnyChar attribute="Error" context="#stay" String=",&" />+ <AnyChar attribute="Operator" context="#stay" String="*>+~|" />+ <IncludeRules context="SelectorTypes" />+ </context>++ <context name="SelectorTypes" attribute="Normal Text" lineEndContext="#stay">+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />+ <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />+ <RegExpr attribute="Placeholder Selector" context="#stay" String="%[_a-zA-Z][_a-zA-Z\-]*" />+ <RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ </context>++ <context name="VariableDefine" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ </context>++ <context name="Interpolation" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Interpolation" context="#pop" char="}" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="InterpolationMaybeProperty" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Interpolation" context="#pop!MaybeProperty" char="}" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="MaybeProperty" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Normal Text" context="Rule" String=":($|[/{\s0-9$"'])" lookAhead="true"/>+ </context>+++ <!-- find functions // rgba(255,255,255,0.75) -->+ <context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">+ <RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />+ </context>++ <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->+ <context name="FindValues" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Annotation" context="Annotation" char="!" />+ <keyword attribute="Operator" context="#stay" String="operators" />+ <keyword attribute="Value Keyword" context="#stay" String="value keywords" />+ <keyword attribute="Value" context="#stay" String="values" />+ <keyword attribute="Color" context="#stay" String="colors" />+ <RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?" />+ <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" />+ <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />+ <keyword attribute="Value Keyword" context="#stay" String="special values" />+ <RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />+ <AnyChar attribute="Operator" context="#stay" String="*/+%-" />+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ </context>++ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <keyword attribute="Annotation" context="#pop" String="annotations" />+ </context>++ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x)\b)" />+ </context>++ <!-- find strings // "some words" 'some words' -->+ <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="String" context="StringDQ" char=""" />+ <DetectChar attribute="String" context="StringSQ" char="'" />+ </context>++ <!-- find comments // /* comment */ -->+ <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="/" lookAhead="true"/>+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>+ </context>++ <context name="IsComments" attribute="Normal Text" lineEndContext="#stay">+ <RegExpr attribute="Region Marker" context="#stay" String="/\*\s*BEGIN\b.*\*/|//\s*BEGIN\b.*" beginRegion="UserDefined" />+ <RegExpr attribute="Region Marker" context="#stay" String="/\*\s*END\b.*\*/|//\s*END\b.*" endRegion="UserDefined" />+ <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />+ <Detect2Chars attribute="Comment" context="SassComment" char="/" char1="/" />+ </context>++ <context name="SassComment" attribute="Comment" lineEndContext="#pop#pop">+ <DetectSpaces />+ <IncludeRules context="##Comments" />+ <DetectIdentifier />+ </context>++ <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">+ <keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />+ <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />+ <keyword attribute="At Rule" context="#pop!UnknownAtRule" String="inline and nested at-rules" />+ <keyword attribute="At Rule" context="#pop!@extend" String="@extend" />+ <keyword attribute="At Rule" context="#pop!@mixin" String="@mixin" />+ <keyword attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />+ <keyword attribute="At Rule" context="#pop!@viewport" String="@viewport" />+ <keyword attribute="At Rule" context="#pop!@font-face" String="@font-face" />+ <keyword attribute="At Rule" context="#pop!@if" String="@if" />+ <keyword attribute="At Rule" context="#pop!@else" String="@else" />+ <keyword attribute="At Rule" context="#pop!@page" String="@page" />+ <RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />+ </context>++ <context name="@if" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <AnyChar attribute="Operator" context="#stay" String="=!<>" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="@else" attribute="Error" lineEndContext="#stay">+ <DetectSpaces attribute="Normal Text" />+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />+ <IncludeRules context="FindComments" />+ <WordDetect attribute="At Rule" context="#pop!@if" String="if" />+ <DetectIdentifier attribute="Error" />+ </context>++ <context name="@extend" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ <IncludeRules context="FindSelector" />+ </context>++ <context name="@mixin" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Function" context="MixinParameter" String="[a-zA-Z0-9\-_]+" />+ </context>++ <context name="MixinParameter" attribute="Error" lineEndContext="#stay">+ <DetectSpaces attribute="Normal Text" />+ <AnyChar attribute="Normal Text" context="#stay" String="()" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Normal Text" context="#pop#pop!RuleSet" char="{" beginRegion="ruleset" />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />+ <StringDetect attribute="Operator" context="#stay" String="..." />+ </context>++ <context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />+ </context>++ <context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />+ <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />+ <keyword attribute="Value" context="#stay" String="within-@keyframes" />+ <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />+ </context>++ <context name="@viewport" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />+ <DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />+ </context>++ <context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <keyword attribute="Property" context="IsProperty" String="within-@viewport" />+ <IncludeRules context="RuleSet" />+ </context>++ <context name="@font-face" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />+ </context>++ <context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <keyword attribute="Property" context="IsProperty" String="within-@font-face" />+ <RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ </context>++ <context name="@page" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />+ <DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />+ </context>++ <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />+ <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <keyword attribute="Property" context="IsProperty" String="within-@page" />+ <IncludeRules context="RuleSet" />+ </context>++ <context name="IsProperty" attribute="Error" lineEndContext="#stay">+ <DetectSpaces attribute="Normal Text" />+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ <IncludeRules context="FindComments" />+ </context>++ <context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />+ <IncludeRules context="AtRuleValue" />+ </context>++ <context name="AtRule" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ <IncludeRules context="AtRuleValue" />+ </context>++ <context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ <IncludeRules context="AtRuleValue" />+ </context>++ <context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Operator" context="#stay" char="&" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <keyword attribute="Keyword" context="#stay" String="media operators" />+ <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />+ <keyword attribute="Value" context="#stay" String="medias" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">+ <DetectChar attribute="Selector Attribute" context="#pop" char="]" />+ <IncludeRules context="FindStrings" />+ <DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />+ <DetectIdentifier />+ </context>++ <context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />+ <DetectIdentifier />+ </context>++ <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />+ <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">+ <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />+ <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />+ </context>++ <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />+ <DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />+ <IncludeRules context="FindSelector" />+ </context>++ <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />+ </context>++ <context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />+ <DetectIdentifier />+ </context>++ <context name="Comment" attribute="Comment" lineEndContext="#stay">+ <DetectSpaces />+ <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />+ <IncludeRules context="##Comments" />+ <DetectIdentifier />+ </context>++ <context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ <RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+\s*:($|[/{\s0-9$"'])" lookAhead="true" />+ <IncludeRules context="Base" />+ <!-- auto-completion only, includes by a previous rule -->+ <keyword attribute="Normal Text" context="#stay" String="properties" />+ </context>++ <context name="Rule" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />+ <keyword attribute="Property" context="#stay" String="properties" />+ <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />+ </context>++ <context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />+ <RegExpr attribute="Variable" context="#stay" String="[^:]+" />+ </context>++ <context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <!-- Jump out conditions -->+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />+ <DetectChar attribute="Normal Text" context="SubRule" char="{" beginRegion="ruleset" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="SubRule" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />+ <RegExpr attribute="Property" context="IsProperty" String="[A-Za-z_-]+(?=\s*:)" />+ <RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />+ <Detect2Chars attribute="Interpolation" context="InterpolationMaybeProperty" char="#" char1="{" />+ <DetectIdentifier />+ <AnyChar attribute="Error" context="#stay" String="*>+~|.#" />+ <!-- auto-completion only, includes by previous rule -->+ <keyword attribute="Normal Text" context="#stay" String="properties" />+ <keyword attribute="Normal Text" context="#stay" String="sub-properties" />+ </context>++ <context name="Function" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Function" context="FunctionParameters" char="(" />+ <StringDetect attribute="Function" context="FunctionVar" String="var(" />+ <StringDetect attribute="Function" context="FunctionUrl" String="url(" />+ <StringDetect attribute="Function" context="FunctionCalc" String="calc(" />+ <keyword attribute="Function" context="#stay" String="functions" />+ <RegExpr attribute="Function" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />+ </context>++ <context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ <IncludeRules context="Calc" />+ </context>++ <context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop" char=")" />+ <IncludeRules context="Calc" />+ </context>++ <context name="Calc" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Normal Text" context="NestedCalc" char="(" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">+ <DetectSpaces />+ <IncludeRules context="FindStrings" />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ </context>++ <context name="UrlValue" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="Function" context="#pop#pop#pop" char=")" />+ </context>++ <context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <StringDetect attribute="Operator" String="..." />+ </context>++ <!-- string contexts -->+ <context name="StringDQ" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="String" context="#pop" char=""" />+ <IncludeRules context="InsideString" />+ </context>++ <context name="StringSQ" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="String" context="#pop" char="'" />+ <IncludeRules context="InsideString" />+ </context>++ <context name="InsideString" attribute="String" lineEndContext="#stay">+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />+ <RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />+ <RegExpr attribute="String" context="#stay" String="\\?[^#"'\\]+" />+ </context>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>+ <itemData name="Interpolation" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>+ <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>+ <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Placeholder Selector" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Comment" defStyleNum="dsComment" />+ <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>+ </itemDatas>+ </highlighting>++ <general>+ <keywords casesensitive="0" weakDeliminator="-%@" />+ <comments>+ <comment name="singleLine" start="//" position="afterwhitespace" />+ <comment name="multiLine" start="/*" end="*/" region="comment" />+ </comments>+ </general>++</language>+<!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->
+ xml/systemverilog.xml view
@@ -0,0 +1,993 @@+<?xml version="1.0" encoding="UTF-8"?>+<!--***********************************************************************-->+<!-- $Id: systemverilog.xml 10 2009-06-25 03:41:39Z seanoboyle $ -->+<!--***********************************************************************-->+<!-- This program is free software: you can redistribute it and/or modify -->+<!-- it under the terms of the GNU General Public License as published by -->+<!-- the Free Software Foundation, either version 3 of the License, or -->+<!-- (at your option) any later version. -->+<!-- -->+<!-- This program is distributed in the hope that it will be useful, -->+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->+<!-- GNU General Public License for more details. -->+<!-- -->+<!-- You should have received a copy of the GNU General Public License -->+<!-- along with this program. If not, see <http://www.gnu.org/licenses/>.-->+<!-- -->+<!--***********************************************************************-->+<!-- Title: SystemVerilog Language Keywords File for Kate Editor -->+<!-- Description: This file contains the SV keywords defined in the -->+<!-- IEEE1800-2009 Draft Standard in the format expected by -->+<!-- the Kate Editor. -->+<!-- -->+<!-- Original Author: Sean O'Boyle -->+<!-- Contact: seanoboyle@intelligentdv.com -->+<!-- Company: Intelligent Design Verification -->+<!-- Company URL: http://intelligentdv.com -->+<!-- -->+<!-- Download the most recent version here: -->+<!-- http://intelligentdv.com/downloads -->+<!-- -->+<!-- File Bugs Here: http://bugs.intelligentdv.com -->+<!-- Project: SyntaxFiles -->+<!-- -->+<!-- File: systemverilog.xml -->+<!-- $LastChangedBy: seanoboyle $ -->+<!-- $LastChangedDate: 2009-06-24 20:41:39 -0700 (Wed, 24 Jun 2009) $ -->+<!-- $LastChangedRevision: 10 $ -->+<!-- -->+<!--***********************************************************************-->+<!DOCTYPE language SYSTEM "language.dtd">+<language name="SystemVerilog" version="11" kateversion="5.0" section="Hardware" extensions="*.sv;*.svh" mimetype="text/x-systemverilog-src" author="Sean O'Boyle (seanoboyle@intelligentdv.com)" license="GPLv3+">+ <highlighting>+ <list name="key_deprecated">+ <item>defparam</item>+ <item>deassign</item>+ </list>++ <list name="key_dpi">+ <item>DPI</item>+ <item>DPI-C</item>+ <item>import</item>+ <item>export</item>+ <item>context</item>+ </list>++ <list name="key_assert">+ <item>assert</item>+ <item>assume</item>+ <item>cover</item>+ <item>expect</item>+ <item>disable</item>+ <item>iff</item>+ <item>binsof</item>+ <item>intersect</item>+ <item>first_match</item>+ <item>throughout</item>+ <item>within</item>+ </list>++ <list name="key_coverage">+ <item>coverpoint</item>+ <item>cross</item>+ <item>wildcard</item>+ <item>bins</item>+ <item>ignore_bins</item>+ <item>illegal_bins</item>+ </list>++ <list name="key_generator">+ <item>genvar</item>+ </list>++ <list name="key_conditional">+ <item>if</item>+ <item>else</item>+ <item>unique</item>+ <item>priority</item>+ <item>matches</item>+ </list>++ <list name="key_case">+ <item>default</item>+ </list>++ <list name="key_loop">+ <item>forever</item>+ <item>repeat</item>+ <item>while</item>+ <item>for</item>+ <item>do</item>+ <item>foreach</item>+ <item>break</item>+ <item>continue</item>+ <item>return</item>+ </list>++ <list name="key_specify">+ <item>pulsestyle_onevent</item>+ <item>pulsestyle_ondetect</item>+ <item>noshowcancelled</item>+ <item>showcancelled</item>+ <item>ifnone</item>+ </list>++ <list name="key_procblock">+ <item>initial</item>+ <item>final</item>+ <item>always</item>+ <item>always_comb</item>+ <item>always_ff</item>+ <item>always_latch</item>+ </list>++ <list name="key_contassign">+ <item>alias</item>+ <item>assign</item>+ <item>force</item>+ <item>release</item>+ </list>++ <list name="key_event">+ <item>posedge</item>+ <item>negedge</item>+ <item>edge</item>+ <item>wait</item>+ <item>wait_order</item>+ </list>++ <list name="key_time">+ <item>timeunit</item>+ <item>timeprecision</item>+ <item>s</item>+ <item>ms</item>+ <item>ns</item>+ <item>us</item>+ <item>ns</item>+ <item>ps</item>+ <item>fs</item>+ <item>step</item>+ </list>++ <list name="key_class">+ <item>new</item>+ <item>extends</item>+ <item>this</item>+ <item>super</item>+ <item>protected</item>+ <item>local</item>+ <item>rand</item>+ <item>randc</item>+ <item>bind</item>+ </list>++ <list name="key_constraint">+ <item>constraint</item>+ <item>solve</item>+ <item>before</item>+ <item>dist</item>+ <item>inside</item>+ <item>with</item>+ </list>++ <list name="key_methods">+ <item>virtual</item>+ <item>pure</item>+ <item>extern</item>+ <item>forkjoin</item>+ </list>++ <list name="key_config">+ <item>design</item>+ <item>instance</item>+ <item>cell</item>+ <item>liblist</item>+ <item>use</item>+ </list>++ <list name="key_library">+ <item>library</item>+ <item>incdir</item>+ <item>include</item>+ </list>++ <list name="key_interface">+ <item>modport</item>+ </list>++ <list name="key_checker">+ <item>sync_accept_on</item>+ <item>reject_on</item>+ <item>accept_on</item>+ <item>sync_reject_on</item>+ <item>restrict</item>+ <item>let</item>+ <item>until</item>+ <item>until_with</item>+ <item>unique0</item>+ <item>eventually</item>+ <item>s_until</item>+ <item>s_always</item>+ <item>s_eventually</item>+ <item>s_nexttime</item>+ <item>s_until_with</item>+ <item>global</item>+ <item>untyped</item>+ <item>implies</item>+ <item>weak</item>+ <item>strong</item>+ <item>nexttime</item>+ </list>++ <list name="key_types">+ <!-- parameters -->+ <item>parameter</item>+ <item>localparam</item>+ <item>specparam</item>+ <!-- port direction -->+ <item>input</item>+ <item>output</item>+ <item>inout</item>+ <item>ref</item>+ <!-- integer atom type -->+ <item>byte</item>+ <item>shortint</item>+ <item>int</item>+ <item>integer</item>+ <item>longint</item>+ <item>time</item>+ <!-- integer vector type -->+ <item>bit</item>+ <item>logic</item>+ <item>reg</item>+ <!-- net type -->+ <item>supply0</item>+ <item>supply1</item>+ <item>tri</item>+ <item>triand</item>+ <item>trior</item>+ <item>trireg</item>+ <item>tri0</item>+ <item>tri1</item>+ <item>wire</item>+ <item>uwire</item>+ <item>wand</item>+ <item>wor</item>+ <!-- signing -->+ <item>signed</item>+ <item>unsigned</item>+ <!-- noninteger type -->+ <item>shortreal</item>+ <item>real</item>+ <item>realtime</item>+ <!-- type reference -->+ <item>type</item>+ <item>void</item>+ <!-- struct union -->+ <item>struct</item>+ <item>union</item>+ <item>tagged</item>+ <!-- modifier -->+ <item>const</item>+ <item>var</item>+ <item>automatic</item>+ <item>static</item>+ <item>packed</item>+ <item>vectored</item>+ <item>scalared</item>+ <!-- other types -->+ <item>typedef</item>+ <item>enum</item>+ <item>string</item>+ <item>chandle</item>+ <item>event</item>+ <!-- misc -->+ <item>null</item>+ </list>++ <list name="key_preprocessor">+ <item>`__FILE__</item>+ <item>`__LINE__</item>+ <item>`begin_keywords</item>+ <item>`celldefine</item>+ <item>`default_nettype</item>+ <item>`define</item>+ <item>`else</item>+ <item>`elsif</item>+ <item>`end_keywords</item>+ <item>`endcelldefine</item>+ <item>`endif</item>+ <item>`ifdef</item>+ <item>`ifndef</item>+ <item>`include</item>+ <item>`line</item>+ <item>`nounconnected_drive</item>+ <item>`pragma</item>+ <item>`resetall</item>+ <item>`timescale</item>+ <item>`unconnected_drive</item>+ <item>`undef</item>+ <item>`undefineall</item>+ </list>++ <list name="key_system">+ <item>$finish</item>+ <item>$stop</item>+ <item>$exit</item>+ <item>$realtime</item>+ <item>$stime</item>+ <item>$time</item>+ <item>$printtimescale</item>+ <item>$timeformat</item>+ <item>$bitstoreal</item>+ <item>$realtobits</item>+ <item>$bitstoshortreal</item>+ <item>$shortrealtobits</item>+ <item>$itor</item>+ <item>$rtoi</item>+ <item>$signed</item>+ <item>$unsigned</item>+ <item>$cast</item>+ <item>$bits</item>+ <item>$isunbounded</item>+ <item>$typename</item>+ <item>$unpacked_dimensions</item>+ <item>$dimensions</item>+ <item>$left</item>+ <item>$right</item>+ <item>$low</item>+ <item>$high</item>+ <item>$increment</item>+ <item>$size</item>+ <item>$clog2</item>+ <item>$asin</item>+ <item>$ln</item>+ <item>$acos</item>+ <item>$log10</item>+ <item>$atan</item>+ <item>$exp</item>+ <item>$atan2</item>+ <item>$sqrt</item>+ <item>$hypot</item>+ <item>$pow</item>+ <item>$sinh</item>+ <item>$floor</item>+ <item>$cosh</item>+ <item>$ceil</item>+ <item>$tanh</item>+ <item>$sin</item>+ <item>$asinh</item>+ <item>$cos</item>+ <item>$acosh</item>+ <item>$tan</item>+ <item>$atanh</item>+ <item>$fatal</item>+ <item>$error</item>+ <item>$warning</item>+ <item>$info</item>+ <item>$fatal</item>+ <item>$error</item>+ <item>$warning</item>+ <item>$info</item>+ <item>$asserton</item>+ <item>$assertoff</item>+ <item>$assertkill</item>+ <item>$assertpasson</item>+ <item>$assertpassoff</item>+ <item>$assertfailon</item>+ <item>$assertfailoff</item>+ <item>$assertnonvacuouson</item>+ <item>$assertvacuousoff</item>+ <item>$onehot</item>+ <item>$onehot0</item>+ <item>$isunknown</item>+ <item>$sampled</item>+ <item>$rose</item>+ <item>$fell</item>+ <item>$stable</item>+ <item>$changed</item>+ <item>$past</item>+ <item>$countones</item>+ <item>$past_gclk</item>+ <item>$rose_gclk</item>+ <item>$fell_gclk</item>+ <item>$stable_gclk</item>+ <item>$changed_gclk</item>+ <item>$future_gclk</item>+ <item>$rising_gclk</item>+ <item>$falling_gclk</item>+ <item>$steady_gclk</item>+ <item>$changing_gclk</item>+ <item>$coverage_control</item>+ <item>$coverage_get_max</item>+ <item>$coverage_get</item>+ <item>$coverage_merge</item>+ <item>$coverage_save</item>+ <item>$get_coverage</item>+ <item>$set_coverage_db_name</item>+ <item>$load_coverage_db</item>+ <item>$random</item>+ <item>$dist_chi_square</item>+ <item>$dist_erlang</item>+ <item>$dist_exponential</item>+ <item>$dist_normal</item>+ <item>$dist_poisson</item>+ <item>$dist_t</item>+ <item>$dist_uniform</item>+ <item>$q_initialize</item>+ <item>$q_add</item>+ <item>$q_remove</item>+ <item>$q_full</item>+ <item>$q_exam</item>+ <item>$async$and$array</item>+ <item>$async$and$plane</item>+ <item>$async$nand$array</item>+ <item>$async$nand$plane</item>+ <item>$async$or$array</item>+ <item>$async$or$plane</item>+ <item>$async$nor$array</item>+ <item>$async$nor$plane</item>+ <item>$sync$and$array</item>+ <item>$sync$and$plane</item>+ <item>$sync$nand$array</item>+ <item>$sync$nand$plane</item>+ <item>$sync$or$array</item>+ <item>$sync$or$plane</item>+ <item>$sync$nor$array</item>+ <item>$sync$nor$plane</item>+ <item>$system</item>+ <item>$display</item>+ <item>$write</item>+ <item>$displayb</item>+ <item>$writeb</item>+ <item>$displayh</item>+ <item>$writeh</item>+ <item>$displayo</item>+ <item>$writeo</item>+ <item>$strobe</item>+ <item>$monitor</item>+ <item>$strobeb</item>+ <item>$monitorb</item>+ <item>$strobeh</item>+ <item>$monitorh</item>+ <item>$strobeo</item>+ <item>$monitoro</item>+ <item>$monitoroff</item>+ <item>$monitoron</item>+ <item>$fclose</item>+ <item>$fopen</item>+ <item>$fdisplay</item>+ <item>$fwrite</item>+ <item>$fdisplayb</item>+ <item>$fwriteb</item>+ <item>$fdisplayh</item>+ <item>$fwriteh</item>+ <item>$fdisplayo</item>+ <item>$fwriteo</item>+ <item>$fstrobe</item>+ <item>$fmonitor</item>+ <item>$fstrobeb</item>+ <item>$fmonitorb</item>+ <item>$fstrobeh</item>+ <item>$fmonitorh</item>+ <item>$fstrobeo</item>+ <item>$fmonitoro</item>+ <item>$swrite</item>+ <item>$sformat</item>+ <item>$swriteb</item>+ <item>$sformatf</item>+ <item>$swriteh</item>+ <item>$fgetc</item>+ <item>$swriteo</item>+ <item>$ungetc</item>+ <item>$fscanf</item>+ <item>$fgets</item>+ <item>$fread</item>+ <item>$sscanf</item>+ <item>$fseek</item>+ <item>$rewind</item>+ <item>$fflush</item>+ <item>$ftell</item>+ <item>$feof</item>+ <item>$ferror</item>+ <item>$readmemb</item>+ <item>$readmemh</item>+ <item>$writememb</item>+ <item>$writememh</item>+ <item>$test$plusargs</item>+ <item>$value$plusargs</item>+ <item>$dumpfile</item>+ <item>$dumpvars</item>+ <item>$dumpoff</item>+ <item>$dumpon</item>+ <item>$dumpall</item>+ <item>$dumplimit</item>+ <item>$dumpflush</item>+ <item>$dumpports</item>+ <item>$dumpportsoff</item>+ <item>$dumpportson</item>+ <item>$dumpportsall</item>+ <item>$dumpportslimit</item>+ <item>$dumpportsflush</item>+ </list>++ <list name="key_gates">+ <item>pullup</item>+ <item>pulldown</item>+ <item>cmos</item>+ <item>rcmos</item>+ <item>nmos</item>+ <item>pmos</item>+ <item>rnmos</item>+ <item>rpmos</item>+ <item>and</item>+ <item>nand</item>+ <item>or</item>+ <item>nor</item>+ <item>xor</item>+ <item>xnor</item>+ <item>not</item>+ <item>buf</item>+ <item>tran</item>+ <item>rtran</item>+ <item>tranif0</item>+ <item>tranif1</item>+ <item>rtranif0</item>+ <item>rtranif1</item>+ <item>bufif0</item>+ <item>bufif1</item>+ <item>notif0</item>+ <item>notif1</item>+ </list>++ <list name="key_strength">+ <!-- drive strength -->+ <item>strong0</item>+ <item>strong1</item>+ <item>pull0</item>+ <item>pull1</item>+ <item>weak0</item>+ <item>weak1</item>+ <item>highz0</item>+ <item>highz1</item>+ <!-- charge strength -->+ <item>small</item>+ <item>medium</item>+ <item>large</item>+ </list>+ <list name="key_stdlib">+ <item>randomize</item>+ <item>mailbox</item>+ <item>semaphore</item>+ <item>put</item>+ <item>get</item>+ <item>try_put</item>+ <item>try_get</item>+ <item>peek</item>+ <item>try_peek</item>+ <item>process</item>+ <item>state</item>+ <item>self</item>+ <item>status</item>+ <item>kill</item>+ <item>await</item>+ <item>suspend</item>+ <item>resume</item>+ <!-- Array -->+ <item>size</item>+ <item>delete</item>+ <item>insert</item>+ <item>num</item>+ <item>first</item>+ <item>last</item>+ <item>next</item>+ <item>prev</item>+ <item>pop_front</item>+ <item>pop_back</item>+ <item>push_front</item>+ <item>push_back</item>+ <item>find</item>+ <item>find_index</item>+ <item>find_first</item>+ <item>find_last</item>+ <item>find_last_index</item>+ <item>min</item>+ <item>max</item>+ <item>unique_index</item>+ <item>reverse</item>+ <item>sort</item>+ <item>rsort</item>+ <item>shuffle</item>+ <item>sum</item>+ <item>product</item>+ <!-- List_pkg -->+ <item>List</item>+ <item>List_Iterator</item>+ <item>neq</item>+ <item>eq</item>+ <item>data</item>+ <item>empty</item>+ <item>front</item>+ <item>back</item>+ <item>start</item>+ <item>finish</item>+ <item>insert_range</item>+ <item>erase</item>+ <item>erase_range</item>+ <item>set</item>+ <item>swap</item>+ <item>clear</item>+ <item>purge</item>+ </list>++ <list name="begin">+ <item>begin</item>+ </list>+ <list name="end">+ <item>end</item>+ </list>+ <list name="package">+ <item>package</item>+ </list>+ <list name="endpackage">+ <item>endpackage</item>+ </list>+ <list name="macromodule">+ <item>macromodule</item>+ </list>+ <list name="module">+ <item>module</item>+ </list>+ <list name="endmodule">+ <item>endmodule</item>+ </list>+ <list name="generate">+ <item>generate</item>+ </list>+ <list name="endgenerate">+ <item>endgenerate</item>+ </list>+ <list name="program">+ <item>program</item>+ </list>+ <list name="endprogram">+ <item>endprogram</item>+ </list>+ <list name="class">+ <item>class</item>+ </list>+ <list name="endclass">+ <item>endclass</item>+ </list>+ <list name="function">+ <item>function</item>+ </list>+ <list name="endfunction">+ <item>endfunction</item>+ </list>+ <list name="case">+ <item>case</item>+ </list>+ <list name="casex">+ <item>casex</item>+ </list>+ <list name="casez">+ <item>casez</item>+ </list>+ <list name="randcase">+ <item>randcase</item>+ </list>+ <list name="endcase">+ <item>endcase</item>+ </list>+ <list name="interface">+ <item>interface</item>+ </list>+ <list name="endinterface">+ <item>endinterface</item>+ </list>+ <list name="clocking">+ <item>clocking</item>+ </list>+ <list name="endclocking">+ <item>endclocking</item>+ </list>+ <list name="task">+ <item>task</item>+ </list>+ <list name="endtask">+ <item>endtask</item>+ </list>+ <list name="primitive">+ <item>primitive</item>+ </list>+ <list name="endprimitive">+ <item>endprimitive</item>+ </list>+ <list name="fork">+ <item>fork</item>+ </list>+ <list name="join">+ <item>join</item>+ </list>+ <list name="join_any">+ <item>join_any</item>+ </list>+ <list name="join_none">+ <item>join_none</item>+ </list>+ <list name="covergroup">+ <item>covergroup</item>+ </list>+ <list name="endgroup">+ <item>endgroup</item>+ </list>+ <list name="checker">+ <item>checker</item>+ </list>+ <list name="endchecker">+ <item>endchecker</item>+ </list>+ <list name="property">+ <item>property</item>+ </list>+ <list name="endproperty">+ <item>endproperty</item>+ </list>+ <list name="randsequence">+ <item>randsequence</item>+ </list>+ <list name="sequence">+ <item>sequence</item>+ </list>+ <list name="endsequence">+ <item>endsequence</item>+ </list>+ <list name="specify">+ <item>specify</item>+ </list>+ <list name="endspecify">+ <item>endspecify</item>+ </list>+ <list name="config">+ <item>config</item>+ </list>+ <list name="endconfig">+ <item>endconfig</item>+ </list>+ <list name="table">+ <item>table</item>+ </list>+ <list name="endtable">+ <item>endtable</item>+ </list>+ <list name="extern">+ <item>extern</item>+ </list>+ <list name="pure">+ <item>pure</item>+ </list>+ <list name="typedef">+ <item>typedef</item>+ </list>+ <list name="import">+ <item>import</item>+ </list>+++ <contexts>+ <context attribute="Normal Text" lineEndContext="#stay" name="Normal">+ <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>+ <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>+ <RegExpr attribute="Block Keyword" context="Block Name" String="begin\ *:" beginRegion="beginEnd"/>+ <keyword attribute="Method Keyword" context="Extern Context" String="extern"/>+ <keyword attribute="Method Keyword" context="Extern Context" String="pure"/>+ <keyword attribute="Method Keyword" context="Extern Context" String="import"/>+ <keyword attribute="Type Keyword" context="Typedef Context" String="typedef"/>+ <keyword attribute="Block Keyword" context="#stay" String="begin" beginRegion="beginEnd"/>+ <keyword attribute="Block Keyword" context="#stay" String="end" endRegion="beginEnd"/>+ <keyword attribute="Block Keyword" context="#stay" String="package" beginRegion="packageEndpackage"/>+ <keyword attribute="Block Keyword" context="#stay" String="endpackage" endRegion="packageEndpackage"/>+ <keyword attribute="Block Keyword" context="#stay" String="macromodule" beginRegion="moduleEndmodule"/>+ <keyword attribute="Block Keyword" context="#stay" String="module" beginRegion="moduleEndmodule"/>+ <keyword attribute="Block Keyword" context="#stay" String="endmodule" endRegion="moduleEndmodule"/>+ <keyword attribute="Block Keyword" context="#stay" String="generate" beginRegion="generateEndgenerate"/>+ <keyword attribute="Block Keyword" context="#stay" String="endgenerate" endRegion="generateEndgenerate"/>+ <keyword attribute="Block Keyword" context="#stay" String="program" beginRegion="programEndprogram"/>+ <keyword attribute="Block Keyword" context="#stay" String="endprogram" endRegion="programEndprogram"/>+ <keyword attribute="Block Keyword" context="#stay" String="class" beginRegion="classEndclass"/>+ <keyword attribute="Block Keyword" context="#stay" String="endclass" endRegion="classEndclass"/>+ <keyword attribute="Block Keyword" context="#stay" String="function" beginRegion="functionEndfunction"/>+ <keyword attribute="Block Keyword" context="#stay" String="endfunction" endRegion="functionEndfunction"/>+ <keyword attribute="Block Keyword" context="#stay" String="case" beginRegion="caseEndcase"/>+ <keyword attribute="Block Keyword" context="#stay" String="casex" beginRegion="caseEndcase"/>+ <keyword attribute="Block Keyword" context="#stay" String="casez" beginRegion="caseEndcase"/>+ <keyword attribute="Block Keyword" context="#stay" String="randcase" beginRegion="caseEndcase"/>+ <keyword attribute="Block Keyword" context="#stay" String="endcase" endRegion="caseEndcase"/>+ <keyword attribute="Block Keyword" context="#stay" String="interface" beginRegion="interfaceEndinterface"/>+ <keyword attribute="Block Keyword" context="#stay" String="endinterface" endRegion="interfaceEndinterface"/>+ <keyword attribute="Block Keyword" context="#stay" String="clocking" beginRegion="clockingEndclocking"/>+ <keyword attribute="Block Keyword" context="#stay" String="endclocking" endRegion="clockingEndclocking"/>+ <keyword attribute="Block Keyword" context="#stay" String="task" beginRegion="taskEndtask"/>+ <keyword attribute="Block Keyword" context="#stay" String="endtask" endRegion="taskEndtask"/>+ <keyword attribute="Block Keyword" context="#stay" String="primitive" beginRegion="primitiveEndprimitive"/>+ <keyword attribute="Block Keyword" context="#stay" String="endprimitive" endRegion="primitiveEndprimitive"/>+ <keyword attribute="Block Keyword" context="#stay" String="fork" beginRegion="forkJoin"/>+ <keyword attribute="Block Keyword" context="#stay" String="join" endRegion="forkJoin"/>+ <keyword attribute="Block Keyword" context="#stay" String="join_any" endRegion="forkJoin"/>+ <keyword attribute="Block Keyword" context="#stay" String="join_none" endRegion="forkJoin"/>+ <keyword attribute="Block Keyword" context="#stay" String="covergroup" beginRegion="covergroupEndgroup"/>+ <keyword attribute="Block Keyword" context="#stay" String="endgroup" endRegion="covergroupEndgroup"/>+ <keyword attribute="Block Keyword" context="#stay" String="checker" beginRegion="checkerEndchecker"/>+ <keyword attribute="Block Keyword" context="#stay" String="endchecker" endRegion="checkerEndchecker"/>+ <keyword attribute="Block Keyword" context="#stay" String="property" beginRegion="propertyEndproperty"/>+ <keyword attribute="Block Keyword" context="#stay" String="endproperty" endRegion="propertyEndproperty"/>+ <keyword attribute="Block Keyword" context="#stay" String="randsequence" beginRegion="sequenceEndsequence"/>+ <keyword attribute="Block Keyword" context="#stay" String="sequence" beginRegion="sequenceEndsequence"/>+ <keyword attribute="Block Keyword" context="#stay" String="endsequence" endRegion="sequenceEndsequence"/>+ <keyword attribute="Block Keyword" context="#stay" String="specify" beginRegion="specifyEndspecify"/>+ <keyword attribute="Block Keyword" context="#stay" String="endspecify" endRegion="specifyEndspecify"/>+ <keyword attribute="Block Keyword" context="#stay" String="config" beginRegion="configEndconfig"/>+ <keyword attribute="Block Keyword" context="#stay" String="endconfig" endRegion="configEndconfig"/>+ <keyword attribute="Block Keyword" context="#stay" String="table" beginRegion="tableEndtable"/>+ <keyword attribute="Block Keyword" context="#stay" String="endtable" endRegion="tableEndtable"/>+ <keyword attribute="Deprecated Keyword" context="#stay" String="key_deprecated"/>+ <keyword attribute="DPI Keyword" context="#stay" String="key_dpi"/>+ <keyword attribute="Assert Keyword" context="#stay" String="key_assert"/>+ <keyword attribute="Coverage Keyword" context="#stay" String="key_coverage"/>+ <keyword attribute="Generator Keyword" context="#stay" String="key_generator"/>+ <keyword attribute="Confitional Keyword" context="#stay" String="key_conditional"/>+ <keyword attribute="Case Keyword" context="#stay" String="key_case"/>+ <keyword attribute="Loop Keyword" context="#stay" String="key_loop"/>+ <keyword attribute="Specify Keyword" context="#stay" String="key_specify"/>+ <keyword attribute="Process Block Keyword" context="#stay" String="key_procblock"/>+ <keyword attribute="Continuous Assign Keyword" context="#stay" String="key_contassign"/>+ <keyword attribute="Event Keyword" context="#stay" String="key_event"/>+ <keyword attribute="Time Keyword" context="#stay" String="key_time"/>+ <keyword attribute="Class Keyword" context="#stay" String="key_class"/>+ <keyword attribute="Constraint Keyword" context="#stay" String="key_constraint"/>+ <keyword attribute="Method Keyword" context="#stay" String="key_methods"/>+ <keyword attribute="Config Keyword" context="#stay" String="key_config"/>+ <keyword attribute="Library Keyword" context="#stay" String="key_library"/>+ <keyword attribute="Interface Keyword" context="#stay" String="key_interface"/>+ <keyword attribute="Checker Keyword" context="#stay" String="key_checker"/>+ <keyword attribute="Data Type Keyword" context="#stay" String="key_types"/>+ <keyword attribute="Preprocessor Keyword" context="#stay" String="key_preprocessor"/>+ <keyword attribute="System Task Keyword" context="#stay" String="key_system"/>+ <keyword attribute="Drive/Charge Strength Keyword" context="#stay" String="key_strength"/>+ <keyword attribute="Gate Instantiation Keyword" context="#stay" String="key_gates"/>+ <keyword attribute="Standard Library" context="#stay" String="key_stdlib"/>++ <RegExpr attribute="Decimal" context="#stay" String="[\d_]*'d[\d_]+"/>+ <RegExpr attribute="Octal" context="#stay" String="[\d_]*'o[0-7xXzZ_]+"/>+ <RegExpr attribute="Hex" context="#stay" String="[\d_]*'h[\da-fA-FxXzZ_]+"/>+ <RegExpr attribute="Binary" context="#stay" String="[\d_]*'b[01_zZxX]+"/>+ <Float attribute="Float" context="#stay"/>+ <Int attribute="Integer" context="#stay"/>++ <RegExpr attribute="Port Connection" context="#stay" String="[^\w$]\.[a-zA-Z]+[\w$]*"/>++ <DetectChar attribute="String" context="String" char="""/>+ <IncludeRules context="FindComments" />+ <AnyChar attribute="Symbol" context="#stay" String="!%&()+,-<=+/:;>?[]^{|}~@"/>++ <DetectChar attribute="Preprocessor" context="Preprocessor" char="`" column="0"/>+ <RegExpr attribute="Preprocessor" context="#stay" String="\`[a-zA-Z_]+\w*" />+ <RegExpr attribute="PLI Task" context="#stay" String="\$[a-zA-Z_]+\w*"/>+ <RegExpr attribute="Delay" context="#stay" String="#[\d_]+"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#pop" name="Extern Context">+ <keyword attribute="Method Keyword" context="#stay" String="key_methods"/>+ <keyword attribute="DPI Keyword" context="#stay" String="key_dpi"/>+ <keyword attribute="Class Keyword" context="#stay" String="key_class"/>+ <keyword attribute="Constraint Keyword" context="#stay" String="key_constraint"/>+ <keyword attribute="Block Keyword" context="#pop" String="function"/>+ <keyword attribute="Block Keyword" context="#pop" String="task"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#pop" name="Typedef Context">+ <keyword attribute="Block Keyword" context="#pop" String="class"/>+ <keyword attribute="Type Keyword" context="#pop" String="key_types"/>+ <keyword attribute="Interface Keyword" context="#pop" String="key_interface"/>+ <keyword attribute="Checker Keyword" context="#pop" String="key_checker"/>+ </context>+ <context attribute="String" lineEndContext="#pop" name="String">+ <LineContinue attribute="String" context="#stay"/>+ <HlCStringChar attribute="String Char" context="#stay"/>+ <DetectChar attribute="String" context="#pop" char="""/>+ </context>++ <context name="FindComments" attribute="Normal Text" lineEndContext="#pop">+ <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="/" lookAhead="true" />+ <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" />+ </context>++ <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <IncludeRules context="##Doxygen" />+ <Detect2Chars attribute="Comment" context="#pop!Commentar 1" char="/" char1="/"/>+ <Detect2Chars attribute="Comment" context="#pop!Commentar 2" char="/" char1="*" beginRegion="Comment"/>+ </context>++ <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">+ <LineContinue attribute="Comment" context="#stay"/>+ <DetectSpaces />+ <IncludeRules context="##Comments" />+ <DetectIdentifier />+ </context>++ <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">+ <DetectSpaces />+ <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>+ <IncludeRules context="##Comments" />+ <DetectIdentifier />+ </context>+ + <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">+ <LineContinue attribute="Preprocessor" context="#stay"/>+ <RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>+ <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>+ <IncludeRules context="FindComments" />+ </context>++ <context attribute="Block Name" lineEndContext="#pop" name="Block Name">+ <RegExpr attribute="Data Type Keyword" context="#pop" String="[^ ]+"/>+ </context>+ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal"/>+ <itemData name="Block Keyword" defStyleNum="dsKeyword"/>+ <itemData name="DPI Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Assert Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Coverage Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Generator Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Confitional Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Case Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Loop Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Specify Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Process Block Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Continuous Assign Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Event Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Time Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Class Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Constraint Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Method Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Config Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Library Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Interface Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Checker Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Type Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Preprocessor Keyword" defStyleNum="dsOthers"/>+ <itemData name="Preprocessor" defStyleNum="dsOthers"/>+ <itemData name="System Task Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Data Type Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Drive/Charge Strength Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Gate Instantiation Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Decimal" defStyleNum="dsBaseN"/>+ <itemData name="Octal" defStyleNum="dsBaseN"/>+ <itemData name="Hex" defStyleNum="dsBaseN"/>+ <itemData name="Binary" defStyleNum="dsBaseN"/>+ <itemData name="Float" defStyleNum="dsFloat"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="String Char" defStyleNum="dsChar"/>+ <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Deprecated Keyword" defStyleNum="dsError"/>+ <itemData name="Symbol" defStyleNum="dsNormal"/>+ <itemData name="Prep. Lib" defStyleNum="dsFloat"/>+ <itemData name="PLI Task" defStyleNum="dsDataType"/>+ <itemData name="Integer" defStyleNum="dsDecVal"/>+ <itemData name="Delay" defStyleNum="dsBaseN"/>+ <itemData name="Block Name" defStyleNum="dsDataType"/>+ <itemData name="Port Connection" defStyleNum="dsDataType"/>+ <itemData name="Standard Library" defStyleNum="dsOthers"/>+ </itemDatas>+ </highlighting>+ <general>+ <comments>+ <comment name="singleLine" start="//" position="afterwhitespace" />+ <comment name="multiLine" start="/*" end="*/" region="Comment"/>+ </comments>+ <keywords casesensitive="1"/>+ </general>+</language>+<!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->
xml/zsh.xml view
@@ -57,7 +57,7 @@ <!ENTITY int "(?:[0-9]++[_0-9]*+)"> <!ENTITY exp "(?:[eE][-+]?∫)"> ]>-<language name="Zsh" version="23" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">+<language name="Zsh" version="25" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT"> <highlighting> <list name="keywords">@@ -249,6 +249,8 @@ <DetectChar context="MaybeGroupEnd" char="}" lookAhead="1"/> <LineContinue attribute="Escape" context="#stay"/>++ <Detect2Chars attribute="Expression" context="#stay" char="!" char1=" "/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="MaybeGroupEnd"> <RegExpr context="#pop!Command" String="&nogroupend;" lookAhead="1"/>@@ -1515,10 +1517,10 @@ </context> <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeUnary" fallthroughContext="#pop!ExprBracketValue">- <RegExpr attribute="Expression" context="#pop" String="-[abcdefghknoprstuvwxzLOGNS](?=[ &tab;])"/>+ <RegExpr attribute="Expression" context="#pop" String="-[abcdefghknoprstuvwxzLOGNS](?=[ &tab;]|$)"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeBinary" fallthroughContext="#pop!ExprBracketValue">- <RegExpr attribute="Expression" context="#pop" String="(?:-(?:e[fq]|[nolg]t|[nlg]e)|==?|!=)(?=[ &tab;])"/>+ <RegExpr attribute="Expression" context="#pop" String="(?:-(?:e[fq]|[nolg]t|[nlg]e)|==?|!=)(?=[ &tab;]|$)"/> </context> @@ -1529,20 +1531,26 @@ </context> <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketNot" fallthroughContext="#pop!ExprDblBracketParam1">- <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam1"/> <DetectChar context="ExprDblBracketTestMaybeNot" char="!" lookAhead="1"/>+ <DetectSpaces attribute="Normal Text" context="#stay"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketTestMaybeNot" fallthroughContext="#pop#pop!ExprDblBracketParam1"> <RegExpr attribute="Expression" context="#pop" String="!(?=$|[ &tab;(])"/> </context> - <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam1" fallthroughContext="ExprDblBracketValue">+ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam1" fallthroughContext="#pop!ExprDblBracketParam1_2">+ <DetectSpaces attribute="Normal Text" context="#stay"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam1_2" fallthroughContext="ExprDblBracketValue"> <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam2"/>- <DetectChar context="TestMaybeUnary" char="-" lookAhead="1"/>+ <DetectChar context="TestMaybeUnary2" char="-" lookAhead="1"/> <AnyChar attribute="Expression" context="#pop!ExprDblBracketParam3Spe" String="<>"/> <DetectChar context="ExprDblBracketSubValue" char="(" lookAhead="1"/> <IncludeRules context="FindExprDblBracketEnd"/> </context>+ <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeUnary2" fallthroughContext="#pop!ExprDblBracketValue">+ <IncludeRules context="TestMaybeUnary"/>+ </context> <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketSubValue" fallthroughContext="#pop"> <DetectChar attribute="Operator" context="ExprDblBracketNot" char="("/> <DetectChar attribute="Operator" context="#pop" char=")"/>@@ -1561,7 +1569,10 @@ <DetectChar context="#pop" char=">" lookAhead="1"/> </context> - <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam2" fallthroughContext="ExprDblBracketValue">+ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam2" fallthroughContext="#pop!ExprDblBracketParam2_2">+ <DetectSpaces attribute="Normal Text" context="#stay"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam2_2" fallthroughContext="ExprDblBracketValue"> <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3"/> <AnyChar context="TestMaybeBinary2" String="-=!" lookAhead="1"/> <AnyChar attribute="Expression" context="#pop!ExprDblBracketParam3Spe" String="<>"/>@@ -1569,14 +1580,17 @@ </context> <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeBinary2" fallthroughContext="#pop!ExprDblBracketValue"> <IncludeRules context="TestMaybeBinary"/>- <RegExpr attribute="Expression" context="#pop#pop!ExprDblBracketRegex" String="=~(?=[ &tab;(])"/>+ <RegExpr attribute="Expression" context="#pop#pop!ExprDblBracketRegex" String="=~(?=[ &tab;(]|$)"/> </context> <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam3Spe" fallthroughContext="#pop!ExprDblBracketParam3"> <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3"/> </context> - <context attribute="Normal Text" lineEndContext="ExprDblBracketFinal" name="ExprDblBracketParam3" fallthroughContext="ExprDblBracketValue">+ <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam3" fallthroughContext="#pop!ExprDblBracketParam3_2">+ <DetectSpaces attribute="Normal Text" context="#stay"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#pop!ExprDblBracketFinal" name="ExprDblBracketParam3_2" fallthroughContext="ExprDblBracketValue"> <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketFinal"/> <IncludeRules context="FindExprDblBracketEnd"/> </context>