Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: packages/csslib/lib/css.dart

Issue 3015713002: Roll to pickup pool changes
Patch Set: Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « packages/csslib/example/call_parser.dart ('k') | packages/csslib/lib/parser.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/csslib/lib/css.dart
diff --git a/packages/csslib/lib/css.dart b/packages/csslib/lib/css.dart
index e7ef5344346dde554414289a69526bc16638546e..98c9b2a865adc06b14c21b8e3718b527dc64a891 100644
--- a/packages/csslib/lib/css.dart
+++ b/packages/csslib/lib/css.dart
@@ -2,10 +2,12 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+@Deprecated('Will be removed in v0.15.0')
library css;
import 'dart:io';
+import 'package:args/args.dart';
import 'package:path/path.dart' as path;
import 'package:source_span/source_span.dart';
@@ -15,7 +17,7 @@ import 'visitor.dart';
void main(List<String> arguments) {
// TODO(jmesserly): fix this to return a proper exit code
- var options = PreprocessorOptions.parse(arguments);
+ var options = _parseOptions(arguments);
if (options == null) return;
messages = new Messages(options: options);
@@ -35,7 +37,7 @@ void _compile(String inputPath, bool verbose) {
// Read the file.
var filename = path.basename(inputPath);
var contents = new File(inputPath).readAsStringSync();
- var file = new SourceFile(contents, url: path.toUri(inputPath));
+ var file = new SourceFile.fromString(contents, url: path.toUri(inputPath));
// Parse the CSS.
StyleSheet tree = _time(
@@ -78,3 +80,67 @@ void _printMessage(String message, int duration) {
buf..write(duration)..write(' ms');
print(buf.toString());
}
+
+PreprocessorOptions _fromArgs(ArgResults args) => new PreprocessorOptions(
+ warningsAsErrors: args['warnings_as_errors'],
+ throwOnWarnings: args['throw_on_warnings'],
+ throwOnErrors: args['throw_on_errors'],
+ verbose: args['verbose'],
+ checked: args['checked'],
+ lessSupport: args['less'],
+ useColors: args['colors'],
+ polyfill: args['polyfill'],
+ inputFile: args.rest.length > 0 ? args.rest[0] : null);
+
+// tool.dart [options...] <css file>
+PreprocessorOptions _parseOptions(List<String> arguments) {
+ var parser = new ArgParser()
+ ..addFlag('verbose',
+ abbr: 'v',
+ defaultsTo: false,
+ negatable: false,
+ help: 'Display detail info')
+ ..addFlag('checked',
+ defaultsTo: false,
+ negatable: false,
+ help: 'Validate CSS values invalid value display a warning message')
+ ..addFlag('less',
+ defaultsTo: true,
+ negatable: true,
+ help: 'Supports subset of Less syntax')
+ ..addFlag('suppress_warnings',
+ defaultsTo: true, help: 'Warnings not displayed')
+ ..addFlag('warnings_as_errors',
+ defaultsTo: false, help: 'Warning handled as errors')
+ ..addFlag('throw_on_errors',
+ defaultsTo: false, help: 'Throw on errors encountered')
+ ..addFlag('throw_on_warnings',
+ defaultsTo: false, help: 'Throw on warnings encountered')
+ ..addFlag('colors',
+ defaultsTo: true, help: 'Display errors/warnings in colored text')
+ ..addFlag('polyfill',
+ defaultsTo: false, help: 'Generate polyfill for new CSS features')
+ ..addFlag('help',
+ abbr: 'h',
+ defaultsTo: false,
+ negatable: false,
+ help: 'Displays this help message');
+
+ try {
+ var results = parser.parse(arguments);
+ if (results['help'] || results.rest.length == 0) {
+ _showUsage(parser);
+ return null;
+ }
+ return _fromArgs(results);
+ } on FormatException catch (e) {
+ print(e.message);
+ _showUsage(parser);
+ return null;
+ }
+}
+
+void _showUsage(ArgParser parser) {
+ print('Usage: css [options...] input.css');
+ print(parser.usage);
+}
« no previous file with comments | « packages/csslib/example/call_parser.dart ('k') | packages/csslib/lib/parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698