Crate harper_core

Source
Expand description

§harper-core

harper-core is fundamental engine behind Harper, the grammar checker for developers.

harper-core is available on crates.io, however improving the API is not currently a high priority. Feel free to use harper-core in your projects. If you run into issues, create a pull request.

§Features

concurrent: Whether to use thread-safe primitives (Arc vs Rc). Disabled by default. It is not recommended unless you need thread-safely (i.e. you want to use something like tokio).

Modules§

language_detection
linting
parsers
patterns

Structs§

AdverbData
ConjunctionData
Document
A document containing some amount of lexed and parsed English text.
FatToken
A Token that holds its content as a fat Vec<char> rather than as a Span.
FstDictionary
FullDictionary
A full, fat dictionary. All elements are stored in-memory.
Lrc
A single-threaded reference-counting pointer. ‘Rc’ stands for ‘Reference Counted’.
Mask
Identifies portions of a char sequence that should not be ignored by Harper.
MergedDictionary
A simple wrapper over Dictionary that allows one to merge multiple dictionaries without copying.
NounData
Quote
Span
A window in a char sequence.
Token
VerbData
WordMetadata

Enums§

Currency
NumberSuffix
Punctuation
Tense
TokenKind

Traits§

CharStringExt
Dictionary
Masker
A Masker is a tool that can be composed to eliminate chunks of text from being parsed. They can be composed to do things like isolate comments from a programming language or disable linting for languages that have been determined to not be English.
TokenStringExt
VecExt

Functions§

make_title_case
make_title_case_str
A helper function for make_title_case that uses Strings instead of char buffers.
remove_overlaps
A utility function that removes overlapping lints in a vector, keeping the more important ones.

Type Aliases§

CharString
A char sequence that improves cache locality. Most English words are fewer than 12 characters.