Skip to content

Commit

Permalink
[NETBEANS-5449] Ensure @forward and @use in SCSS files can be parsed
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiasblaesing committed Aug 4, 2021
1 parent 6456f47 commit 3a64a84
Show file tree
Hide file tree
Showing 6 changed files with 26,656 additions and 24,193 deletions.
66 changes: 65 additions & 1 deletion ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,10 @@ package org.netbeans.modules.css.lib;
private boolean tokenNameEquals(String tokenImage) {
return tokenImage.equalsIgnoreCase(input.LT(1).getText());
}
private boolean tokenNameEquals2(String tokenImage) {
return tokenImage.equalsIgnoreCase(input.LT(2).getText());
}
private boolean tokenNameIs(String[] tokens) {
for(String tokenImage : tokens) {
Expand Down Expand Up @@ -311,7 +315,13 @@ charSetValue

imports
:
( importItem ws? SEMI ws? )+
(
( importItem ws? SEMI ws? )
|
( sass_use ws? SEMI ws? )
|
( sass_forward ws? SEMI ws? )
)+
;

importItem
Expand All @@ -323,6 +333,58 @@ importItem
|
{isLessSource()}? IMPORT_SYM ws? (LPAREN less_import_types RPAREN ws?)? resourceIdentifier ((ws? mediaQueryList)=>ws? mediaQueryList)?
;

sass_use
:
{isScssSource()}? SASS_USE ws resourceIdentifier (ws sass_use_as)? (ws sass_use_with)?
;

sass_use_as
:
{tokenNameEquals("as")}? IDENT ws IDENT
;

sass_use_with
:
{tokenNameEquals("with")}? IDENT ws? LPAREN ws? sass_use_with_declaration (ws? COMMA ws? sass_use_with_declaration)* ws? RPAREN
;

sass_use_with_declaration
:
cp_variable ws? COLON ws? cp_expression
;


sass_forward
:
{isScssSource()}? SASS_FORWARD ws resourceIdentifier ( ws ( sass_forward_hide | sass_forward_show))? ({tokenNameEquals2("as")}? ws sass_forward_as)? ({tokenNameEquals2("with")}? ws sass_forward_with)?
;

sass_forward_as
:
{tokenNameEquals("as")}? IDENT ws IDENT
;

sass_forward_with
:
{tokenNameEquals("with")}? IDENT ws? LPAREN ws? sass_forward_with_declaration (ws? COMMA ws? sass_forward_with_declaration)* ws? RPAREN
;

sass_forward_with_declaration
:
cp_variable ws? COLON ws? cp_expression
;

sass_forward_hide
:
{tokenNameEquals("hide")}? IDENT ws IDENT (ws? COMMA ws? IDENT)*
;

sass_forward_show
:
{tokenNameEquals("show")}? IDENT ws IDENT (ws? COMMA ws? IDENT)*
;

media
: MEDIA_SYM ws?
(
Expand Down Expand Up @@ -1791,6 +1853,8 @@ SASS_ELSEIF : '@ELSEIF'; //@elseif
SASS_FOR : '@FOR';
SASS_FUNCTION : '@FUNCTION';
SASS_RETURN : '@RETURN';
SASS_USE : '@USE';
SASS_FORWARD : '@FORWARD';

SASS_EACH : '@EACH';
SASS_WHILE : '@WHILE';
Expand Down
Loading

0 comments on commit 3a64a84

Please sign in to comment.