Add camelCase constant name alternatives for snake_case names.

Switch to `package:lints`.
Internal tweaks.
8 files changed
tree: 25e9638486a116d8e58e24b46ebd8989330eaedf
  1. bin/
  2. example/
  3. lib/
  4. test/
  5. .gitignore
  6. .travis.yml
  7. analysis_options.yaml
  8. AUTHORS
  9. CHANGELOG.md
  10. CONTRIBUTING.md
  11. LICENSE
  12. pubspec.yaml
  13. README.md
README.md

-Build Status -Pub -

Character code constants

This package defines symbolic names for some character codes (aka. code points).

They can used when working directly with characters as integers, to make the code more readable: if (firstChar == $A) ....

This is not an official Google package, and is not supported by Google.

Usage

Import either one of the libraries:

import "package:charcode/ascii.dart";
import "package:charcode/html_entity.dart";

or import both libraries using the charcode.dart library:

import "package:charcode/charcode.dart";

Naming

The character names are preceded by a $ to avoid conflicting with other variables, due to their short and common names (for example “$i”).

Characters that are valid in a Dart identifier directly follow the $. Examples: $_, $a, $B and $3. Other characters are given symbolic names.

The names of letters are lower-case for lower-case letters ($sigma for σ), and mixed- or upper-case for upper-case letters ($Sigma for Σ). The names of symbols and punctuation are all lower-case, and omit suffixes like “sign”, “symbol” and “mark”. Examples: $plus, $exclamation, $tilde.

The ascii.dart library defines a symbolic name for each ASCII character. Some characters have more than one name. For example the common name $tab and the official abbreviation $ht for the horizontal tab.

The html_entity.dart library defines a constant for each HTML 4.01 character entity using their standard entity abbreviation, including case. Examples: $nbsp for &nbps;, $aring for the lower-case å and $Aring for the upper-case Å.

The HTML entities include all characters in the Latin-1 code page, Greek letters and some mathematical symbols.

The charcode.dart library exports both ascii.dart and html_entity.dart. Where both libraries define the same name, the HTML entity name is preferred.

Rationale

The Dart language doesn't have character literals. If that ever changes, this package will become irrelevant. Until then, this package can be used for the most common characters. See request for character literals.