Add lints
diff --git a/.analysis_options b/.analysis_options
index a10d4c5..b727f4d 100644
--- a/.analysis_options
+++ b/.analysis_options
@@ -1,2 +1,29 @@
 analyzer:
   strong-mode: true
+linter:
+  rules:
+     # Errors
+     - avoid_empty_else
+     - comment_references
+     - control_flow_in_finally
+     - empty_statements
+     - hash_and_equals
+     - test_types_in_equals
+     - throw_in_finally
+     - unrelated_type_equality_checks
+     - valid_regexps
+
+     # Style
+     - annotate_overrides
+     - avoid_init_to_null
+     - avoid_return_types_on_setters
+     - await_only_futures
+     - camel_case_types
+     - empty_catches
+     - empty_constructor_bodies
+     - library_names
+     - library_prefixes
+     - non_constant_identifier_names
+     - prefer_is_not_empty
+     - slash_for_doc_comments
+     - type_init_formals
diff --git a/lib/ascii.dart b/lib/ascii.dart
index 75db1c6..0d31444 100644
--- a/lib/ascii.dart
+++ b/lib/ascii.dart
@@ -2,27 +2,25 @@
 // for details. All rights reserved. Use of this source is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/**
- * Declare integer constants for each ASCII character.
- *
- * The constants all start with "$" to avoid conflicting with other constants.
- *
- * For characters that are valid in an identifier, the character iteself
- * follows the "$". For other characters, a symbolic name is used.
- * In some cases, multiple alternative symbolic names are provided.
- * Please stick to using one name per character in your code.
- *
- * The symbolic names are, where applicable, the name of the symbol without
- * any "mark", "symbol" "sign" or "accent" suffix.
- * Examples: [$exclamation], [$pipe], [$dollar] and [$grave].
- * For less common symbols, a selection of common names are used.
- *
- * For parenthetical markers, there is both a short name, [$lparen]/[$rparen],
- * and a long name, [$open_paren]/ [$close_paren].
- *
- * For common HTML entities, the entity names are also useable as symbolic
- * names: [$apos], [$quot], [$lt], [$gt], and [$amp].
- */
+/// Declare integer constants for each ASCII character.
+///
+/// The constants all start with "$" to avoid conflicting with other constants.
+///
+/// For characters that are valid in an identifier, the character iteself
+/// follows the "$". For other characters, a symbolic name is used.
+/// In some cases, multiple alternative symbolic names are provided.
+/// Please stick to using one name per character in your code.
+///
+/// The symbolic names are, where applicable, the name of the symbol without
+/// any "mark", "symbol" "sign" or "accent" suffix.
+/// Examples: [$exclamation], [$pipe], [$dollar] and [$grave].
+/// For less common symbols, a selection of common names are used.
+///
+/// For parenthetical markers, there is both a short name, [$lparen]/[$rparen],
+/// and a long name, [$open_paren]/ [$close_paren].
+///
+/// For common HTML entities, the entity names are also useable as symbolic
+/// names: [$apos], [$quot], [$lt], [$gt], and [$amp].
 library charcode.ascii.dollar_lowercase;
 
 // Control characters.
diff --git a/lib/charcode.dart b/lib/charcode.dart
index a47fc19..6a702d7 100644
--- a/lib/charcode.dart
+++ b/lib/charcode.dart
@@ -2,17 +2,15 @@
 // for details. All rights reserved. Use of this source is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/**
- * Defines symbolic names for character code points.
- *
- * Includes all ASCII and Latin-1 characters.
- *
- * Exports the libraries `ascii.dart` and `html_entity.dart`.
- *
- * Hides the characters `$minus`, `$sub` and `$tilde` from
- * `html_entities.dart`, since other characters have the same name in
- * `ascii.dart`.
- */
+/// Defines symbolic names for character code points.
+///
+/// Includes all ASCII and Latin-1 characters.
+///
+/// Exports the libraries `ascii.dart` and `html_entity.dart`.
+///
+/// Hides the characters `$minus`, `$sub` and `$tilde` from
+/// `html_entities.dart`, since other characters have the same name in
+/// `ascii.dart`.
 library charcode;
 
 export "ascii.dart";
diff --git a/lib/html_entity.dart b/lib/html_entity.dart
index 221fd53..fa7c493 100644
--- a/lib/html_entity.dart
+++ b/lib/html_entity.dart
@@ -2,23 +2,21 @@
 // for details. All rights reserved. Use of this source is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/**
- * Character codes based on HTML 4.01 character entity names.
- *
- * For each entity name, e.g., `nbsp`,
- * a constant with that name prefixed by `$` is defined
- * for that entity's code point.
- *
- * The HTML entities include the non-ASCII Latin-1 characters and
- * symbols, mathematical symbols and Greek litters.
- *
- * The five characters that are ASCII
- * are exported from the `ascii.dart` library.
- *
- * Three names conflict with `ascii.dart`: `$minus`, `$sub` and `$tilde`.
- * If importing both libraries, these three should be hidden from one of the
- * libraries.
- */
+/// Character codes based on HTML 4.01 character entity names.
+///
+/// For each entity name, e.g., `nbsp`,
+/// a constant with that name prefixed by `$` is defined
+/// for that entity's code point.
+///
+/// The HTML entities include the non-ASCII Latin-1 characters and
+/// symbols, mathematical symbols and Greek litters.
+///
+/// The five characters that are ASCII
+/// are exported from the `ascii.dart` library.
+///
+/// Three names conflict with `ascii.dart`: `$minus`, `$sub` and `$tilde`.
+/// If importing both libraries, these three should be hidden from one of the
+/// libraries.
 library charcode.htmlentity.dollar_lowercase;
 
 export "ascii.dart" show $quot, $amp, $apos, $lt, $gt;