dart-sdk/pkg/linter
Kallen Tu cd4b418628 [linter] Add unintended_html_in_doc_comment lint.
This CL adds a lint that reports when a user uses a pair of angled brackets which are not in a code block, nor a code span, and is not an autolink.

Updated the `rules.json` for the new lint as well.

Bug: https://github.com/dart-lang/linter/issues/4793
Change-Id: I1ca762b5e62678b8c6fba60206f3465154696b6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359900
Reviewed-by: Morgan :) <davidmorgan@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-04-02 21:09:51 +00:00
..
doc typo fixes: its vs. it's 2024-02-29 11:07:40 +00:00
example [linter] Add unintended_html_in_doc_comment lint. 2024-04-02 21:09:51 +00:00
lib/src [linter] Add unintended_html_in_doc_comment lint. 2024-04-02 21:09:51 +00:00
test [linter] Add unintended_html_in_doc_comment lint. 2024-04-02 21:09:51 +00:00
test_data Augment. Use ExtensionOnClause in ExtensionDeclaration, make it optional. 2024-04-02 16:12:00 +00:00
tool [linter] Add unintended_html_in_doc_comment lint. 2024-04-02 21:09:51 +00:00
analysis_options.yaml Remove all pre-NNBD support in the linter code 2023-11-21 18:55:01 +00:00
AUTHORS
CHANGELOG.md [linter] Add unintended_html_in_doc_comment lint. 2024-04-02 21:09:51 +00:00
CONTRIBUTING.md README and contributing process updates 2023-08-23 22:09:24 +00:00
LICENSE
messages.yaml Add docs for more of the recommended lints 2024-03-15 18:53:00 +00:00
OWNERS Add analyzer team as owners of pkg/linter 2023-08-23 20:05:49 +00:00
pubspec.yaml bump package:linter language version to 3.3.0 2024-02-26 18:29:53 +00:00
README.md README and contributing process updates 2023-08-23 22:09:24 +00:00

Linter for Dart

The Dart Linter package defines lint rules that identify and report on "lints" found in Dart code. Linting is performed by the Dart analysis server and the dart analyze command in the Dart command-line tool.

Installing

The linter is bundled with the Dart SDK; if you have an updated Dart SDK already, you're done!

Usage

The linter gives you feedback to help you catch potential errors and keep your code in line with the published Dart Style Guide. Enforceable lint rules (or "lints") are cataloged here and can be configured via an analysis options file. The linter is run from within the dart analyze command-line tool shipped with the Dart SDK. Assuming you have lints configured in an analysis_options.yaml file at the root of your project with these contents:

linter:
  rules:
    - annotate_overrides
    - hash_and_equals
    - prefer_is_not_empty

you could lint your package like this:

$ dart analyze .

and see any violations of the annotate_overrides, hash_and_equals, and prefer_is_not_empty rules in the console. To help you choose the rules you want to enable for your package, we have provided a complete list of rules with lints recommended by the Dart team collected in package:lints. Lints recommended for Flutter apps, packages, and plugins are documented in package:flutter_lints.

If a specific lint warning should be ignored, it can be flagged with a comment. For example,

   // ignore: camel_case_types
   class whyOhWhy { }

tells the Dart analyzer to ignore this instance of the camel_case_types warning.

End-of-line comments are supported as well. The following communicates the same thing:

   class whyOhWhy { // ignore: camel_case_types

To ignore a rule for an entire file, use the ignore_for_file comment flag. For example,

// ignore_for_file: camel_case_types

...

class whyOhWhy { }

tells the Dart analyzer to ignore all occurrences of the camel_case_types warning in this file.

As lints are treated the same as errors and warnings by the analyzer, their severity can similarly be configured in an options file. For example, an analysis options file that specifies

linter:
  rules:
    - camel_case_types
analyzer:
  errors:
    camel_case_types: error

tells the analyzer to treat camel_case_types lints as errors. For more on configuring analysis see the analysis option file docs.

Contributing

Feedback is greatly appreciated and contributions are welcome! Please read the contribution guidelines; mechanics of writing lints are covered here.

Features and bugs

Please file feature requests and bugs in the issue tracker.