[gtksourceview] css.lang: Add more number regexs
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] css.lang: Add more number regexs
- Date: Fri, 18 May 2018 09:26:44 +0000 (UTC)
commit 5d3e11f6d4a6ac888c26890664c4821851a041e0
Author: Jeffery To <jeffery to gmail com>
Date: Fri May 11 22:06:41 2018 +0800
css.lang: Add more number regexs
This adds more number- and integer-related regexs, to enable more code
reuse and clarify usage in contexts.
https://bugzilla.gnome.org/show_bug.cgi?id=796130
data/language-specs/css.lang | 57 +++++++++++++++++++++++++++++++++--------
1 files changed, 46 insertions(+), 11 deletions(-)
---
diff --git a/data/language-specs/css.lang b/data/language-specs/css.lang
index c2991c6..b04cd34 100644
--- a/data/language-specs/css.lang
+++ b/data/language-specs/css.lang
@@ -314,10 +314,32 @@
<keyword>yellow</keyword>
</context>
- <define-regex id="number-regex">(\d+|\d*\.\d+)(e[+-]?\d+)?</define-regex>
+ <define-regex id="number-magnitude-regex" extended="true">
+ (?: (?: \d+ | \d* \. \d+ ) (?: e [+-]? \d+ )? )
+ </define-regex>
+
+ <define-regex id="number-regex" extended="true">
+ (?: [+-]? \%{number-magnitude-regex} )
+ </define-regex>
+
+ <define-regex id="positive-number-regex" extended="true">
+ (?: \+? \%{number-magnitude-regex} )
+ </define-regex>
+
+ <define-regex id="integer-magnitude-regex" extended="true">
+ (?: \d+ )
+ </define-regex>
+
+ <define-regex id="integer-regex" extended="true">
+ (?: [+-]? \%{integer-magnitude-regex} )
+ </define-regex>
+
+ <define-regex id="positive-integer-regex" extended="true">
+ (?: \+? \%{integer-magnitude-regex} )
+ </define-regex>
<context id="dimension" style-ref="dimension">
- <prefix>[+-]?\%{number-regex}</prefix>
+ <prefix>\%{number-regex}</prefix>
<keyword>ch</keyword>
<keyword>cm</keyword>
<keyword>deg</keyword>
@@ -345,22 +367,22 @@
</context>
<context id="percentage" style-ref="dimension">
- <match>[+-]?\%{number-regex}%</match>
+ <match>\%{number-regex}%</match>
</context>
<context id="resolution" style-ref="dimension">
- <prefix>\+?\%{number-regex}</prefix>
+ <prefix>\%{positive-number-regex}</prefix>
<keyword>dpcm</keyword>
<keyword>dpi</keyword>
<keyword>dppx</keyword>
</context>
<context id="ratio" style-ref="dimension">
- <match>\+?\d+\s*/\s*\+?\d+</match>
+ <match>\%{positive-integer-regex}\s*/\s*\%{positive-integer-regex}</match>
</context>
<context id="number" style-ref="decimal">
- <match>(?<![\w\.])[+-]?\%{number-regex}(?![\w\.])</match>
+ <match>(?<![\w\.])\%{number-regex}(?![\w\.])</match>
</context>
<context id="unicode-range" style-ref="others-2">
@@ -1753,24 +1775,37 @@
</include>
</context>
- <context id="selector-nth-argument-keywords" style-ref="property-values">
+ <context id="selector-nth-argument-keywords" once-only="true" 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 id="selector-nth-argument-expression" once-only="true" style-ref="decimal">
+ <match extended="true">
+ (
+ \%{integer-regex}? n (\s* [+-] \s* \%{integer-magnitude-regex})? |
+ \%{integer-regex}
+ )
+ </match>
</context>
<context id="selector-nth-argument">
-
<start>(?:(?<=:nth-child)|(?<=:nth-last-child)|(?<=:nth-of-type)|(?<=:nth-last-of-type))\(</start>
+ <start extended="true">
+ (
+ (?<=:nth-child) |
+ (?<=:nth-last-child) |
+ (?<=:nth-of-type) |
+ (?<=: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="comment"/>
<context ref="selector-nth-argument-keywords"/>
- <context ref="selector-nth-argument-An-plus-B"/>
+ <context ref="selector-nth-argument-expression"/>
</include>
</context>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]