[gtksourceview: 5/9] css.lang (and family): Set prefix/suffix for keyword contexts



commit ce43d9aa3a65b4ac62117a6ea99b9751671282b3
Author: Jeffery To <jeffery to gmail com>
Date:   Tue Jun 2 03:03:47 2020 +0800

    css.lang (and family): Set prefix/suffix for keyword contexts
    
    Use custom regexes instead of the default \%[ and \%] patterns to only
    test "outside" the keyword.

 data/language-specs/css.lang  | 44 +++++++++++++++++++++++++++++++++++++++++++
 data/language-specs/less.lang |  8 ++++++++
 data/language-specs/scss.lang | 18 ++++++++++++++++++
 3 files changed, 70 insertions(+)
---
diff --git a/data/language-specs/css.lang b/data/language-specs/css.lang
index ec1e648f..caa98715 100644
--- a/data/language-specs/css.lang
+++ b/data/language-specs/css.lang
@@ -350,6 +350,8 @@
     </context>
 
     <context id="css3-named-color" style-ref="color">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>aliceblue</keyword>
       <keyword>antiquewhite</keyword>
       <keyword>aquamarine</keyword>
@@ -484,6 +486,8 @@
     </context>
 
     <context id="named-color" style-ref="color">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>aqua</keyword>
       <keyword>black</keyword>
       <keyword>blue</keyword>
@@ -533,6 +537,7 @@
 
     <context id="dimension" style-ref="dimension">
       <prefix>(?&lt;!\%{non-number-char})\%{number}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>ch</keyword>
       <keyword>cm</keyword>
       <keyword>deg</keyword>
@@ -568,6 +573,7 @@
 
     <context id="resolution" style-ref="dimension">
       <prefix>(?&lt;!\%{non-number-char})\%{positive-number}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>dpcm</keyword>
       <keyword>dpi</keyword>
       <keyword>dppx</keyword>
@@ -620,6 +626,8 @@
     <!-- functions -->
 
     <context id="css3-function-arguments" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>at</keyword>
       <keyword>auto-fill</keyword>
       <keyword>auto-fit</keyword>
@@ -771,6 +779,8 @@
     <!-- style properties -->
 
     <context id="svg-property-names" style-ref="property-name">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>clip-path</keyword>
       <keyword>clip-rule</keyword>
       <keyword>color-interpolatation-filters</keyword>
@@ -801,6 +811,8 @@
     </context>
 
     <context id="css3-property-names" style-ref="property-name">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>align-content</keyword>
       <keyword>align-items</keyword>
       <keyword>align-self</keyword>
@@ -936,6 +948,8 @@
     </context>
 
     <context id="property-names" style-ref="property-name">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>azimuth</keyword>
       <keyword>background-attachment</keyword>
       <keyword>background-color</keyword>
@@ -1066,6 +1080,8 @@
     </context>
 
     <context id="animatable-properties" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>background-color</keyword>
       <keyword>background-position</keyword>
       <keyword>background-size</keyword>
@@ -1160,6 +1176,8 @@
     </context>
 
     <context id="svg-property-values" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>alphabetic</keyword>
       <keyword>bevel</keyword>
       <keyword>butt</keyword>
@@ -1193,6 +1211,8 @@
     </context>
 
     <context id="east-asian-variant-values" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>jis04</keyword>
       <keyword>jis78</keyword>
       <keyword>jis83</keyword>
@@ -1202,6 +1222,8 @@
     </context>
 
     <context id="page-sizes" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>A3</keyword>
       <keyword>A4</keyword>
       <keyword>A5</keyword>
@@ -1215,6 +1237,8 @@
     </context>
 
     <context id="css3-property-values" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>active</keyword>
       <keyword>add</keyword>
       <keyword>allow-end</keyword>
@@ -1372,6 +1396,8 @@
     </context>
 
     <context id="property-values" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>above</keyword>
       <keyword>absolute</keyword>
       <keyword>alias</keyword>
@@ -1631,6 +1657,8 @@
     <!-- modifiers -->
 
     <context id="modifiers" style-ref="modifier">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>important</keyword>
     </context>
 
@@ -1708,12 +1736,16 @@
     <!-- media queries -->
 
     <context id="media-query-operators" style-ref="media-query-operator">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>and</keyword>
       <keyword>not</keyword>
       <keyword>only</keyword>
     </context>
 
     <context id="media-types" style-ref="media-type">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>all</keyword>
       <keyword>print</keyword>
       <keyword>screen</keyword>
