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

Side by Side Diff: packages/csslib/lib/css.dart

Issue 3014633002: Roll to pickup pool changes (Closed)
Patch Set: Created 3 years, 2 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 unified diff | 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 @Deprecated('Will be removed in v0.15.0')
5 library css; 6 library css;
6 7
7 import 'dart:io'; 8 import 'dart:io';
8 9
10 import 'package:args/args.dart';
9 import 'package:path/path.dart' as path; 11 import 'package:path/path.dart' as path;
10 import 'package:source_span/source_span.dart'; 12 import 'package:source_span/source_span.dart';
11 13
12 import 'parser.dart'; 14 import 'parser.dart';
13 import 'src/messages.dart'; 15 import 'src/messages.dart';
14 import 'visitor.dart'; 16 import 'visitor.dart';
15 17
16 void main(List<String> arguments) { 18 void main(List<String> arguments) {
17 // TODO(jmesserly): fix this to return a proper exit code 19 // TODO(jmesserly): fix this to return a proper exit code
18 var options = PreprocessorOptions.parse(arguments); 20 var options = _parseOptions(arguments);
19 if (options == null) return; 21 if (options == null) return;
20 22
21 messages = new Messages(options: options); 23 messages = new Messages(options: options);
22 24
23 _time('Total time spent on ${options.inputFile}', () { 25 _time('Total time spent on ${options.inputFile}', () {
24 _compile(options.inputFile, options.verbose); 26 _compile(options.inputFile, options.verbose);
25 }, true); 27 }, true);
26 } 28 }
27 29
28 void _compile(String inputPath, bool verbose) { 30 void _compile(String inputPath, bool verbose) {
29 var ext = path.extension(inputPath); 31 var ext = path.extension(inputPath);
30 if (ext != '.css' && ext != '.scss') { 32 if (ext != '.css' && ext != '.scss') {
31 messages.error("Please provide a CSS/Sass file", null); 33 messages.error("Please provide a CSS/Sass file", null);
32 return; 34 return;
33 } 35 }
34 try { 36 try {
35 // Read the file. 37 // Read the file.
36 var filename = path.basename(inputPath); 38 var filename = path.basename(inputPath);
37 var contents = new File(inputPath).readAsStringSync(); 39 var contents = new File(inputPath).readAsStringSync();
38 var file = new SourceFile(contents, url: path.toUri(inputPath)); 40 var file = new SourceFile.fromString(contents, url: path.toUri(inputPath));
39 41
40 // Parse the CSS. 42 // Parse the CSS.
41 StyleSheet tree = _time( 43 StyleSheet tree = _time(
42 'Parse $filename', () => new Parser(file, contents).parse(), verbose); 44 'Parse $filename', () => new Parser(file, contents).parse(), verbose);
43 45
44 _time('Analyzer $filename', () => new Analyzer([tree], messages), verbose) 46 _time('Analyzer $filename', () => new Analyzer([tree], messages), verbose)
45 .run(); 47 .run();
46 48
47 // Emit the processed CSS. 49 // Emit the processed CSS.
48 var emitter = new CssPrinter(); 50 var emitter = new CssPrinter();
(...skipping 22 matching lines...) Expand all
71 void _printMessage(String message, int duration) { 73 void _printMessage(String message, int duration) {
72 var buf = new StringBuffer(); 74 var buf = new StringBuffer();
73 buf.write(message); 75 buf.write(message);
74 for (int i = message.length; i < 60; i++) buf.write(' '); 76 for (int i = message.length; i < 60; i++) buf.write(' ');
75 buf.write(' -- '); 77 buf.write(' -- ');
76 if (duration < 10) buf.write(' '); 78 if (duration < 10) buf.write(' ');
77 if (duration < 100) buf.write(' '); 79 if (duration < 100) buf.write(' ');
78 buf..write(duration)..write(' ms'); 80 buf..write(duration)..write(' ms');
79 print(buf.toString()); 81 print(buf.toString());
80 } 82 }
83
84 PreprocessorOptions _fromArgs(ArgResults args) => new PreprocessorOptions(
85 warningsAsErrors: args['warnings_as_errors'],
86 throwOnWarnings: args['throw_on_warnings'],
87 throwOnErrors: args['throw_on_errors'],
88 verbose: args['verbose'],
89 checked: args['checked'],
90 lessSupport: args['less'],
91 useColors: args['colors'],
92 polyfill: args['polyfill'],
93 inputFile: args.rest.length > 0 ? args.rest[0] : null);
94
95 // tool.dart [options...] <css file>
96 PreprocessorOptions _parseOptions(List<String> arguments) {
97 var parser = new ArgParser()
98 ..addFlag('verbose',
99 abbr: 'v',
100 defaultsTo: false,
101 negatable: false,
102 help: 'Display detail info')
103 ..addFlag('checked',
104 defaultsTo: false,
105 negatable: false,
106 help: 'Validate CSS values invalid value display a warning message')
107 ..addFlag('less',
108 defaultsTo: true,
109 negatable: true,
110 help: 'Supports subset of Less syntax')
111 ..addFlag('suppress_warnings',
112 defaultsTo: true, help: 'Warnings not displayed')
113 ..addFlag('warnings_as_errors',
114 defaultsTo: false, help: 'Warning handled as errors')
115 ..addFlag('throw_on_errors',
116 defaultsTo: false, help: 'Throw on errors encountered')
117 ..addFlag('throw_on_warnings',
118 defaultsTo: false, help: 'Throw on warnings encountered')
119 ..addFlag('colors',
120 defaultsTo: true, help: 'Display errors/warnings in colored text')
121 ..addFlag('polyfill',
122 defaultsTo: false, help: 'Generate polyfill for new CSS features')
123 ..addFlag('help',
124 abbr: 'h',
125 defaultsTo: false,
126 negatable: false,
127 help: 'Displays this help message');
128
129 try {
130 var results = parser.parse(arguments);
131 if (results['help'] || results.rest.length == 0) {
132 _showUsage(parser);
133 return null;
134 }
135 return _fromArgs(results);
136 } on FormatException catch (e) {
137 print(e.message);
138 _showUsage(parser);
139 return null;
140 }
141 }
142
143 void _showUsage(ArgParser parser) {
144 print('Usage: css [options...] input.css');
145 print(parser.usage);
146 }
OLDNEW
« 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