Skip to content
This repository was archived by the owner on Oct 24, 2025. It is now read-only.

Commit 104da1d

Browse files
committed
Fix Function_Call parsing in value schemas
1 parent 65c43fb commit 104da1d

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

parser.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1354,7 +1354,7 @@ namespace Sass {
13541354
else if (lex< identifier_schema >()) {
13551355
return parse_identifier_schema();
13561356
}
1357-
else if (peek< re_pseudo_selector >()) {
1357+
else if (peek< re_functional >()) {
13581358
return parse_function_call();
13591359
}
13601360
else if (lex< exactly<'+'> >()) {
@@ -1588,6 +1588,9 @@ namespace Sass {
15881588
if (lex< spaces >() && num_items) {
15891589
(*schema) << new (ctx.mem) String_Quoted(pstate, " ");
15901590
}
1591+
if (peek< re_functional >()) {
1592+
(*schema) << parse_function_call();
1593+
}
15911594
// lex an interpolant /#{...}/
15921595
else if (lex< exactly < hash_lbrace > >()) {
15931596
// Try to lex static expression first

prelexer.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,9 @@ namespace Sass {
514514
return src;
515515
}
516516

517+
const char* re_functional(const char* src) {
518+
return sequence< identifier, optional < block_comment >, exactly<'('> >(src);
519+
}
517520
const char* re_pseudo_selector(const char* src) {
518521
return sequence< identifier, optional < block_comment >, exactly<'('> >(src);
519522
}

prelexer.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ namespace Sass {
293293
// Match CSS pseudo-class/element prefixes
294294
const char* pseudo_prefix(const char* src);
295295
// Match CSS function call openers.
296+
const char* re_functional(const char* src);
296297
const char* re_pseudo_selector(const char* src);
297298
const char* functional_schema(const char* src);
298299
const char* pseudo_not(const char* src);

0 commit comments

Comments
 (0)