Merge branch 'master' of github.com:dart-lang/markdown
* 'master' of github.com:dart-lang/markdown:
Use more lints – related fixes
diff --git a/.analysis_options b/.analysis_options
index a10d4c5..37b2ae0 100644
--- a/.analysis_options
+++ b/.analysis_options
@@ -1,2 +1,49 @@
analyzer:
strong-mode: true
+linter:
+ rules:
+ - always_declare_return_types
+ #- always_specify_types
+ #- annotate_overrides
+ #- avoid_as
+ - avoid_empty_else
+ - avoid_init_to_null
+ - avoid_return_types_on_setters
+ - await_only_futures
+ - camel_case_types
+ - cancel_subscriptions
+ - close_sinks
+ #- comment_references
+ - constant_identifier_names
+ - control_flow_in_finally
+ - empty_catches
+ - empty_constructor_bodies
+ - empty_statements
+ - hash_and_equals
+ #- implementation_imports
+ - iterable_contains_unrelated_type
+ - library_names
+ - library_prefixes
+ - list_remove_unrelated_type
+ #- non_constant_identifier_names
+ #- one_member_abstracts
+ #- only_throw_errors
+ - overridden_fields
+ - package_api_docs
+ - package_names
+ - package_prefixed_library_names
+ - prefer_is_not_empty
+ #- public_member_api_docs
+ - slash_for_doc_comments
+ #- sort_constructors_first
+ #- sort_unnamed_constructors_first
+ - super_goes_last
+ - test_types_in_equals
+ - throw_in_finally
+ #- type_annotate_public_apis
+ - type_init_formals
+ #- unawaited_futures
+ #- unnecessary_brace_in_string_interp
+ #- unnecessary_getters_setters
+ - unrelated_type_equality_checks
+ - valid_regexps
diff --git a/bin/markdown.dart b/bin/markdown.dart
index b21e097..0df8040 100644
--- a/bin/markdown.dart
+++ b/bin/markdown.dart
@@ -1,8 +1,9 @@
+import 'dart:async';
import 'dart:io';
import 'package:markdown/markdown.dart';
-main(List<String> args) async {
+Future main(List<String> args) async {
if (args.length > 1) {
print('Usage: markdown.dart [file]');
exit(1);
@@ -27,7 +28,7 @@
print(markdownToHtml(buffer.toString()));
}
-usage() {
+void usage() {
print('''Usage:
markdown [markdown file]
Convert [markdown-file] from Markdown to HTML. If no file is passed on
diff --git a/example/app.dart b/example/app.dart
index ccb0de9..1e005b1 100644
--- a/example/app.dart
+++ b/example/app.dart
@@ -68,7 +68,7 @@
markdownInput.onKeyUp.listen((_) {
timer?.cancel();
});
- addCharacter() {
+ void addCharacter() {
if (pos > msg.length) {
return;
}
diff --git a/lib/src/block_parser.dart b/lib/src/block_parser.dart
index ed24f50..91a368e 100644
--- a/lib/src/block_parser.dart
+++ b/lib/src/block_parser.dart
@@ -588,24 +588,24 @@
var items = <ListItem>[];
var childLines = <String>[];
- endItem() {
+ void endItem() {
if (childLines.length > 0) {
items.add(new ListItem(childLines));
childLines = <String>[];
}
}
- var match;
- tryMatch(RegExp pattern) {
+ Match match;
+ bool tryMatch(RegExp pattern) {
match = pattern.firstMatch(parser.current);
return match != null;
}
- var listMarker = null;
- var indent;
+ String listMarker;
+ String indent;
// In case the first number in an ordered list is not 1, use it as the
// "start".
- var startNumber;
+ int startNumber;
while (!parser.isDone) {
if (tryMatch(_emptyPattern)) {
diff --git a/lib/src/html_renderer.dart b/lib/src/html_renderer.dart
index 95ce7c1..f88f2c4 100644
--- a/lib/src/html_renderer.dart
+++ b/lib/src/html_renderer.dart
@@ -62,7 +62,7 @@
bool visitElementBefore(Element element) {
// Hackish. Separate block-level elements with newlines.
- if (!buffer.isEmpty && _blockTags.firstMatch(element.tag) != null) {
+ if (buffer.isNotEmpty && _blockTags.firstMatch(element.tag) != null) {
buffer.write('\n');
}
diff --git a/lib/src/inline_parser.dart b/lib/src/inline_parser.dart
index 7e53666..b942601 100644
--- a/lib/src/inline_parser.dart
+++ b/lib/src/inline_parser.dart
@@ -289,7 +289,7 @@
/// This handles both reference-style and inline-style links as well as
/// optional titles for inline links. To make that a bit more palatable, this
/// breaks it into pieces.
- static get linkPattern {
+ static String get linkPattern {
var refLink = r'\[([^\]]*)\]'; // `[id]` reflink id.
var title = r'(?:\s*"([^"]+?)"\s*|)'; // Optional title in quotes.
var inlineLink = '\\((\\S*?)$title\\)'; // `(url "title")` link.
diff --git a/tool/common_mark_stats.dart b/tool/common_mark_stats.dart
index d25f4fa..dd09637 100644
--- a/tool/common_mark_stats.dart
+++ b/tool/common_mark_stats.dart
@@ -18,7 +18,7 @@
String get _currentDir => p
.dirname((reflect(main) as ClosureMirror).function.location.sourceUri.path);
-main(List<String> args) async {
+Future main(List<String> args) async {
final parser = new ArgParser()
..addOption('section',
help: 'Restrict tests to one section, provided after the option.')
@@ -132,7 +132,7 @@
enum CompareLevel { strict, loose, fail, error }
-_convert(obj) {
+Object _convert(obj) {
if (obj is CompareLevel) {
switch (obj) {
case CompareLevel.strict:
diff --git a/tool/dartdoc-compare.dart b/tool/dartdoc-compare.dart
index 5b9cff7..ca8ea30 100644
--- a/tool/dartdoc-compare.dart
+++ b/tool/dartdoc-compare.dart
@@ -6,16 +6,16 @@
import 'package:yaml/yaml.dart' show loadYaml;
int main(List<String> arguments) {
- const dartdoc_dir = 'dartdoc-dir';
- const markdown_before = 'before';
- const markdown_after = 'after';
+ const dartdocDir = 'dartdoc-dir';
+ const markdownBefore = 'before';
+ const markdownAfter = 'after';
const sdk = 'sdk';
const help = 'help';
final parser = new ArgParser()
..addSeparator("Usage: dartdoc-compare.dart [OPTIONS] <dart-package>")
- ..addOption(dartdoc_dir, help: "Directory of the dartdoc package")
- ..addOption(markdown_before, help: "Markdown package 'before' ref")
- ..addOption(markdown_after,
+ ..addOption(dartdocDir, help: "Directory of the dartdoc package")
+ ..addOption(markdownBefore, help: "Markdown package 'before' ref")
+ ..addOption(markdownAfter,
defaultsTo: "HEAD", help: "Markdown package 'after' ref")
..addFlag(sdk,
defaultsTo: false, negatable: false, help: "Is the package the SDK?")
@@ -25,18 +25,18 @@
print(parser.usage);
return 0;
}
- if (options[dartdoc_dir] == null || options[markdown_before] == null) {
+ if (options[dartdocDir] == null || options[markdownBefore] == null) {
print(
- "Invalid arguments: Options --$dartdoc_dir and --$markdown_before must be specified");
+ "Invalid arguments: Options --$dartdocDir and --$markdownBefore must be specified");
print(parser.usage);
return 1;
}
var comparer = new DartdocCompare()
- ..dartdoc_dir = options[dartdoc_dir]
- ..markdown_before = options[markdown_before]
- ..markdown_after = options[markdown_after]
- ..dartdoc_bin = absolute(options[dartdoc_dir], "bin/dartdoc.dart")
- ..dartdoc_pubspec_path = absolute(options[dartdoc_dir], "pubspec.yaml")
+ ..dartdoc_dir = options[dartdocDir]
+ ..markdown_before = options[markdownBefore]
+ ..markdown_after = options[markdownAfter]
+ ..dartdoc_bin = absolute(options[dartdocDir], "bin/dartdoc.dart")
+ ..dartdoc_pubspec_path = absolute(options[dartdocDir], "pubspec.yaml")
..sdk = options[sdk];
var package = options.rest.first;
@@ -65,7 +65,7 @@
var nlines = "\n".allMatches(result.stdout).length;
print("Diff lines: ${ nlines }");
print("diff ${diffOptions.join(" ")}");
- return result == 0;
+ return result.exitCode == 0;
}
String run_dartdoc(markdown_ref, package) {
@@ -90,7 +90,7 @@
});
}
- update_dartdoc_pubspec(markdown_ref) {
+ int update_dartdoc_pubspec(markdown_ref) {
var dartdoc_pubspec =
loadYaml(new File(dartdoc_pubspec_path).readAsStringSync());
// make modifiable copy
@@ -108,14 +108,14 @@
return system('pub', ['get']);
}
- static system(String cmd, List<String> args) {
+ static int system(String cmd, List<String> args) {
var result = Process.runSync(cmd, args);
print(result.stdout);
print(result.stderr);
return result.exitCode;
}
- static doInPath(String path, Function f) {
+ static Object doInPath(String path, Function f) {
var former = Directory.current.path;
Directory.current = path;
var result = f();