#spelling #typography #pedantic #development #command-line

bin+lib typope

Pedantic source code checker for orthotypography mistakes and other typographical errors

4 releases (2 breaking)

0.3.0 Aug 24, 2024
0.2.0 Aug 21, 2024
0.1.1 Aug 7, 2024
0.1.0 Aug 4, 2024

#1714 in Development tools

Download history 15/week @ 2024-08-10 123/week @ 2024-08-17 137/week @ 2024-08-24 5/week @ 2024-08-31 6/week @ 2024-09-14 3/week @ 2024-09-21 5/week @ 2024-09-28

184 downloads per month

MIT/Apache

99KB
2.5K SLoC

typope

Latest Version MSRV Apache 2.0 OR MIT licensed

Pedantic tool to find orthotypography mistakes, typographical errors, and other mistakes that are not covered by tools like typos to ensure that your source code is free from typographical heresy.

This tool is still experimental: you may encounter false positives.

Installation

cargo install --locked typope

Usage

Analyze source code recursively in the current directory:

typope

Command Line Options

typope supports a subset of the same command line options as typos, such as --hidden or --no-ignore.

See typope --help for more details.

Configuration

typope can read the configuration files from typos (e.g., .typos.toml) such as:

[files]
extend-exclude = ["directory"]
ignore-hidden = false

[default]
extend-ignore-re = ["some regex.*rrrregex"]

[type.cpp]
check-file = false

See typos reference documentation for more details, but know that only a subset of these fields are supported: the ones irrelevant for typope at the moment (e.g., check-filename, extend-words, or extend-identifiers) are ignored.

Rules

typope has only one rule at the moment:

Supported Languages

typope relies on tree-sitter to parse the following languages:

  • Rust
  • Go
  • Kotlin
  • Python
  • C++
  • C
  • Markdown
  • YAML
  • TOML
  • JSON

Many more could be supported if you are motivated to open a PR :)

To minimize false positives, only typos found in literal strings (e.g., "this is a string") are detected. It means typos in comments are ignored for the moment. Raw literal strings (e.g., in Rust this would be r"raw string") are ignored on purpose. In Markdown, code blocks or code spans (e.g., `example`) are ignored on purpose.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~13–40MB
~865K SLoC