[gtksourceview] css.lang: Add argument for :nth-* pseudo-classes



commit 8cbafc7c7e5bd3e5acf08c20e6a3dda3863ba82d
Author: Jeffery To <jeffery to gmail com>
Date:   Wed May 9 05:55:15 2018 +0800

    css.lang: Add argument for :nth-* pseudo-classes
    
    This adds a selector-nth-argument context (and related contexts) to
    highlight the argument of :nth-* pseudo-classes.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=795955

 data/language-specs/css.lang       |   21 +++++++++++++++++++++
 tests/syntax-highlighting/file.css |    2 ++
 2 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/data/language-specs/css.lang b/data/language-specs/css.lang
index 4d3b2bf..2adc4ee 100644
--- a/data/language-specs/css.lang
+++ b/data/language-specs/css.lang
@@ -1146,6 +1146,26 @@
       <match>[*&gt;+~]</match>
     </context>
 
+    <context id="selector-nth-argument-keywords" style-ref="property-values">
+      <keyword>even</keyword>
+      <keyword>odd</keyword>
+    </context>
+
+    <context id="selector-nth-argument-An-plus-B" style-ref="decimal">
+      <match>[+-]?(\d*n(\s*[+-]\s*\d+)?|\d+)</match>
+    </context>
+
+    <context id="selector-nth-argument">
+      
<start>(?:(?&lt;=:nth-child)|(?&lt;=:nth-last-child)|(?&lt;=:nth-of-type)|(?&lt;=:nth-last-of-type))\(</start>
+      <end>\)</end>
+      <include>
+        <context sub-pattern="0" where="start" style-ref="function"/>
+        <context sub-pattern="0" where="end" style-ref="function"/>
+        <context ref="selector-nth-argument-keywords"/>
+        <context ref="selector-nth-argument-An-plus-B"/>
+      </include>
+    </context>
+
     <context id="function">
       <start>[a-z][a-z0-9-]+\(</start>
       <end>\)</end>
@@ -1177,6 +1197,7 @@
         <context ref="selector-pseudo-elements-one-colon"/>
         <context ref="selector-pseudo-elements"/>
         <context ref="selector-pseudo-classes"/>
+        <context ref="selector-nth-argument"/>
         <context ref="css3-at-rules"/>
         <context ref="at-rules"/>
         <context ref="style-block"/>
diff --git a/tests/syntax-highlighting/file.css b/tests/syntax-highlighting/file.css
index 7eec0aa..dc3b61b 100644
--- a/tests/syntax-highlighting/file.css
+++ b/tests/syntax-highlighting/file.css
@@ -19,6 +19,8 @@ p + div {
 
 ul::before {}
 
+li:nth-child(2n+1) {}
+
 link:hover {}
 
 INPUT::PLACEHOLDER {


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