diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index 21a3c50..e47bf66 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml
@@ -23,7 +23,7 @@ sdk: [dev] steps: - uses: actions/checkout@v2 - - uses: dart-lang/setup-dart@v0.3 + - uses: dart-lang/setup-dart@v1.0 with: sdk: ${{ matrix.sdk }} - id: install @@ -47,10 +47,10 @@ matrix: # Add macos-latest and/or windows-latest if relevant for this package. os: [ubuntu-latest] - sdk: [dev] + sdk: [2.12.0, dev] steps: - uses: actions/checkout@v2 - - uses: dart-lang/setup-dart@v0.3 + - uses: dart-lang/setup-dart@v1.0 with: sdk: ${{ matrix.sdk }} - id: install
diff --git a/CHANGELOG.md b/CHANGELOG.md index 15cbaf5..7100d1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -1,3 +1,8 @@ +## 1.2.1-dev + +* Migrate to `package:lints`. +* Populate the pubspec `repository` field. + ## 1.2.0 * Stable release for null safety.
diff --git a/LICENSE b/LICENSE index 389ce98..03af64a 100644 --- a/LICENSE +++ b/LICENSE
@@ -1,4 +1,5 @@ -Copyright 2017, the Dart project authors. All rights reserved. +Copyright 2017, the Dart project authors. + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -9,7 +10,7 @@ copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
diff --git a/analysis_options.yaml b/analysis_options.yaml index 108d105..a7d6f2d 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml
@@ -1 +1,78 @@ -include: package:pedantic/analysis_options.yaml +include: package:lints/recommended.yaml + +analyzer: + strong-mode: + implicit-casts: false + +linter: + rules: + - avoid_bool_literals_in_conditional_expressions + - avoid_catching_errors + - avoid_classes_with_only_static_members + - avoid_function_literals_in_foreach_calls + - avoid_private_typedef_functions + - avoid_redundant_argument_values + - avoid_renaming_method_parameters + - avoid_returning_null + - avoid_returning_null_for_future + - avoid_returning_null_for_void + - avoid_returning_this + - avoid_single_cascade_in_expression_statements + - avoid_unused_constructor_parameters + - avoid_void_async + - await_only_futures + - camel_case_types + - cancel_subscriptions + #- cascade_invocations + - comment_references + - constant_identifier_names + - control_flow_in_finally + - directives_ordering + - empty_statements + - file_names + - hash_and_equals + - implementation_imports + - invariant_booleans + - iterable_contains_unrelated_type + - join_return_with_assignment + #- lines_longer_than_80_chars + - list_remove_unrelated_type + - literal_only_boolean_expressions + - missing_whitespace_between_adjacent_strings + - no_adjacent_strings_in_list + - no_runtimeType_toString + - non_constant_identifier_names + - only_throw_errors + - overridden_fields + - package_api_docs + - package_names + - package_prefixed_library_names + - prefer_asserts_in_initializer_lists + - prefer_const_constructors + - prefer_const_declarations + - prefer_expression_function_bodies + - prefer_final_locals + - prefer_function_declarations_over_variables + - prefer_initializing_formals + - prefer_inlined_adds + - prefer_interpolation_to_compose_strings + - prefer_is_not_operator + - prefer_null_aware_operators + - prefer_relative_imports + - prefer_typing_uninitialized_variables + - prefer_void_to_null + - provide_deprecation_message + - sort_pub_dependencies + - test_types_in_equals + - throw_in_finally + - unnecessary_await_in_return + - unnecessary_brace_in_string_interps + - unnecessary_getters_setters + - unnecessary_lambdas + - unnecessary_null_aware_assignments + - unnecessary_overrides + - unnecessary_parenthesis + - unnecessary_statements + - unnecessary_string_interpolations + - use_string_buffers + - void_checks
diff --git a/lib/src/generated/ascii_glyph_set.dart b/lib/src/generated/ascii_glyph_set.dart index e0c3a49..7c97d7f 100644 --- a/lib/src/generated/ascii_glyph_set.dart +++ b/lib/src/generated/ascii_glyph_set.dart
@@ -10,7 +10,7 @@ class AsciiGlyphSet implements GlyphSet { const AsciiGlyphSet(); - /// Returns [glyph] if [this] supports Unicode glyphs and [alternative] + /// Returns [glyph] if `this` supports Unicode glyphs and [alternative] /// otherwise. @override String glyphOrAscii(String glyph, String alternative) => alternative;
diff --git a/lib/src/generated/glyph_set.dart b/lib/src/generated/glyph_set.dart index 941da4f..10713b2 100644 --- a/lib/src/generated/glyph_set.dart +++ b/lib/src/generated/glyph_set.dart
@@ -7,7 +7,7 @@ /// A class that provides access to every configurable glyph. /// /// This is provided as a class so that individual chunks of code can choose -/// between [ascii] and [unicode] glyphs. For example: +/// between `ascii` and `unicode` glyphs. For example: /// /// ```dart /// import 'package:term_glyph/term_glyph.dart' as glyph; @@ -28,7 +28,7 @@ /// } /// ``` abstract class GlyphSet { - /// Returns [glyph] if [this] supports Unicode glyphs and [alternative] + /// Returns [glyph] if `this` supports Unicode glyphs and [alternative] /// otherwise. String glyphOrAscii(String glyph, String alternative);
diff --git a/lib/src/generated/top_level.dart b/lib/src/generated/top_level.dart index 9475953..c430b33 100644 --- a/lib/src/generated/top_level.dart +++ b/lib/src/generated/top_level.dart
@@ -8,7 +8,7 @@ /// A bullet point. /// -/// If [ascii] is `false`, this is "•". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "•". If it's `true`, this is /// "*" instead. String get bullet => glyph.glyphs.bullet; @@ -17,7 +17,7 @@ /// Note that the Unicode arrow glyphs may overlap with adjacent characters in some /// terminal fonts, and should generally be surrounding by spaces. /// -/// If [ascii] is `false`, this is "←". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "←". If it's `true`, this is /// "<" instead. String get leftArrow => glyph.glyphs.leftArrow; @@ -26,355 +26,355 @@ /// Note that the Unicode arrow glyphs may overlap with adjacent characters in some /// terminal fonts, and should generally be surrounding by spaces. /// -/// If [ascii] is `false`, this is "→". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "→". If it's `true`, this is /// ">" instead. String get rightArrow => glyph.glyphs.rightArrow; /// An upwards-pointing arrow. /// -/// If [ascii] is `false`, this is "↑". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "↑". If it's `true`, this is /// "^" instead. String get upArrow => glyph.glyphs.upArrow; /// A downwards-pointing arrow. /// -/// If [ascii] is `false`, this is "↓". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "↓". If it's `true`, this is /// "v" instead. String get downArrow => glyph.glyphs.downArrow; /// A two-character left-pointing arrow. /// -/// If [ascii] is `false`, this is "◀━". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "◀━". If it's `true`, this is /// "<=" instead. String get longLeftArrow => glyph.glyphs.longLeftArrow; /// A two-character right-pointing arrow. /// -/// If [ascii] is `false`, this is "━▶". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "━▶". If it's `true`, this is /// "=>" instead. String get longRightArrow => glyph.glyphs.longRightArrow; /// A horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "─". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "─". If it's `true`, this is /// "-" instead. String get horizontalLine => glyph.glyphs.horizontalLine; /// A vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "│". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "│". If it's `true`, this is /// "|" instead. String get verticalLine => glyph.glyphs.verticalLine; /// The upper left-hand corner of a box. /// -/// If [ascii] is `false`, this is "┌". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┌". If it's `true`, this is /// "," instead. String get topLeftCorner => glyph.glyphs.topLeftCorner; /// The upper right-hand corner of a box. /// -/// If [ascii] is `false`, this is "┐". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┐". If it's `true`, this is /// "," instead. String get topRightCorner => glyph.glyphs.topRightCorner; /// The lower left-hand corner of a box. /// -/// If [ascii] is `false`, this is "└". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "└". If it's `true`, this is /// "'" instead. String get bottomLeftCorner => glyph.glyphs.bottomLeftCorner; /// The lower right-hand corner of a box. /// -/// If [ascii] is `false`, this is "┘". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┘". If it's `true`, this is /// "'" instead. String get bottomRightCorner => glyph.glyphs.bottomRightCorner; /// An intersection of vertical and horizontal box lines. /// -/// If [ascii] is `false`, this is "┼". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┼". If it's `true`, this is /// "+" instead. String get cross => glyph.glyphs.cross; /// A horizontal box line with a vertical line going up from the middle. /// -/// If [ascii] is `false`, this is "┴". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┴". If it's `true`, this is /// "+" instead. String get teeUp => glyph.glyphs.teeUp; /// A horizontal box line with a vertical line going down from the middle. /// -/// If [ascii] is `false`, this is "┬". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┬". If it's `true`, this is /// "+" instead. String get teeDown => glyph.glyphs.teeDown; /// A vertical box line with a horizontal line going left from the middle. /// -/// If [ascii] is `false`, this is "┤". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┤". If it's `true`, this is /// "+" instead. String get teeLeft => glyph.glyphs.teeLeft; /// A vertical box line with a horizontal line going right from the middle. /// -/// If [ascii] is `false`, this is "├". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "├". If it's `true`, this is /// "+" instead. String get teeRight => glyph.glyphs.teeRight; /// The top half of a vertical box line. /// -/// If [ascii] is `false`, this is "╵". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╵". If it's `true`, this is /// "'" instead. String get upEnd => glyph.glyphs.upEnd; /// The bottom half of a vertical box line. /// -/// If [ascii] is `false`, this is "╷". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╷". If it's `true`, this is /// "," instead. String get downEnd => glyph.glyphs.downEnd; /// The left half of a horizontal box line. /// -/// If [ascii] is `false`, this is "╴". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╴". If it's `true`, this is /// "-" instead. String get leftEnd => glyph.glyphs.leftEnd; /// The right half of a horizontal box line. /// -/// If [ascii] is `false`, this is "╶". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╶". If it's `true`, this is /// "-" instead. String get rightEnd => glyph.glyphs.rightEnd; /// A bold horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "━". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "━". If it's `true`, this is /// "=" instead. String get horizontalLineBold => glyph.glyphs.horizontalLineBold; /// A bold vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┃". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┃". If it's `true`, this is /// "|" instead. String get verticalLineBold => glyph.glyphs.verticalLineBold; /// The bold upper left-hand corner of a box. /// -/// If [ascii] is `false`, this is "┏". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┏". If it's `true`, this is /// "," instead. String get topLeftCornerBold => glyph.glyphs.topLeftCornerBold; /// The bold upper right-hand corner of a box. /// -/// If [ascii] is `false`, this is "┓". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┓". If it's `true`, this is /// "," instead. String get topRightCornerBold => glyph.glyphs.topRightCornerBold; /// The bold lower left-hand corner of a box. /// -/// If [ascii] is `false`, this is "┗". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┗". If it's `true`, this is /// "'" instead. String get bottomLeftCornerBold => glyph.glyphs.bottomLeftCornerBold; /// The bold lower right-hand corner of a box. /// -/// If [ascii] is `false`, this is "┛". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┛". If it's `true`, this is /// "'" instead. String get bottomRightCornerBold => glyph.glyphs.bottomRightCornerBold; /// An intersection of bold vertical and horizontal box lines. /// -/// If [ascii] is `false`, this is "╋". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╋". If it's `true`, this is /// "+" instead. String get crossBold => glyph.glyphs.crossBold; /// A bold horizontal box line with a vertical line going up from the middle. /// -/// If [ascii] is `false`, this is "┻". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┻". If it's `true`, this is /// "+" instead. String get teeUpBold => glyph.glyphs.teeUpBold; /// A bold horizontal box line with a vertical line going down from the middle. /// -/// If [ascii] is `false`, this is "┳". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┳". If it's `true`, this is /// "+" instead. String get teeDownBold => glyph.glyphs.teeDownBold; /// A bold vertical box line with a horizontal line going left from the middle. /// -/// If [ascii] is `false`, this is "┫". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┫". If it's `true`, this is /// "+" instead. String get teeLeftBold => glyph.glyphs.teeLeftBold; /// A bold vertical box line with a horizontal line going right from the middle. /// -/// If [ascii] is `false`, this is "┣". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┣". If it's `true`, this is /// "+" instead. String get teeRightBold => glyph.glyphs.teeRightBold; /// The top half of a bold vertical box line. /// -/// If [ascii] is `false`, this is "╹". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╹". If it's `true`, this is /// "'" instead. String get upEndBold => glyph.glyphs.upEndBold; /// The bottom half of a bold vertical box line. /// -/// If [ascii] is `false`, this is "╻". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╻". If it's `true`, this is /// "," instead. String get downEndBold => glyph.glyphs.downEndBold; /// The left half of a bold horizontal box line. /// -/// If [ascii] is `false`, this is "╸". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╸". If it's `true`, this is /// "-" instead. String get leftEndBold => glyph.glyphs.leftEndBold; /// The right half of a bold horizontal box line. /// -/// If [ascii] is `false`, this is "╺". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╺". If it's `true`, this is /// "-" instead. String get rightEndBold => glyph.glyphs.rightEndBold; /// A double horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "═". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "═". If it's `true`, this is /// "=" instead. String get horizontalLineDouble => glyph.glyphs.horizontalLineDouble; /// A double vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "║". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "║". If it's `true`, this is /// "|" instead. String get verticalLineDouble => glyph.glyphs.verticalLineDouble; /// The double upper left-hand corner of a box. /// -/// If [ascii] is `false`, this is "╔". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╔". If it's `true`, this is /// "," instead. String get topLeftCornerDouble => glyph.glyphs.topLeftCornerDouble; /// The double upper right-hand corner of a box. /// -/// If [ascii] is `false`, this is "╗". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╗". If it's `true`, this is /// "," instead. String get topRightCornerDouble => glyph.glyphs.topRightCornerDouble; /// The double lower left-hand corner of a box. /// -/// If [ascii] is `false`, this is "╚". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╚". If it's `true`, this is /// """ instead. String get bottomLeftCornerDouble => glyph.glyphs.bottomLeftCornerDouble; /// The double lower right-hand corner of a box. /// -/// If [ascii] is `false`, this is "╝". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╝". If it's `true`, this is /// """ instead. String get bottomRightCornerDouble => glyph.glyphs.bottomRightCornerDouble; /// An intersection of double vertical and horizontal box lines. /// -/// If [ascii] is `false`, this is "╬". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╬". If it's `true`, this is /// "+" instead. String get crossDouble => glyph.glyphs.crossDouble; /// A double horizontal box line with a vertical line going up from the middle. /// -/// If [ascii] is `false`, this is "╩". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╩". If it's `true`, this is /// "+" instead. String get teeUpDouble => glyph.glyphs.teeUpDouble; /// A double horizontal box line with a vertical line going down from the middle. /// -/// If [ascii] is `false`, this is "╦". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╦". If it's `true`, this is /// "+" instead. String get teeDownDouble => glyph.glyphs.teeDownDouble; /// A double vertical box line with a horizontal line going left from the middle. /// -/// If [ascii] is `false`, this is "╣". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╣". If it's `true`, this is /// "+" instead. String get teeLeftDouble => glyph.glyphs.teeLeftDouble; /// A double vertical box line with a horizontal line going right from the middle. /// -/// If [ascii] is `false`, this is "╠". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╠". If it's `true`, this is /// "+" instead. String get teeRightDouble => glyph.glyphs.teeRightDouble; /// A dashed horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "╌". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╌". If it's `true`, this is /// "-" instead. String get horizontalLineDoubleDash => glyph.glyphs.horizontalLineDoubleDash; /// A bold dashed horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "╍". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╍". If it's `true`, this is /// "-" instead. String get horizontalLineDoubleDashBold => glyph.glyphs.horizontalLineDoubleDashBold; /// A dashed vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "╎". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╎". If it's `true`, this is /// "|" instead. String get verticalLineDoubleDash => glyph.glyphs.verticalLineDoubleDash; /// A bold dashed vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "╏". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "╏". If it's `true`, this is /// "|" instead. String get verticalLineDoubleDashBold => glyph.glyphs.verticalLineDoubleDashBold; /// A dashed horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┄". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┄". If it's `true`, this is /// "-" instead. String get horizontalLineTripleDash => glyph.glyphs.horizontalLineTripleDash; /// A bold dashed horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┅". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┅". If it's `true`, this is /// "-" instead. String get horizontalLineTripleDashBold => glyph.glyphs.horizontalLineTripleDashBold; /// A dashed vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┆". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┆". If it's `true`, this is /// "|" instead. String get verticalLineTripleDash => glyph.glyphs.verticalLineTripleDash; /// A bold dashed vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┇". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┇". If it's `true`, this is /// "|" instead. String get verticalLineTripleDashBold => glyph.glyphs.verticalLineTripleDashBold; /// A dashed horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┈". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┈". If it's `true`, this is /// "-" instead. String get horizontalLineQuadrupleDash => glyph.glyphs.horizontalLineQuadrupleDash; /// A bold dashed horizontal line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┉". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┉". If it's `true`, this is /// "-" instead. String get horizontalLineQuadrupleDashBold => glyph.glyphs.horizontalLineQuadrupleDashBold; /// A dashed vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┊". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┊". If it's `true`, this is /// "|" instead. String get verticalLineQuadrupleDash => glyph.glyphs.verticalLineQuadrupleDash; /// A bold dashed vertical line that can be used to draw a box. /// -/// If [ascii] is `false`, this is "┋". If it's `true`, this is +/// If [glyph.ascii] is `false`, this is "┋". If it's `true`, this is /// "|" instead. String get verticalLineQuadrupleDashBold => glyph.glyphs.verticalLineQuadrupleDashBold;
diff --git a/lib/src/generated/unicode_glyph_set.dart b/lib/src/generated/unicode_glyph_set.dart index 1737b39..1ddd165 100644 --- a/lib/src/generated/unicode_glyph_set.dart +++ b/lib/src/generated/unicode_glyph_set.dart
@@ -10,7 +10,7 @@ class UnicodeGlyphSet implements GlyphSet { const UnicodeGlyphSet(); - /// Returns [glyph] if [this] supports Unicode glyphs and [alternative] + /// Returns [glyph] if `this` supports Unicode glyphs and [alternative] /// otherwise. @override String glyphOrAscii(String glyph, String alternative) => glyph;
diff --git a/lib/term_glyph.dart b/lib/term_glyph.dart index b7361be..9f2b422 100644 --- a/lib/term_glyph.dart +++ b/lib/term_glyph.dart
@@ -2,13 +2,13 @@ // 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. -export 'src/generated/glyph_set.dart'; -export 'src/generated/top_level.dart'; - import 'src/generated/ascii_glyph_set.dart'; import 'src/generated/glyph_set.dart'; import 'src/generated/unicode_glyph_set.dart'; +export 'src/generated/glyph_set.dart'; +export 'src/generated/top_level.dart'; + /// A [GlyphSet] that always returns ASCII glyphs. const GlyphSet asciiGlyphs = AsciiGlyphSet();
diff --git a/pubspec.yaml b/pubspec.yaml index 18177a3..d1313a4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml
@@ -1,14 +1,13 @@ name: term_glyph -version: 1.2.0 - +version: 1.2.1-dev description: Useful Unicode glyphs and ASCII substitutes. -homepage: https://github.com/dart-lang/term_glyph +repository: https://github.com/dart-lang/term_glyph environment: - sdk: ">=2.12.0-0 <3.0.0" + sdk: ">=2.12.0 <3.0.0" dev_dependencies: - csv: '>=3.0.0 <5.0.0' - dart_style: '>=0.2.0 <2.0.0' - meta: ^1.3.0-nullsafety - test: ^1.16.0-nullsafety + csv: ^5.0.0 + dart_style: ^2.0.0 + lints: ^1.0.0 + test: ^1.16.0
diff --git a/test/symbol_test.dart b/test/symbol_test.dart index 22993a7..b3b4d09 100644 --- a/test/symbol_test.dart +++ b/test/symbol_test.dart
@@ -2,9 +2,8 @@ // 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. -import 'package:test/test.dart'; - import 'package:term_glyph/term_glyph.dart' as glyph; +import 'package:test/test.dart'; void main() { group('with ascii = false', () {
diff --git a/tool/generate.dart b/tool/generate.dart index 90fc2e8..007913b 100644 --- a/tool/generate.dart +++ b/tool/generate.dart
@@ -1,18 +1,14 @@ // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file // 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. -// -// TODO: Remove once package:csv/csv.dart is migrated. -// @dart=2.9 import 'dart:io'; import 'package:csv/csv.dart'; -import 'package:meta/meta.dart'; void main() { - var csv = CsvCodec(eol: '\n'); - var data = csv.decoder.convert(File('data.csv').readAsStringSync()); + final csv = CsvCodec(eol: '\n'); + final data = csv.decoder.convert(File('data.csv').readAsStringSync()); // Remove comments and empty lines. data.removeWhere((row) => row.length < 3); @@ -24,7 +20,7 @@ _writeGlyphSet(data, ascii: true); _writeTopLevel(data); - var result = Process.runSync( + final result = Process.runSync( 'pub', ['run', 'dart_style:format', '-w', 'lib/src/generated']); print(result.stderr); exit(result.exitCode); @@ -32,7 +28,7 @@ /// Writes `lib/src/generated/glyph_set.dart`. void _writeGlyphSetInterface(List<List> data) { - var file = + final file = File('lib/src/generated/glyph_set.dart').openSync(mode: FileMode.write); file.writeStringSync(r''' // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file @@ -44,7 +40,7 @@ /// A class that provides access to every configurable glyph. /// /// This is provided as a class so that individual chunks of code can choose - /// between [ascii] and [unicode] glyphs. For example: + /// between `ascii` and `unicode` glyphs. For example: /// /// ```dart /// import 'package:term_glyph/term_glyph.dart' as glyph; @@ -65,13 +61,13 @@ /// } /// ``` abstract class GlyphSet { - /// Returns [glyph] if [this] supports Unicode glyphs and [alternative] + /// Returns [glyph] if `this` supports Unicode glyphs and [alternative] /// otherwise. String glyphOrAscii(String glyph, String alternative); '''); for (var glyph in data) { - for (var line in glyph[3].split('\n')) { + for (var line in (glyph[3] as String).split('\n')) { file.writeStringSync('/// $line\n'); } @@ -86,12 +82,12 @@ /// /// If [ascii] is `true`, this writes the ASCII glyph set. Otherwise it writes /// the Unicode glyph set. -void _writeGlyphSet(List<List> data, {@required bool ascii}) { - var file = +void _writeGlyphSet(List<List> data, {required bool ascii}) { + final file = File('lib/src/generated/${ascii ? "ascii" : "unicode"}_glyph_set.dart') .openSync(mode: FileMode.write); - var className = '${ascii ? "Ascii" : "Unicode"}GlyphSet'; + final className = '${ascii ? "Ascii" : "Unicode"}GlyphSet'; file.writeStringSync(''' // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a @@ -104,18 +100,18 @@ /// A [GlyphSet] that includes only ${ascii ? "ASCII" : "Unicode"} glyphs. class $className implements GlyphSet { const $className(); - /// Returns [glyph] if [this] supports Unicode glyphs and [alternative] + /// Returns [glyph] if `this` supports Unicode glyphs and [alternative] /// otherwise. @override String glyphOrAscii(String glyph, String alternative) => ${ascii ? "alternative" : "glyph"}; '''); - var index = ascii ? 2 : 1; + final index = ascii ? 2 : 1; for (var glyph in data) { file.writeStringSync(''' @override - String get ${glyph[0]} => ${_quote(glyph[index])}; + String get ${glyph[0]} => ${_quote(glyph[index] as String)}; '''); } @@ -125,7 +121,7 @@ /// Writes `lib/src/generated/top_level.dart`. void _writeTopLevel(List<List> data) { - var file = + final file = File('lib/src/generated/top_level.dart').openSync(mode: FileMode.write); file.writeStringSync(''' @@ -139,13 +135,13 @@ '''); for (var glyph in data) { - for (var line in glyph[3].split('\n')) { + for (var line in (glyph[3] as String).split('\n')) { file.writeStringSync('/// $line\n'); } file.writeStringSync(''' /// - /// If [ascii] is `false`, this is "${glyph[1]}". If it's `true`, this is + /// If [glyph.ascii] is `false`, this is "${glyph[1]}". If it's `true`, this is /// "${glyph[2]}" instead. String get ${glyph[0]} => glyph.glyphs.${glyph[0]}; ''');