| 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);
|
| +}
|
|
|