diff --git a/lexer/theme-lexer.l b/lexer/theme-lexer.l index de2eeb67..1439bc51 100644 --- a/lexer/theme-lexer.l +++ b/lexer/theme-lexer.l @@ -670,8 +670,8 @@ if ( queue == NULL ) { BEGIN(GPOINTER_TO_INT(g_queue_pop_head ( queue ))); return T_PARENT_RIGHT; } -{S_T_PARENT_LEFT} { return T_PARENT_LEFT; } -{S_T_PARENT_RIGHT} { return T_PARENT_RIGHT; } +{S_T_PARENT_LEFT} { return T_PARENT_LEFT; } +{S_T_PARENT_RIGHT} { return T_PARENT_RIGHT; } {COMMA} { return T_COMMA; } {LIST_OPEN} { g_queue_push_head ( queue, GINT_TO_POINTER (YY_START) ); diff --git a/lexer/theme-parser.y b/lexer/theme-parser.y index c33aeee9..33323dcd 100644 --- a/lexer/theme-parser.y +++ b/lexer/theme-parser.y @@ -659,13 +659,23 @@ t_property_element_list p->value.s = $1; $$ = g_list_append ( NULL, p); } +| T_CALC { + Property *p = rofi_theme_property_create ( P_STRING ); + p->value.s = g_strdup("calc"); + $$ = g_list_append ( NULL, p); +} +| t_property_element_list T_COMMA t_property_element { + $$ = g_list_append ( $1, $3 ); +} | t_property_element_list T_COMMA T_ELEMENT { Property *p = rofi_theme_property_create ( P_STRING ); p->value.s = $3; $$ = g_list_append ( $1, p); } -| t_property_element_list T_COMMA t_property_element { - $$ = g_list_append ( $1, $3 ); +| t_property_element_list T_COMMA T_CALC { + Property *p = rofi_theme_property_create ( P_STRING ); + p->value.s = g_strdup("calc"); + $$ = g_list_append ( $1, p); } ;