| Index: packages/dart_style/web/main.dart
|
| diff --git a/packages/dart_style/web/main.dart b/packages/dart_style/web/main.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a005653764adab97ca424f2a1455264449de0d2a
|
| --- /dev/null
|
| +++ b/packages/dart_style/web/main.dart
|
| @@ -0,0 +1,66 @@
|
| +import 'dart:html';
|
| +
|
| +import 'package:dart_style/dart_style.dart';
|
| +
|
| +TextAreaElement before;
|
| +TextAreaElement after;
|
| +
|
| +int width = 80;
|
| +
|
| +PreElement columnMarker = querySelector(".column-marker");
|
| +InputElement widthInput = querySelector("#width");
|
| +OutputElement widthOutput = querySelector("#width-output");
|
| +
|
| +void main() {
|
| + before = querySelector("#before") as TextAreaElement;
|
| + after = querySelector("#after") as TextAreaElement;
|
| +
|
| + before.onKeyUp.listen((event) {
|
| + reformat();
|
| +
|
| + window.localStorage["code"] = before.value;
|
| + });
|
| +
|
| + var code = window.localStorage["code"];
|
| + if (code != null) before.text = code;
|
| +
|
| + if (window.localStorage.containsKey("width")) {
|
| + setWidth(window.localStorage["width"]);
|
| + }
|
| +
|
| + widthInput.onInput.listen((event) {
|
| + setWidth(widthInput.value);
|
| + window.localStorage["width"] = widthInput.value;
|
| + });
|
| +
|
| + reformat();
|
| +}
|
| +
|
| +void reformat() {
|
| + var source = before.value;
|
| +
|
| + try {
|
| + after.value = new DartFormatter(pageWidth: width).format(source);
|
| + return;
|
| + } on FormatterException {
|
| + // Do nothing.
|
| + }
|
| +
|
| + // Maybe it's a statement.
|
| + try {
|
| + after.value = new DartFormatter(pageWidth: width).formatStatement(source);
|
| + } on FormatterException catch (err) {
|
| + after.value = "Format failed:\n$err";
|
| + }
|
| +}
|
| +
|
| +void setWidth(String widthString) {
|
| + width = int.parse(widthString);
|
| +
|
| + widthInput.value = widthString;
|
| + widthOutput.value = widthString;
|
| +
|
| + var pad = " " * width + "|";
|
| + columnMarker.innerHtml = "$pad $width columns" + "\n$pad" * 29;
|
| + reformat();
|
| +}
|
|
|