diff options
Diffstat (limited to 'kate/data/scss.xml')
-rw-r--r-- | kate/data/scss.xml | 714 |
1 files changed, 714 insertions, 0 deletions
diff --git a/kate/data/scss.xml b/kate/data/scss.xml new file mode 100644 index 000000000..918f5c0b3 --- /dev/null +++ b/kate/data/scss.xml @@ -0,0 +1,714 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> + +<!-- + + Kate SCSS syntax highlighting definition + Modified the Kate CSS syntax highlighting definition to support SCSS. + This file should be merged with any updates to the normal Kate CCS definition (see note on version numbering in changelog for 1.2.03.0). + The latest version of this file can be found at https://gist.github.com/958598 + + + Changelog: + + - Version 1.2.03.1, by Tijn Schuurmans + - Added basic support for "@include mixin();" + - Clean the indentation to use 4 spaces everywhere + + - Version 1.2.03.0, by Evan Sosenko + - Added basic SCSS syntax support (e.g. nesting). + - New version numbering: version 1.x.xx.y is for SCSS, where x.xx is forked version of original CSS syntax file, and y is minor revision to SCSS support. + +--> + +<language name="SCSS" version="2.04" kateversion="2.4" section="Markup" extensions="*.scss" indenter="cstyle" + mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> + + <highlighting> + <list name="properties"> + <!-- CSS2 --> + <item> azimuth </item> + <item> background </item> + <item> background-attachment </item> + <item> background-color </item> + <item> background-image </item> + <item> background-position </item> + <item> background-repeat </item> + <item> border </item> + <item> border-bottom </item> + <item> border-bottom-color </item> + <item> border-bottom-style </item> + <item> border-bottom-width </item> + <item> border-collapse </item> + <item> border-color </item> + <item> border-left </item> + <item> border-left-color </item> + <item> border-left-style </item> + <item> border-left-width </item> + <item> border-right </item> + <item> border-right-color </item> + <item> border-right-style </item> + <item> border-right-width </item> + <item> border-spacing </item> + <item> border-style </item> + <item> border-top </item> + <item> border-top-color </item> + <item> border-top-style </item> + <item> border-top-width </item> + <item> border-width </item> + <item> bottom </item> + <item> caption-side </item> + <item> clear </item> + <item> clip </item> + <item> color </item> + <item> content </item> + <item> counter-increment </item> + <item> counter-reset </item> + <item> cue </item> + <item> cue-after </item> + <item> cue-before </item> + <item> cursor </item> + <item> direction </item> + <item> display </item> + <item> elevation </item> + <item> empty-cells </item> + <item> float </item> + <item> font </item> + <item> font-family </item> + <item> font-size </item> + <item> font-size-adjust </item> + <item> font-stretch </item> + <item> font-style </item> + <item> font-variant </item> + <item> font-weight </item> + <item> height </item> + <item> left </item> + <item> letter-spacing </item> + <item> line-height </item> + <item> list-style </item> + <item> list-style-image </item> + <item> list-style-keyword </item> + <item> list-style-position </item> + <item> list-style-type </item> + <item> margin </item> + <item> margin-bottom </item> + <item> margin-left </item> + <item> margin-right </item> + <item> margin-top </item> + <item> marker-offset </item> + <item> max-height </item> + <item> max-width </item> + <item> min-height </item> + <item> min-width </item> + <item> orphans </item> + <item> outline </item> + <item> outline-color </item> + <item> outline-style </item> + <item> outline-width </item> + <item> overflow </item> + <item> padding </item> + <item> padding-bottom </item> + <item> padding-left </item> + <item> padding-right </item> + <item> padding-top </item> + <item> page </item> + <item> page-break-after </item> + <item> page-break-before </item> + <item> page-break-inside </item> + <item> pause </item> + <item> pause-after </item> + <item> pause-before </item> + <item> pitch </item> + <item> pitch-range </item> + <item> play-during </item> + <item> position </item> + <item> quotes </item> + <item> richness </item> + <item> right </item> + <item> size </item> + <item> speak </item> + <item> speak-header </item> + <item> speak-numeral </item> + <item> speak-punctuation </item> + <item> speech-rate </item> + <item> stress </item> + <item> table-layout </item> + <item> text-align </item> + <item> text-decoration </item> + <item> text-decoration-color </item> + <item> text-indent </item> + <item> text-shadow </item> + <item> text-transform </item> + <item> top </item> + <item> unicode-bidi </item> + <item> vertical-align </item> + <item> visibility </item> + <item> voice-family </item> + <item> volume </item> + <item> white-space </item> + <item> widows </item> + <item> width </item> + <item> word-spacing </item> + <item> z-index </item> + + <!-- CSS3 --> + <item> border-bottom-image </item> + <item> border-bottom-left-image </item> + <item> border-bottom-left-radius </item> + <item> border-bottom-right-image </item> + <item> border-bottom-right-radius </item> + <item> border-corner-image </item> + <item> border-image </item> + <item> border-left-image </item> + <item> border-radius </item> + <item> border-right-image </item> + <item> border-top-image </item> + <item> border-top-left-image </item> + <item> border-top-left-radius </item> + <item> border-top-right-image </item> + <item> border-top-right-radius </item> + <item> box-shadow </item> + <item> box-sizing </item> + <item> opacity </item> + <item> outline-offset </item> + <item> overflow-x </item> + <item> overflow-y </item> + <item> text-overflow </item> + <item> text-shadow </item> + + <!-- Gecko rendering engine CSS property extensions --> + <item> -moz-border-bottom-colors </item> + <item> -moz-border-left-colors </item> + <item> -moz-border-radius </item> + <item> -moz-border-right-colors </item> + <item> -moz-border-top-colors </item> + <item> -moz-box-flex </item> + + <!-- Opera rendering engine CSS property extensions --> + <item> -o-background-size </item> + <item> -o-text-overflow </item> + + <!-- konq specific --> + <item> -khtml-background-size </item> + <item> konq_bgpos_x </item> + <item> konq_bgpos_y </item> + + <!-- Webkit rendering engine CSS property extensions --> + <item> -webkit-background-size </item> + + <!-- font properties in @font-face --> + <item> font-family </item> + <item> font-size </item> + <item> font-stretch </item> + <item> font-style </item> + <item> font-variant </item> + <item> font-weight </item> + <item> unicode-range </item> + <item> units-per-em </item> + <item> src </item> + <item> panose-1 </item> + <item> stemv </item> + <item> stemh </item> + <item> slope </item> + <item> cap-height </item> + <item> x-height </item> + <item> ascent </item> + <item> descent </item> + <item> widths </item> + <item> bbox </item> + <item> definition-src </item> + <item> baseline </item> + <item> centerline </item> + <item> mathline </item> + <item> topline </item> + </list> + + <list name="types"> + <item> inherit </item> + <item> none </item> + <item> hidden </item> + <item> dotted </item> + <item> dashed </item> + <item> solid </item> + <item> double </item> + <item> groove </item> + <item> ridge </item> + <item> inset </item> + <item> outset </item> + <item> xx-small </item> + <item> x-small </item> + <item> small </item> + <item> medium </item> + <item> large </item> + <item> x-large </item> + <item> xx-large </item> + <item> smaller </item> + <item> larger </item> + <item> italic </item> + <item> oblique </item> + <item> small-caps </item> + <item> normal </item> + <item> bold </item> + <item> bolder </item> + <item> lighter </item> + <item> light </item> + <item> 100 </item> + <item> 200 </item> + <item> 300 </item> + <item> 400 </item> + <item> 500 </item> + <item> 600 </item> + <item> 700 </item> + <item> 800 </item> + <item> 900 </item> + <item> transparent </item> + <item> repeat </item> + <item> repeat-x </item> + <item> repeat-y </item> + <item> no-repeat </item> + <item> baseline </item> + <item> sub </item> + <item> super </item> + <item> top </item> + <item> text-top </item> + <item> middle </item> + <item> bottom </item> + <item> text-bottom </item> + <item> left </item> + <item> right </item> + <item> center </item> + <item> justify </item> + <item> konq-center </item> + <item> disc </item> + <item> circle </item> + <item> square </item> + <item> box </item> + <item> decimal </item> + <item> decimal-leading-zero </item> + <item> lower-roman </item> + <item> upper-roman </item> + <item> lower-greek </item> + <item> lower-alpha </item> + <item> lower-latin </item> + <item> upper-alpha </item> + <item> upper-latin </item> + <item> hebrew </item> + <item> armenian </item> + <item> georgian </item> + <item> cjk-ideographic </item> + <item> hiragana </item> + <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> auto </item> + <item> crosshair </item> + <item> default </item> + <item> pointer </item> + <item> move </item> + <item> e-resize </item> + <item> ne-resize </item> + <item> nw-resize </item> + <item> n-resize </item> + <item> se-resize </item> + <item> sw-resize </item> + <item> s-resize </item> + <item> w-resize </item> + <item> text </item> + <item> wait </item> + <item> help </item> + <item> above </item> + <item> absolute </item> + <item> always </item> + <item> avoid </item> + <item> below </item> + <item> bidi-override </item> + <item> blink </item> + <item> both </item> + <item> capitalize </item> + <item> caption </item> + <item> clip </item> + <item> close-quote </item> + <item> collapse </item> + <item> condensed </item> + <item> crop </item> + <item> cross </item> + <item> ellipsis </item> + <item> ellipsis-word </item> + <item> embed </item> + <item> expanded </item> + <item> extra-condensed </item> + <item> extra-expanded </item> + <item> fixed </item> + <item> hand </item> + <item> hide </item> + <item> higher </item> + <item> icon </item> + <item> inside </item> + <item> invert </item> + <item> landscape </item> + <item> level </item> + <item> line-through </item> + <item> loud </item> + <item> lower </item> + <item> lowercase </item> + <item> ltr </item> + <item> menu </item> + <item> message-box </item> + <item> mix </item> + <item> narrower </item> + <item> no-close-quote </item> + <item> no-open-quote </item> + <item> nowrap </item> + <item> open-quote </item> + <item> outside </item> + <item> overline </item> + <item> portrait </item> + <item> pre </item> + <item> pre-line </item> + <item> pre-wrap </item> + <item> relative </item> + <item> rtl </item> + <item> scroll </item> + <item> semi-condensed </item> + <item> semi-expanded </item> + <item> separate </item> + <item> show </item> + <item> small-caption </item> + <item> static </item> + <item> static-position </item> + <item> status-bar </item> + <item> thick </item> + <item> thin </item> + <item> ultra-condensed </item> + <item> ultra-expanded </item> + <item> underline </item> + <item> uppercase </item> + <item> visible </item> + <item> wider </item> + <item> break </item> + <item> serif </item> + <item> sans-serif </item> + <item> cursive </item> + <item> fantasy </item> + <item> monospace </item> + <item> border-box </item> + <item> content-box </item> + + <!-- Gecko rendering engine CSS value extensions --> + <item> -moz-box </item> + + </list> + + + <list name="colors"> + <item> aqua </item> + <item> black </item> + <item> blue </item> + <item> cyan </item> + <item> fuchsia </item> + <item> gray </item> + <item> green </item> + <item> lime </item> + <item> maroon </item> + <item> navy </item> + <item> olive </item> + <item> purple </item> + <item> red </item> + <item> silver </item> + <item> teal </item> + <item> white </item> + <item> yellow </item> + <item> ActiveBorder </item> + <item> ActiveCaption </item> + <item> AppWorkspace </item> + <item> Background </item> + <item> ButtonFace </item> + <item> ButtonHighlight </item> + <item> ButtonShadow </item> + <item> ButtonText </item> + <item> CaptionText </item> + <item> GrayText </item> + <item> Highlight </item> + <item> HighlightText </item> + <item> InactiveBorder </item> + <item> InactiveCaption </item> + <item> InactiveCaptionText </item> + <item> InfoBackground </item> + <item> InfoText </item> + <item> Menu </item> + <item> MenuText </item> + <item> Scrollbar </item> + <item> ThreeDDarkShadow </item> + <item> ThreeDFace </item> + <item> ThreeDHighlight </item> + <item> ThreeDLightShadow </item> + <item> ThreeDShadow </item> + <item> Window </item> + <item> WindowFrame </item> + <item> WindowText </item> + </list> + + <list name="paren"> + <item> url </item> + <item> attr </item> + <item> rect </item> + <item> rgb </item> + <item> rgba </item> + <item> hsl </item> + <item> hsla </item> + <item> counter </item> + <item> counters </item> + + <!-- in @font-face --> + <item> local </item> + <item> format </item> + + <!-- Trident (a.k.a., MSHTML) rendering engine functional notation extensions --> + <item> expression </item> + + </list> + + <list name="mediatypes"> + <item> all </item> + <item> aural </item> + <item> braille </item> + <item> embossed </item> + <item> handheld </item> + <item> print </item> + <item> projection </item> + <item> screen </item> + <item> tty </item> + <item> tv </item> + </list> + + <list name="pseudoclasses"> + <item> hover </item> + <item> link </item> + <item> visited </item> + <item> active </item> + <item> focus </item> + <item> first-child </item> + <item> last-child </item> + <item> only-child </item> + <item> first-of-type </item> + <item> last-of-type </item> + <item> only-of-type </item> + <item> first-letter </item> + <item> first-line </item> + <item> before </item> + <item> after </item> + <item> selection </item> + <item> root </item> + <item> empty </item> + <item> target </item> + <item> enabled </item> + <item> disabled </item> + <item> checked </item> + <item> indeterminate </item> + <item> nth-child </item> + <item> nth-last-child </item> + <item> nth-of-type </item> + <item> nth-last-of-type </item> + <item> not </item> + </list> + + <contexts> + <context attribute="Normal Text" lineEndContext="#stay" name="Base"> + <LineContinue/> + <DetectSpaces/> + <IncludeRules context="FindRuleSets" /> + </context> + + <!-- to be included --> + <!-- finds rules and detects nesting --> + <context attribute="Normal Text" lineEndContext="#stay" name="FindRuleSets"> + <RegExpr attribute="Media" context="Media" String="@media\b" /> + <RegExpr attribute="At Rule" context="Import" String="@import\b" /> + <RegExpr attribute="At Rule" context="Include" String="@include\b" /> + <RegExpr attribute="At Rule" context="#stay" String="@(font-face|charset)\b" /> + <RegExpr attribute="Variable" context="#stay" String="\$[^:]*" /> + <DetectChar attribute="Property" context="RuleSet" char="{" beginRegion="ruleset" /> + <!--parse selectors--> + <DetectChar attribute="Selector Attr" context="SelAttr" char="[" /> + <RegExpr attribute="Selector Id" context="#stay" String="#([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" /> + <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" /> + <RegExpr attribute="Selector Pseudo" context="#stay" String=":lang\([\w_-]+\)" /> + <DetectChar attribute="Selector Pseudo" context="SelPseudo" char=":" /> + <IncludeRules context="FindStrings" /> + <IncludeRules context="FindComments" /> + </context> + + <!-- finds arguments to properties --> + <context attribute="Normal Text" lineEndContext="#stay" name="FindValues"> + <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|px|in|cm|mm|pt|pc|deg|rad|grad|ms|s|Hz|kHz)\b" /> + <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" /> + <RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" /> + </context> + + <!-- finds strings --> + <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings"> + <DetectChar attribute="String" context="StringDQ" char=""" /> + <DetectChar attribute="String" context="StringSQ" char="'" /> + </context> + + <!-- finds comments --> + <context attribute="Normal Text" lineEndContext="#stay" name="FindComments"> + <RegExpr attribute="Region Marker" context="#stay" String="/\*BEGIN.*\*/" beginRegion="UserDefined" /> + <RegExpr attribute="Region Marker" context="#stay" String="/\*END.*\*/" endRegion="UserDefined" /> + <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" /> + <Detect2Chars attribute="Comment" context="sassComment" char="/" char1="/" beginRegion="sassComment" /> + </context> + + <!-- other contexts --> + <context attribute="Normal Text" lineEndContext="#stay" name="Media"> + <DetectChar attribute="Media" context="Media2" char="{" beginRegion="media" /> + <keyword attribute="Media" context="#stay" String="mediatypes" /> + <DetectChar attribute="Media" context="#stay" char="," /> + <IncludeRules context="FindComments" /> + <RegExpr attribute="Error" context="#stay" String="\S+" /> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="Media2"> + <DetectChar attribute="Media" context="#pop#pop" char="}" endRegion="media" /> + <IncludeRules context="FindRuleSets" /> + </context> + + <context attribute="Selector Attr" lineEndContext="#stay" name="SelAttr"> + <DetectChar attribute="Selector Attr" context="#pop" char="]" /> + <IncludeRules context="FindStrings" /> + </context> + + <context attribute="Selector Pseudo" lineEndContext="#pop" name="SelPseudo" fallthrough="true" fallthroughContext="#pop"> + <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses" /> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="Import"> + <DetectChar attribute="At Rule" context="#pop" char=";" /> + <keyword attribute="Media" context="#stay" String="mediatypes" /> + <IncludeRules context="FindValues" /> + <IncludeRules context="FindStrings" /> + <IncludeRules context="FindComments" /> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="Include"> + <DetectChar attribute="At Rule" context="#pop" char=";" /> + <IncludeRules context="FindValues" /> + <IncludeRules context="FindStrings" /> + <IncludeRules context="FindComments" /> + <keyword attribute="Value" context="PropParen" String="paren" /> + </context> + + <context attribute="Comment" lineEndContext="#pop" name="sassComment"> + </context> + + <context attribute="Comment" lineEndContext="#stay" name="Comment"> + <DetectSpaces/> + <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment" /> + <IncludeRules context="##Alerts" /> + <DetectIdentifier/> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="RuleSet"> + <DetectChar attribute="Property" context="RuleSet" char="{" beginRegion="ruleset" /> + <IncludeRules context="FindRuleSets" /> + <DetectChar attribute="Property" context="#pop" char="}" endRegion="ruleset" /> + <keyword attribute="Property" context="Rule" String="properties" /> + <RegExpr attribute="Unknown Property" context="Rule" String="-?[A-Za-z_-]+(?=\s*:)" /> + <IncludeRules context="FindComments" /> + <!-- <RegExpr attribute="Error" context="#stay" String="\S" /> --> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="Rule"> + <DetectChar attribute="Property" context="Rule2" char=":" /> + <RegExpr attribute="Error" context="#stay" String="\S" /> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="Rule2"> + <DetectChar attribute="Property" context="#pop#pop" char=";" /> + <DetectChar attribute="Property" context="#pop#pop#pop" char="}" endRegion="ruleset" /> + <!-- parse property values --> + <keyword attribute="Value" context="#stay" String="types" /> + <keyword attribute="Value" context="#stay" String="colors" /> + <RegExpr attribute="Value" context="#stay" String="#([0-9A-Fa-f]{3}){1,4}\b" /> + <keyword attribute="Value" context="PropParen" String="paren" /> + <RegExpr attribute="Variable" context="#stay" String="\$[^;]*" /> + <RegExpr attribute="Important" context="#stay" String="!important\b" /> + <IncludeRules context="FindValues" /> + <IncludeRules context="FindStrings" /> + <IncludeRules context="FindComments" /> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="PropParen"> + <DetectChar attribute="Value" context="PropParen2" char="(" /> + <IncludeRules context="FindComments" /> + <RegExpr attribute="Error" context="#stay" String="\S" /> + </context> + + <context attribute="Normal Text" lineEndContext="#stay" name="PropParen2"> + <DetectChar attribute="Value" context="#pop#pop" char=")" /> + <IncludeRules context="FindValues" /> + <IncludeRules context="FindStrings" /> + <IncludeRules context="FindComments" /> + </context> + + <!-- string contexts --> + <context attribute="String" lineEndContext="#stay" name="StringDQ"> + <DetectChar attribute="String" context="#pop" char=""" /> + <IncludeRules context="InsideString" /> + </context> + + <context attribute="String" lineEndContext="#stay" name="StringSQ"> + <DetectChar attribute="String" context="#pop" char="'" /> + <IncludeRules context="InsideString" /> + </context> + + <context attribute="String" lineEndContext="#stay" name="InsideString"> + <RegExpr attribute="String" context="#stay" String="\\["']" /> + <DetectIdentifier/> + </context> + + </contexts> + <itemDatas> + <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> + <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/> + <itemData name="Unknown Property" defStyleNum="dsKeyword" italic="1" spellChecking="false"/> + <itemData name="Media" defStyleNum="dsDecVal" bold="1" spellChecking="false"/> + <itemData name="At Rule" defStyleNum="dsDecVal" spellChecking="false"/> + <itemData name="String" defStyleNum="dsString"/> + <itemData name="Value" defStyleNum="dsDataType" spellChecking="false"/> + <itemData name="Important" defStyleNum="dsKeyword" spellChecking="false"/> + <itemData name="Selector Attr" defStyleNum="dsChar" spellChecking="false"/> + <itemData name="Selector Id" defStyleNum="dsFloat" bold="1" spellChecking="false"/> + <itemData name="Selector Class" defStyleNum="dsFloat" spellChecking="false"/> + <itemData name="Selector Pseudo" defStyleNum="dsDecVal" spellChecking="false"/> + <itemData name="Comment" defStyleNum="dsComment" /> + <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/> + <itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/> + <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> + <itemData name="Variable" defStyleNum="dsNormal" spellChecking="false"/> + </itemDatas> + </highlighting> + <general> + <keywords casesensitive="0" weakDeliminator="-%"/> + <comments> + <comment name="multiLine" start="/*" end="*/" /> + </comments> + </general> +</language> |