Crate harper_core

Source
Expand description

§harper-core

harper-core is the 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).

Re-exports§

pub use spell::Dictionary;
pub use spell::FstDictionary;
pub use spell::MergedDictionary;
pub use spell::MutableDictionary;
pub use spell::WordId;

Modules§

expr
language_detection
linting
Frameworks and rules that locate errors in text.
parsers
patterns
Patterns are one of the more powerful ways to query text inside Harper, especially for beginners.
spell

Structs§

AdverbData
ConjunctionData
DeterminerData
Document
A document containing some amount of lexed and parsed English text.
FatStringToken
Similar to a FatToken, but uses a String as the underlying store.
FatToken
A Token that holds its content as a fat Vec<char> rather than as a Span.
IgnoredLints
A structure that keeps track of lints that have been ignored by users.
LintContext
A location-agnostic structure that attempts to captures the context and content that a Lint occurred.
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.
NounData
Number
PronounData
Quote
Span
A window in a char sequence.
Token
VerbData
WordMetadata

Enums§

Currency
Degree
Dialect
A regional dialect.
OrdinalSuffix
Punctuation
TokenKind
VerbForm

Traits§

CharStringExt
Extensions to character sequences that make them easier to wrangle.
LSend
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
Extension methods for Token sequences that make them easier to wrangle and query.
VecExt

Functions§

core_version
Return harper-core version
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.