diff options
author | Dave Davenport <qball@gmpclient.org> | 2017-01-04 22:27:27 +0100 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2017-01-04 22:27:27 +0100 |
commit | 9dd3cb312e46575637627fbfd78980b9aee39533 (patch) | |
tree | 36a270b5ce64f483140d6e8dc1a0e11de4020e0c /lexer | |
parent | a77e080c60116f856687451d719bba08703a6c54 (diff) |
Support linestyle on border
Diffstat (limited to 'lexer')
-rw-r--r-- | lexer/theme-lexer.l | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lexer/theme-lexer.l b/lexer/theme-lexer.l index b66a11bd..6a6f8687 100644 --- a/lexer/theme-lexer.l +++ b/lexer/theme-lexer.l @@ -30,6 +30,9 @@ EM (em) PERCENT (\%) NEWLINES (\r|\n)+ +LS_DASH "dash" +LS_SOLID "solid" + %x PROPERTIES %x NAMESTR %x ENTRY @@ -110,16 +113,55 @@ if ( queue == NULL ){ <PROPERTIES>{REAL}{EM} { yylval->distance.distance = (double)g_ascii_strtod(yytext, NULL); yylval->distance.type = PW_EM; + yylval->distance.style = SOLID; return T_PIXEL; } <PROPERTIES>{NUMBER}+{PX} { yylval->distance.distance = (double)g_ascii_strtoll(yytext, NULL, 10); yylval->distance.type = PW_PX; + yylval->distance.style = SOLID; + return T_PIXEL; +} +<PROPERTIES>{NUMBER}+{PX}{WHITESPACE}{LS_DASH} { + yylval->distance.distance = (double)g_ascii_strtoll(yytext, NULL, 10); + yylval->distance.type = PW_PX; + yylval->distance.style = DASH; + return T_PIXEL; +} +<PROPERTIES>{NUMBER}+{EM}{WHITESPACE}{LS_DASH} { + yylval->distance.distance = (double)g_ascii_strtoll(yytext, NULL, 10); + yylval->distance.type = PW_PX; + yylval->distance.style = DASH; + return T_PIXEL; +} +<PROPERTIES>{NUMBER}+{PX}{WHITESPACE}{LS_SOLID} { + yylval->distance.distance = (double)g_ascii_strtoll(yytext, NULL, 10); + yylval->distance.type = PW_PX; + yylval->distance.style = SOLID; + return T_PIXEL; +} +<PROPERTIES>{NUMBER}+{EM}{WHITESPACE}{LS_SOLID} { + yylval->distance.distance = (double)g_ascii_strtoll(yytext, NULL, 10); + yylval->distance.type = PW_PX; + yylval->distance.style = SOLID; return T_PIXEL; } <PROPERTIES>{REAL}{PERCENT} { yylval->distance.distance = (double)g_ascii_strtod(yytext, NULL); yylval->distance.type = PW_PERCENT; + yylval->distance.style = SOLID; + return T_PIXEL; +} +<PROPERTIES>{REAL}{PERCENT}{WHITESPACE}{LS_SOLID} { + yylval->distance.distance = (double)g_ascii_strtod(yytext, NULL); + yylval->distance.type = PW_PERCENT; + yylval->distance.style = SOLID; + return T_PIXEL; +} +<PROPERTIES>{REAL}{PERCENT}{WHITESPACE}{LS_DASH} { + yylval->distance.distance = (double)g_ascii_strtod(yytext, NULL); + yylval->distance.type = PW_PERCENT; + yylval->distance.style = DASH; return T_PIXEL; } <PROPERTIES>#{HEX}{8} { |