@@ -17,14 +17,15 @@ import 'importer/node.dart';
1717import 'io.dart' ;
1818import 'logger.dart' ;
1919import 'sync_package_resolver.dart' ;
20+ import 'syntax.dart' ;
2021import 'visitor/async_evaluate.dart' ;
2122import 'visitor/evaluate.dart' ;
2223import 'visitor/serialize.dart' ;
2324
2425/// Like [compile] in `lib/sass.dart` , but provides more options to support the
2526/// node-sass compatible API.
2627CompileResult compile (String path,
27- {bool indented ,
28+ {Syntax syntax ,
2829 Logger logger,
2930 Iterable <Importer > importers,
3031 NodeImporter nodeImporter,
@@ -37,7 +38,7 @@ CompileResult compile(String path,
3738 LineFeed lineFeed,
3839 bool sourceMap: false }) =>
3940 compileString (readFile (path),
40- indented : indented ?? p. extension (path) == '.sass' ,
41+ syntax : syntax ?? Syntax . forPath (path),
4142 logger: logger,
4243 functions: functions,
4344 importers: importers,
@@ -55,7 +56,7 @@ CompileResult compile(String path,
5556/// Like [compileString] in `lib/sass.dart` , but provides more options to support
5657/// the node-sass compatible API.
5758CompileResult compileString (String source,
58- {bool indented : false ,
59+ {Syntax syntax ,
5960 Logger logger,
6061 Iterable <Importer > importers,
6162 NodeImporter nodeImporter,
@@ -69,11 +70,10 @@ CompileResult compileString(String source,
6970 LineFeed lineFeed,
7071 url,
7172 bool sourceMap: false }) {
72- var sassTree = indented
73- ? new Stylesheet .parseSass (source, url: url, logger: logger)
74- : new Stylesheet .parseScss (source, url: url, logger: logger);
73+ var stylesheet = new Stylesheet .parse (source, syntax ?? Syntax .scss,
74+ url: url, logger: logger);
7575
76- var evaluateResult = evaluate (sassTree ,
76+ var evaluateResult = evaluate (stylesheet ,
7777 importCache: new ImportCache (importers,
7878 loadPaths: loadPaths,
7979 packageResolver: packageResolver,
@@ -97,7 +97,7 @@ CompileResult compileString(String source,
9797/// Like [compileAsync] in `lib/sass.dart` , but provides more options to support
9898/// the node-sass compatible API.
9999Future <CompileResult > compileAsync (String path,
100- {bool indented ,
100+ {Syntax syntax ,
101101 Logger logger,
102102 Iterable <AsyncImporter > importers,
103103 NodeImporter nodeImporter,
@@ -110,7 +110,7 @@ Future<CompileResult> compileAsync(String path,
110110 LineFeed lineFeed,
111111 bool sourceMap: false }) =>
112112 compileStringAsync (readFile (path),
113- indented : indented ?? p. extension (path) == '.sass' ,
113+ syntax : syntax ?? Syntax . forPath (path),
114114 logger: logger,
115115 importers: importers,
116116 nodeImporter: nodeImporter,
@@ -128,7 +128,7 @@ Future<CompileResult> compileAsync(String path,
128128/// Like [compileStringAsync] in `lib/sass.dart` , but provides more options to
129129/// support the node-sass compatible API.
130130Future <CompileResult > compileStringAsync (String source,
131- {bool indented : false ,
131+ {Syntax syntax ,
132132 Logger logger,
133133 Iterable <AsyncImporter > importers,
134134 NodeImporter nodeImporter,
@@ -142,11 +142,10 @@ Future<CompileResult> compileStringAsync(String source,
142142 LineFeed lineFeed,
143143 url,
144144 bool sourceMap: false }) async {
145- var sassTree = indented
146- ? new Stylesheet .parseSass (source, url: url, logger: logger)
147- : new Stylesheet .parseScss (source, url: url, logger: logger);
145+ var stylesheet = new Stylesheet .parse (source, syntax ?? Syntax .scss,
146+ url: url, logger: logger);
148147
149- var evaluateResult = await evaluateAsync (sassTree ,
148+ var evaluateResult = await evaluateAsync (stylesheet ,
150149 importCache: new AsyncImportCache (importers,
151150 loadPaths: loadPaths,
152151 packageResolver: packageResolver,
0 commit comments