惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
F
Fortinet All Blogs
J
Java Code Geeks
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
M
MIT News - Artificial intelligence
腾讯CDC
Last Week in AI
Last Week in AI
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
博客园 - 叶小钗
Recent Announcements
Recent Announcements
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
L
LangChain Blog
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

Null's blog

Switching to harper-ls Thinking long term; A weird story Thinking long term; A weird story The case against WebUsb The case against WebUsb Why Wayland is the future. Why Wayland is the future. Debugging a crashed kernel on opensuse Debugging a crashed kernel on opensuse Envisioning a future python Envisioning a future python server update, A new name, comments via firefish and lightmode server update, A new name, comments via firefish and lightmode A look back at the webserver A look back at the webserver Webserver Updates Webserver Updates Migrating to a custom blogging backend Migrating to a custom blogging backend Nixops to Deploy-rs Nixops to Deploy-rs Archlinux with secureboot on a nvidia machine Archlinux with secureboot on a nvidia machine Nixops the future of deploying applications? Nixops the future of deploying applications? Installing NixOS on a Running Install of Arch Linux Installing NixOS on a Running Install of Arch Linux Why you should use Neovim Why you should use Neovim Flatpaking Github Desktop Pt2: GPG
Switching to harper-ls
nullrequest · 2026-03-21 · via Null's blog

Harper is a language server, however unlike most language servers it is specific for programming language. It is for written text. I've been living with vim and neovim's inbuilt spell checker for years. When I looked up spell checkers for vim I found a bunch of articles talking about vim's built-in solution how you just had to do

set spell
set spelllang=en_us

and congrats you had spell check!. I loved it It was also easy to interact with z= and zw was pretty much all you needed to know. However, it wasn't perfect. I was not context aware. I absolutely suck at spelling, so context aware spell checkers are a lifesaver. Yet the built-in one wasn't context aware.

I found out about cspell, a spell checker for code. I used it in vscode but I found it to be more "annoying" then helpful. It struggled with variable names and accepting corrections just wasn't intuitive. I wanted more out of spell checker but nothing seemed to provide it. Then when I was looking for an alternative to cspell I came across Harper. I was instantly attracted when I saw its statements about privacy being local first and being faster than Grammarly!

Harper being supported on pretty much every editor was what sold it for me!. It just made sense to use it. I installed it via mason and integrated it into my lsp array. I initially had some issues with hover-lsp support, however I just disabled hover-lsp for harper. I really do think this would be a cool feature to enable in the LSP but that'll be a future hacking session if someone doesn't do it first. I do also need to look into integrating it into @milkdown/crepe since that's what I use as an editor on my blog.

I hope that Harper makes other's realize we need to get make spell checker's better. The ecosystem is prime for upheaval, if you want a project that has potential for changing the ecosystem, make a spell checker that's as light weight as Harper but package-able on Linux distros. It would for lack of a less cliched phrase "change the world"

this blog was created by a human with a brain © 2026 Luna Dragon
Like this blog? visit this repo for the source code