Offline, privacy-first grammar checker. Fast, open-source, Rust-powered
Find a file
2024-09-24 15:10:43 -06:00
.github fix: set release workflow to run on pull requests 2024-09-10 15:55:03 -06:00
harper-cli change language id to latex and add to harper-cli 2024-09-24 15:08:40 -06:00
harper-comments remove tex from comment parser and change language id to tex from latex 2024-09-24 15:09:23 -06:00
harper-core move latex parser to seperate crate and add support for language in harper-comments and harper-ls 2024-09-24 15:06:36 -06:00
harper-html Release 0.11.0 2024-09-13 09:04:03 -06:00
harper-latex filter out whitespace at the beginning and end of lines 2024-09-24 15:10:43 -06:00
harper-ls fix formatting 2024-09-24 15:10:41 -06:00
harper-tree-sitter fix overlapping byte_span parse bug 2024-09-24 15:08:42 -06:00
harper-wasm Release 0.11.0 2024-09-13 09:04:03 -06:00
packages feat: created endpoint to get the latest version 2024-09-24 13:02:56 -06:00
.gitignore Created Dockerfile and fly config + fixed Flexbox issue 2024-01-15 14:17:45 -07:00
ARCHITECTURE.md feat: Created architecture document 2024-09-19 16:06:46 -06:00
Cargo.lock fix formatting 2024-09-24 15:10:41 -06:00
Cargo.toml move latex parser to seperate crate and add support for language in harper-comments and harper-ls 2024-09-24 15:06:36 -06:00
CONTRIBUTING.md feat: added more setup instructions and documentation 2024-09-20 22:40:35 -06:00
demo.md fix: minor issues with demo 2024-09-03 12:09:39 -06:00
Dockerfile Merge branch 'codemirror' 2024-03-16 09:52:16 -06:00
fly.toml Created Dockerfile and fly config + fixed Flexbox issue 2024-01-15 14:17:45 -07:00
justfile dict: add TCP, UDP and QUIC to the default dictionary. 2024-09-24 12:17:49 -06:00
LICENSE fix: filled in LICENSE 2024-03-25 14:58:52 -06:00
logo.svg feat: added logo to README.md and web client 2024-02-15 20:56:27 -07:00
README.md feat: added documentation pointing people toward the Obsidian plugin 2024-08-17 11:09:57 -06:00
rustfmt.toml feat: precommit script 2024-02-25 10:55:19 -07:00
yarn.lock fix: further issues with multiline comments due to improper newline handling 2024-06-29 19:20:52 -06:00

Harper

Harper LS Web Precommit Crates.io

Harper is an English grammar checker designed to be just right. I created it after years of dealing with the shortcomings of the competition.

Grammarly was too expensive and too overbearing. Its suggestions lacked context, and were often just plain wrong. Not to mention: it's a privacy nightmare. Everything you write with Grammarly is sent to their servers. Their privacy policy claims they don't sell the data, but that doesn't mean they don't use it to train large language models and god knows what else. Not only that, but the round-trip-time of the network request makes revising your work all the more tedious.

LanguageTool is great, if you have gigabytes of RAM to spare and are willing to download the ~16GB n-gram dataset. Besides the memory requirements, I found LanguageTool too slow: it would take several seconds to lint even a moderate-size document.

That's why I created Harper: it is the grammar checker that fits my needs. Not only does it take milliseconds to lint a document, take less than 1/50th of LanguageTool's memory footprint, but it is also completely private.

Harper is even small enough to load via WebAssembly.

Installation

If you want to use Harper on your machine, you have two choices.

harper-ls

harper-ls provides an integration that works for most code editors.

Read more here.

Harper Obsidian Integration

If you use Obsidian, you may install the Harper Obsidian Plugin by searching for "Harper" in the community plugin store.

Performance Issues

We consider long lint times bugs. If you encounter any significant performance issues, please create an issue on the topic.

If you find a fix to any performance issue, we are open the contribution. Just make sure to read our contribution guidelines first.

FAQs

Where did the name Harper come from?

See this blog post.