lint cleanup (#456)
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 8dc8263..4190e9a 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -20,10 +20,12 @@
- directives_ordering
- only_throw_errors
- package_api_docs
+ - prefer_const_declarations
+ - prefer_final_locals
+ - prefer_single_quotes
- test_types_in_equals
- throw_in_finally
- - prefer_final_locals
+ - unnecessary_raw_strings
- use_if_null_to_convert_nulls_to_bools
- use_raw_strings
- use_super_parameters
- - unnecessary_raw_strings
diff --git a/lib/src/inline_syntaxes/code_syntax.dart b/lib/src/inline_syntaxes/code_syntax.dart
index efc415d..afd6371 100644
--- a/lib/src/inline_syntaxes/code_syntax.dart
+++ b/lib/src/inline_syntaxes/code_syntax.dart
@@ -20,7 +20,7 @@
//
// This conforms to the delimiters of inline code, both in Markdown.pl, and
// CommonMark.
- static final String _pattern = r'(`+(?!`))((?:.|\n)*?[^`])\1(?!`)';
+ static const _pattern = r'(`+(?!`))((?:.|\n)*?[^`])\1(?!`)';
CodeSyntax() : super(_pattern);
diff --git a/lib/src/inline_syntaxes/color_swatch_syntax.dart b/lib/src/inline_syntaxes/color_swatch_syntax.dart
index 0998d74..e44fdbf 100644
--- a/lib/src/inline_syntaxes/color_swatch_syntax.dart
+++ b/lib/src/inline_syntaxes/color_swatch_syntax.dart
@@ -35,7 +35,7 @@
/// * `hsl(540,70%,50%)`
/// * `HSLA(540,70%,50%,0.3)`
/// * `Hsla(540,70%,50%,0.3)`
- static final String _pattern =
+ static const _pattern =
'`((#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8}))|'
r'([Rr][Gg][Bb][Aa]?\((\d+[%]?),(\d+[%]?),(\d+[%]?),?(\d+\.?\d+[%]?)?\))|'
r'([Hh][Ss][Ll][Aa]?\((\d+[%]?),(\d+[%]?),(\d+[%]?),?(\d+\.?\d+[%]?)?\)))`';
diff --git a/lib/src/inline_syntaxes/delimiter_syntax.dart b/lib/src/inline_syntaxes/delimiter_syntax.dart
index 7b48ce2..4c71b17 100644
--- a/lib/src/inline_syntaxes/delimiter_syntax.dart
+++ b/lib/src/inline_syntaxes/delimiter_syntax.dart
@@ -217,7 +217,7 @@
']');
// TODO(srawlins): Unicode whitespace
- static final String whitespace = ' \t\r\n';
+ static const whitespace = ' \t\r\n';
@override
Text node;
diff --git a/lib/src/inline_syntaxes/email_autolink_syntax.dart b/lib/src/inline_syntaxes/email_autolink_syntax.dart
index f5b5962..e7b90ff 100644
--- a/lib/src/inline_syntaxes/email_autolink_syntax.dart
+++ b/lib/src/inline_syntaxes/email_autolink_syntax.dart
@@ -12,7 +12,7 @@
///
/// See <http://spec.commonmark.org/0.28/#email-address>.
class EmailAutolinkSyntax extends InlineSyntax {
- static final _email =
+ static const _email =
r'''[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}'''
r'''[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*''';
diff --git a/test/document_test.dart b/test/document_test.dart
index 8a26900..42ca40f 100644
--- a/test/document_test.dart
+++ b/test/document_test.dart
@@ -54,7 +54,7 @@
test('encodeHtml spaces are preserved in text', () {
// Example to get a <p> tag rendered before a text node.
- final contents = 'Sample\n\n<pre>\n A\n B\n</pre>';
+ const contents = 'Sample\n\n<pre>\n A\n B\n</pre>';
final document = Document(encodeHtml: true);
final lines = LineSplitter.split(contents).toList();
final nodes = BlockParser(lines, document).parseLines();
@@ -64,7 +64,7 @@
test('encode double quotes, greater than, and less than when escaped',
() {
- final contents = r'\>\"\< Hello';
+ const contents = r'\>\"\< Hello';
final document = Document(encodeHtml: true);
final nodes = document.parseInline(contents);
expect(nodes, hasLength(1));
@@ -113,7 +113,7 @@
});
test('leave double quotes, greater than, and less than when escaped', () {
- final contents = r'\>\"\< Hello';
+ const contents = r'\>\"\< Hello';
final document = Document(encodeHtml: false);
final nodes = document.parseInline(contents);
expect(nodes, hasLength(1));
diff --git a/tool/dartdoc_compare.dart b/tool/dartdoc_compare.dart
index e0195ba..7186d79 100644
--- a/tool/dartdoc_compare.dart
+++ b/tool/dartdoc_compare.dart
@@ -121,7 +121,7 @@
}
final out = Directory.systemTemp
.createTempSync('dartdoc-compare-${markdownRef}__');
- final cmd = 'dart';
+ const cmd = 'dart';
final args = [dartdocBin, '--output=${out.path}'];
if (sdk) {
diff --git a/tool/stats.dart b/tool/stats.dart
index a212e6c..d09b0df 100644
--- a/tool/stats.dart
+++ b/tool/stats.dart
@@ -220,7 +220,7 @@
sink = stdout;
}
- final encoder = const JsonEncoder.withIndent(' ', _convert);
+ const encoder = JsonEncoder.withIndent(' ', _convert);
try {
sink.writeln(encoder.convert(scores));
} on JsonUnsupportedObjectError catch (e) {
diff --git a/tool/update_blns.dart b/tool/update_blns.dart
index b48b8a7..1f50e36 100644
--- a/tool/update_blns.dart
+++ b/tool/update_blns.dart
@@ -2,9 +2,9 @@
import 'dart:convert';
import 'dart:io';
-final _blnsJsonRawUrl =
+const _blnsJsonRawUrl =
'https://github.com/minimaxir/big-list-of-naughty-strings/raw/master/blns.json';
-final _blnsFilePath = 'test/blns.dart';
+const _blnsFilePath = 'test/blns.dart';
Future<void> main() async {
final client = HttpClient();
diff --git a/tool/update_emojis.dart b/tool/update_emojis.dart
index 6b11e7a..396be33 100644
--- a/tool/update_emojis.dart
+++ b/tool/update_emojis.dart
@@ -9,9 +9,9 @@
// update_github_emojis.dart now generates the emoji list using the GitHub API
// to retrieve the emoji list. It uses this emoji source as a source to keep
// binary compatibility with the Unicode sequences for each emoji found here.
-final _emojisJsonRawUrl =
+const _emojisJsonRawUrl =
'https://raw.githubusercontent.com/muan/emojilib/v2.4.0/emojis.json';
-final _emojisFilePath = 'lib/src/legacy_emojis.dart';
+const _emojisFilePath = 'lib/src/legacy_emojis.dart';
Future<void> main() async {
final client = HttpClient();
diff --git a/tool/update_github_emojis.dart b/tool/update_github_emojis.dart
index 5431d31..5fbf60c 100644
--- a/tool/update_github_emojis.dart
+++ b/tool/update_github_emojis.dart
@@ -26,11 +26,11 @@
/// The 'cricket' emoji changes from `🏏` to `🦗`, legacy available as 'cricket_game'.
/// (if the -g flag us used to force using the GitHub Unicode sequences for the
/// emoji then additionally the 'email' emoji changes from '✉️' to '📧').
-final _emojisJsonRawUrl = 'https://api.github.com/emojis';
-final _emojisFilePath = 'lib/src/emojis.dart';
+const _emojisJsonRawUrl = 'https://api.github.com/emojis';
+const _emojisFilePath = 'lib/src/emojis.dart';
/// Reference to emoji map within legacy_emojis.dart
-final legacyEmojis = legacy.emojis;
+const legacyEmojis = legacy.emojis;
/// AUTO GENERATED by [reconcile_emojis.dart] - this only needed to be done ONCE
/// during the reconciliation process with the legacy emoji.