[gtksourceview] css.lang: Add more support for CSS Paged Media Module Level 3



commit 2d050ddeb625e94c4a95d5c16b219801dabd6828
Author: Jeffery To <jeffery to gmail com>
Date:   Sun May 13 03:47:58 2018 +0800

    css.lang: Add more support for CSS Paged Media Module Level 3
    
    This adds the at-page-call context to highlight @page blocks, and
    property names/values from Paged Media Module Level 3.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=796130

 data/language-specs/css.lang       |   70 +++++++++++++++++++++++++++++++++++-
 tests/syntax-highlighting/file.css |   11 ++++++
 2 files changed, 80 insertions(+), 1 deletions(-)
---
diff --git a/data/language-specs/css.lang b/data/language-specs/css.lang
index 37f5642..f1b0254 100644
--- a/data/language-specs/css.lang
+++ b/data/language-specs/css.lang
@@ -547,6 +547,7 @@
       <keyword>background-clip</keyword>
       <keyword>background-origin</keyword>
       <keyword>background-size</keyword>
+      <keyword>bleed</keyword>
       <keyword>border-image-outset</keyword>
       <keyword>border-image-repeat</keyword>
       <keyword>border-image-slice</keyword>
@@ -932,6 +933,19 @@
       <keyword>traditional</keyword>
     </context>
 
+    <context id="page-sizes" style-ref="property-values">
+      <keyword>A3</keyword>
+      <keyword>A4</keyword>
+      <keyword>A5</keyword>
+      <keyword>B4</keyword>
+      <keyword>B5</keyword>
+      <keyword>JIS-B4</keyword>
+      <keyword>JIS-B5</keyword>
+      <keyword>ledger</keyword>
+      <keyword>legal</keyword>
+      <keyword>letter</keyword>
+    </context>
+
     <context id="css3-property-values" style-ref="property-values">
       <keyword>active</keyword>
       <keyword>add</keyword>
@@ -1223,7 +1237,7 @@
       <keyword>outside</keyword>
       <keyword>overline</keyword>
       <keyword>pointer</keyword>
-      <keyword>portait</keyword>
+      <keyword>portrait</keyword>
       <keyword>pre-line</keyword>
       <keyword>pre-wrap</keyword>
       <keyword>pre</keyword>
@@ -1318,6 +1332,7 @@
         <context ref="animatable-properties"/>
         <context ref="svg-property-values"/>
         <context ref="east-asian-variant-values"/>
+        <context ref="page-sizes"/>
         <context ref="css3-property-values"/>
         <context ref="property-values"/>
       </include>
@@ -1628,6 +1643,58 @@
       </include>
     </context>
 
+    <context id="pseudo-pages" style-ref="function">
+      <prefix>:</prefix>
+      <keyword>blank</keyword>
+      <keyword>first</keyword>
+      <keyword>left</keyword>
+      <keyword>right</keyword>
+    </context>
+
+    <context id="page-margin-box-types" style-ref="function">
+      <prefix>@</prefix>
+      <keyword>bottom-center</keyword>
+      <keyword>bottom-left-corner</keyword>
+      <keyword>bottom-left</keyword>
+      <keyword>bottom-right-corner</keyword>
+      <keyword>bottom-right</keyword>
+      <keyword>left-bottom</keyword>
+      <keyword>left-middle</keyword>
+      <keyword>left-top</keyword>
+      <keyword>right-bottom</keyword>
+      <keyword>right-middle</keyword>
+      <keyword>right-top</keyword>
+      <keyword>top-center</keyword>
+      <keyword>top-left-corner</keyword>
+      <keyword>top-left</keyword>
+      <keyword>top-right-corner</keyword>
+      <keyword>top-right</keyword>
+    </context>
+
+    <context id="at-page-block" end-parent="true">
+      <start>\{</start>
+      <end>\}</end>
+      <include>
+        <context sub-pattern="0" where="start" style-ref="others-3"/>
+        <context sub-pattern="0" where="end" style-ref="others-3"/>
+        <context ref="comment"/>
+        <context ref="declaration"/>
+        <context ref="page-margin-box-types"/>
+        <context ref="style-block"/>
+      </include>
+    </context>
+
+    <context id="at-page-call">
+      <start>(?&lt;=@page)</start>
+      <include>
+        <context ref="comment"/>
+        <context ref="pseudo-pages"/>
+        <context ref="name"/>
+        <context ref="comma"/>
+        <context ref="at-page-block"/>
+      </include>
+    </context>
+
     <context id="at-supports-test">
       <start>\(</start>
       <end>\)</end>
@@ -1673,6 +1740,7 @@
         <context ref="at-keyframes-call"/>
         <context ref="at-media-call"/>
         <context ref="at-namespace-call"/>
+        <context ref="at-page-call"/>
         <context ref="at-supports-call"/>
       </include>
     </context>
diff --git a/tests/syntax-highlighting/file.css b/tests/syntax-highlighting/file.css
index 96a52a9..c1e265a 100644
--- a/tests/syntax-highlighting/file.css
+++ b/tests/syntax-highlighting/file.css
@@ -133,6 +133,17 @@ div#\E9 dition .\0000E9dition .motion_\e9motion, /* Unicode character escape */
 
 @media (min-aspect-ratio: 16/9) {}
 
+@page toc, index:first:left, :blank {
+    bleed: 1cm;
+    margin: 2cm;
+    marks: crop cross;
+    size: A4;
+
+    @top-right {
+        content: "Page " counter(page);
+    }
+}
+
 @supports (animation-name: test) {
     @keyframes 'my-complicated-animation' {
         0%      {}


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