✍️

Zed + Harper によるオフライン英語スペルチェック(Ubuntu 24.04)

に公開

英語で文章を書くとき、某クラウドサービスを使うと手軽ですが、入力内容がサーバーに送信される心配があります。
今回は、ローカル PC で動作する Harper を使って、Zed エディタ上でスペルチェックを有効にできたので、自分用のメモも兼ねてまとめました。

🧩 環境

  • Ubuntu 24.04 LTS(GNOME / Wayland)
  • Rust(Cargo)インストール済み
  • Zed エディタ最新版(0.210.4)

インストール手順

⚙️ 1. harper-ls のインストール

Harper の Language Server 版は cargo で導入できます。

参考: Harper Language Server Integration

cargo install harper-ls

インストール後、~/.cargo/binharper-ls が入ります。
もしパスが通っていない場合は、シェル設定ファイル(例: ~/.bashrc)で PATH を通しておきます。

🧩 2. Zed 拡張「Harper」のインストール

Zed のメニューから「Extensions」を選び、検索窓に Harper と入力すると見つかります。
Harper 拡張をインストールすると、自動的に harper-ls を呼び出して動作します。

Harper は Zed 以外にも Firefox・VS Code 向けの拡張を提供しています。
それぞれ Harper の公式サイト からアクセスできます。

🧾 3. Zed の設定ファイルを編集

Zed の設定は ~/.config/zed/settings.json にあります。
Markdown や Git Commit メッセージでスペルチェックを有効にするには、次のように追記します。

{
  "languages": {
    "Markdown": { "language_servers": ["harper", "..."] },
    "Git Commit": { "language_servers": ["harper", "..."] }
  }
}

"..." は他の言語サーバを維持するための省略記号です。
(※ Git Commit での動作は未確認です)

💬 動作例

下のように、Markdown ファイル内でスペルミスや文法上の誤りを検出してくれます。

"grammer" や "Kiwii" のようなスペルミスに加えて、冠詞の誤り "a" も指摘されています。

🗒️ おまけ .txt ファイルでも使いたい場合

Zed は Plain Text に対して LSP(Language Server)を適用しない仕様のため、
上の記述を書いても動作しません。

回避策として、一時的に .txt を Markdown として扱うことで有効にできます。

{
  "file_types": {
    "Markdown": ["**/*.txt"]
  }
}

これで .txt ファイルを開くと右下に「Markdown」と表示され、Harper によるスペルチェックが動作します。

💬 まとめ

ローカル環境で完結する英語スペルチェックを、Zed で利用できるようになりました。

  • cargo install harper-ls で Harper の Language Server を導入
  • Zed 拡張「Harper」を追加して Markdown / Git Commit に割り当て
  • .txt を Markdown としてマッピングすれば、テキストファイルでも利用可能(やや強引)
  • Firefox / VSCode 用の Harper 拡張も 公式サイト から入手可能

オフラインでプライバシーを守りつつ、軽快に英語スペルチェックを行いたい方におすすめです。

Discussion