@@ -932,14 +932,8 @@ abstract class StylesheetParser extends Parser {
932
932
span: scanner.spanFrom (beforeName),
933
933
));
934
934
} else if (equalsIgnoreCase (name, 'type' )) {
935
- warnings.add ((
936
- deprecation: Deprecation .typeFunction,
937
- message: 'Sass @functions named "type" are deprecated for forward-'
938
- 'compatibility with the plain CSS type() function.\n '
939
- '\n '
940
- 'For details, see https://sass-lang.com/d/type-function' ,
941
- span: scanner.spanFrom (beforeName),
942
- ));
935
+ error ('This name is reserved for the plain-CSS function.' ,
936
+ scanner.spanFrom (beforeName));
943
937
}
944
938
945
939
whitespace (consumeNewlines: true );
@@ -2966,35 +2960,40 @@ abstract class StylesheetParser extends Parser {
2966
2960
/// [name] .
2967
2961
@protected
2968
2962
Expression ? trySpecialFunction (String name, LineScannerState start) {
2969
- var normalized = unvendor (name);
2970
-
2971
2963
InterpolationBuffer buffer;
2972
- switch (normalized) {
2973
- case "calc" when normalized != name && scanner.scanChar ($lparen):
2974
- case "element" || "expression" when scanner.scanChar ($lparen):
2975
- buffer = InterpolationBuffer ()
2976
- ..write (name)
2977
- ..writeCharCode ($lparen);
2978
-
2979
- case "progid" when scanner.scanChar ($colon):
2980
- buffer = InterpolationBuffer ()
2981
- ..write (name)
2982
- ..writeCharCode ($colon);
2983
- var next = scanner.peekChar ();
2984
- while (next != null && (next.isAlphabetic || next == $dot)) {
2985
- buffer.writeCharCode (scanner.readChar ());
2986
- next = scanner.peekChar ();
2987
- }
2988
- scanner.expectChar ($lparen);
2989
- buffer.writeCharCode ($lparen);
2964
+ if (name == "type" && scanner.scanChar ($lparen)) {
2965
+ buffer = InterpolationBuffer ()
2966
+ ..write (name)
2967
+ ..writeCharCode ($lparen);
2968
+ } else {
2969
+ var normalized = unvendor (name);
2970
+ switch (normalized) {
2971
+ case "calc" when normalized != name && scanner.scanChar ($lparen):
2972
+ case "element" || "expression" when scanner.scanChar ($lparen):
2973
+ buffer = InterpolationBuffer ()
2974
+ ..write (name)
2975
+ ..writeCharCode ($lparen);
2976
+
2977
+ case "progid" when scanner.scanChar ($colon):
2978
+ buffer = InterpolationBuffer ()
2979
+ ..write (name)
2980
+ ..writeCharCode ($colon);
2981
+ var next = scanner.peekChar ();
2982
+ while (next != null && (next.isAlphabetic || next == $dot)) {
2983
+ buffer.writeCharCode (scanner.readChar ());
2984
+ next = scanner.peekChar ();
2985
+ }
2986
+ scanner.expectChar ($lparen);
2987
+ buffer.writeCharCode ($lparen);
2990
2988
2991
- case "url" :
2992
- return _tryUrlContents (
2993
- start,
2994
- ).andThen ((contents) => StringExpression (contents));
2989
+ case "url" :
2990
+ return _tryUrlContents (
2991
+ start,
2992
+ ).andThen ((contents) => StringExpression (contents));
2995
2993
2996
- case _:
2997
- return null ;
2994
+ case _:
2995
+ return null ;
2996
+ }
2998
2997
}
2999
2998
3000
2999
buffer.addInterpolation (_interpolatedDeclarationValue (allowEmpty: true ));
0 commit comments