by Automattic (open source) Neovim, VS Code, Zed, любой LSP-клиент
Быстрая грамматика и спелл-чекер английского языка как LSP-сервер. Работает офлайн, без облачных запросов, встраивается прямо в редактор. Написан на Rust — очень низкое потребление ресурсов. Особенности: - Проверка грамматики, пунктуации и орфографии в реальном времени - Понимает код: игнорирует переменные, URL, команды в комментариях - Работает в markdown, комментариях к коду, docstrings - Полностью офлайн — никаких API-ключей - Пользовательский словарь - Интеграция с Zed, Neovim, VS Code, Helix
# cargo:
cargo install harper-ls
# Neovim (nvim-lspconfig):
require('lspconfig').harper_ls.setup{
settings = {
["harper-ls"] = {
userDictPath = "~/.config/harper/dict.txt"
}
}
}
# VS Code:
# Extensions → "harper" → Install
Harper — это средство проверки английской грамматики, разработанное, чтобы быть всё как надо. Я создал его после многолетнего опыта работы с недостатками конкурентов.
Grammarly был слишком дорог и слишком навязчив. Его предложения были лишены контекста и часто были просто неправильными. Не говоря уже о том, что это кошмар для конфиденциальности. Всё, что вы пишете в Grammarly, отправляется на их серверы. В их политике конфиденциальности утверждается, что они не продают данные, но это не означает, что они не используют их для обучения больших языковых моделей и бог знает чего ещё. Кроме того, время обратного сетевого запроса делает редактирование вашей работы ещё более утомительным.
LanguageTool отличный, если у вас есть несколько гигабайт оперативной памяти на лишку и вы готовы загрузить набор n-грамм размером ~16 ГБ. Помимо требований к памяти, я счёл LanguageTool слишком медленным: проверка даже умеренно большого документа занимала несколько секунд.
Вот почему я создал Harper: это проверка грамматики, которая полностью соответствует моим потребностям. Она не только проверяет документ за миллисекунды и потребляет менее 1/50 от объема памяти LanguageTool, но и полностью конфиденциальна.
Harper настолько компактен, что может загружаться через WebAssembly.
Harper в настоящее время поддерживает только английский язык, но ядро расширяемо для поддержки других языков, поэтому мы приветствуем вклад, позволяющий поддерживать другие языки.
Мы считаем длительное время проверки ошибками. Если вы столкнетесь с какими-либо значительными проблемами производительностью, пожалуйста, создайте по этому поводу задачу.
Если вы найдете решение для какой-либо проблемы производительностью, мы будем признательны за вклад. Пожалуйста, только убедитесь, что сначала прочитали наши рекомендации для участников.
harper-lsharper.jsЭтот проект был бы невозможен без упорного труда тех, кто вносит вклад.
Логотип Harper был разработан Лукасом Вернером.