@@ -1721,6 +1753,8 @@
     </context>
 
     <context id="css3-media-features" style-ref="media-feature">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>any-hover</keyword>
       <keyword>any-pointer</keyword>
       <keyword>aspect-ratio</keyword>
@@ -1757,6 +1791,8 @@
     </context>
 
     <context id="css3-media-feature-values" style-ref="media-feature-value">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>browser</keyword>
       <keyword>coarse</keyword>
       <keyword>fast</keyword>
@@ -1982,6 +2018,7 @@
 
     <context id="font-feature-types" style-ref="at-rule-inner-selector">
       <prefix>@</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>annotation</keyword>
       <keyword>character-variant</keyword>
       <keyword>ornaments</keyword>
@@ -2086,6 +2123,8 @@
     -->
 
     <context id="keyframe-selector" style-ref="at-rule-inner-selector">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>from</keyword>
       <keyword>to</keyword>
     </context>
@@ -2209,6 +2248,7 @@
 
     <context id="page-margin-box-types" style-ref="at-rule-inner-selector">
       <prefix>@</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>bottom-center</keyword>
       <keyword>bottom-left-corner</keyword>
       <keyword>bottom-left</keyword>
@@ -2261,6 +2301,8 @@
     -->
 
     <context id="at-supports-operators" style-ref="at-rule-operator">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>and</keyword>
       <keyword>not</keyword>
       <keyword>or</keyword>
@@ -2568,6 +2610,8 @@
     </context>
 
     <context id="nth-pseudo-class-keywords" once-only="true" style-ref="keyword">
+      <prefix>\%{keyword-start}</prefix>
+      <suffix>\%{keyword-end}</suffix>
       <keyword>even</keyword>
       <keyword>odd</keyword>
     </context>
diff --git a/data/language-specs/less.lang b/data/language-specs/less.lang
index 2a20d4c1..8800a608 100644
--- a/data/language-specs/less.lang
+++ b/data/language-specs/less.lang
@@ -166,6 +166,8 @@
     <!-- Less data types -->
 
     <context id="boolean" style-ref="boolean">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>true</keyword>
     </context>
 
@@ -662,6 +664,8 @@
     -->
 
     <context id="less-at-import-options-keyword" style-ref="css:keyword">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>css</keyword>
       <keyword>inline</keyword>
       <keyword>less</keyword>
@@ -755,6 +759,8 @@
     <!-- guards -->
 
     <context id="guard-logical-operator" style-ref="guard-operator">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>and</keyword>
       <keyword>not</keyword>
       <keyword>or</keyword>
@@ -808,6 +814,8 @@
     </context>
 
     <context id="extend-pseudo-class-keyword" once-only="true" style-ref="css:keyword">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>all</keyword>
     </context>
 
diff --git a/data/language-specs/scss.lang b/data/language-specs/scss.lang
index 2fe5e545..3e7e692e 100644
--- a/data/language-specs/scss.lang
+++ b/data/language-specs/scss.lang
@@ -150,6 +150,8 @@
     </context>
 
     <context id="logical-operator" style-ref="logical-operator">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>and</keyword>
       <keyword>not</keyword>
       <keyword>or</keyword>
@@ -159,11 +161,15 @@
     <!-- Sass data types -->
 
     <context id="boolean" style-ref="boolean">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>false</keyword>
       <keyword>true</keyword>
     </context>
 
     <context id="null" style-ref="null">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>null</keyword>
     </context>
 
@@ -345,11 +351,15 @@
     <!-- Sass modifiers -->
 
     <context id="variable-assignment-modifiers" style-ref="css:modifier">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>default</keyword>
       <keyword>global</keyword>
     </context>
 
     <context id="at-extend-modifiers" style-ref="css:modifier">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>optional</keyword>
     </context>
 
@@ -633,11 +643,15 @@
     -->
 
     <context id="at-at-root-query-type" style-ref="css:property-name">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>without</keyword>
       <keyword>with</keyword>
     </context>
 
     <context id="at-at-root-query-directive" style-ref="css:keyword">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>all</keyword>
       <keyword>media</keyword>
       <keyword>rule</keyword>
@@ -741,6 +755,8 @@
     -->
 
     <context id="at-for-keyword" style-ref="css:at-rule-operator">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>from</keyword>
       <keyword>through</keyword>
       <keyword>to</keyword>
@@ -766,6 +782,8 @@
     -->
 
     <context id="at-each-keyword" style-ref="css:at-rule-operator">
+      <prefix>\%{css:keyword-start}</prefix>
+      <suffix>\%{css:keyword-end}</suffix>
       <keyword>in</keyword>
     </context>
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]