tekumara/typos-lsp

Source code spell checker for Visual Studio Code, Neovim and other LSP clients

583

stars

490

commits

Rust

primary language

Sep 7, 2026

updated

marketplace.visualstudio.com/items?itemName=tekumara.typos-vscode
lsp
lsp-server
spelling
spelling-correction
vscode
Browse cluster: Language Server Protocol implementations

README

typos-lsp

ci release downloads

Source code spell checker for Visual Studio Code and LSP clients

typos is a low false-positive source code spell checker. This project exposes typos via a Language Server Protocol (LSP) server and Visual Studio Code extension to provide a fast, low memory, in-editor spell checker.

Features

  • Identify misspellings and provide a Quick Fix with suggested corrections:

    Diagnostics example with Quick Fix

Install

Other clients

For homebrew users:

brew install typos-lsp

For cargo-binstall users:

cargo binstall typos-lsp

For Linux users (via Cargo):

cargo install --locked typos-lsp

See typos-lsp versions on repology for other package managers. Or manually download typos-lsp from the releases page.

Usage

Once installed typos will automatically execute when you open or edit any file.

Configuration

For configuration see:

Config file support

Supports config fields in typos.toml, _typos.toml, or .typos.toml, except:

  • files.ignore* - have no effect.
  • default.check-filename - file names are never spell checked.
  • default.check-file - files are always checked.
  • *.binary - binary files are always checked.

Config files will be read from the workspace folder or its parents. If there is no workspace folder, then no config file will be read and the typos defaults will be used.

You can also provide an explicit custom config file. In VS Code, set typos.config. In other LSP clients, set initializationOptions.config. This custom config is used together with any config file found from the workspace folder or its parents, and it takes precedence for settings declared in both. If there is no workspace folder, the explicit custom config is still used.

Restart the server after changing either the workspace config file or the explicit custom config file for the new changes to take effect.

Caveats

  1. Unlike typos file names are not spell checked.
  2. Doesn't spell check toggleterm.nvim terminals see toggleterm.nvim#653

Why aren't my misspellings being corrected?

To minimise false-positives typos only suggests corrections for known misspellings, rather than unknown words like a traditional spell-checker. For more info see Why was ... not corrected?.

Contributing

See CONTRIBUTING.md to get started.

Contributors

tekumara

240 commits

dependabot[bot]

175 commits

mikavilpas

3 commits

tekumara/typos-lsp

Source code spell checker for Visual Studio Code, Neovim and other LSP clients

583

stars

490

commits

Rust

primary language

Sep 7, 2026

updated

marketplace.visualstudio.com/items?itemName=tekumara.typos-vscode
lsp
lsp-server
spelling
spelling-correction
vscode
Browse cluster: Language Server Protocol implementations

README

typos-lsp

ci release downloads

Source code spell checker for Visual Studio Code and LSP clients

typos is a low false-positive source code spell checker. This project exposes typos via a Language Server Protocol (LSP) server and Visual Studio Code extension to provide a fast, low memory, in-editor spell checker.

Features

  • Identify misspellings and provide a Quick Fix with suggested corrections:

    Diagnostics example with Quick Fix

Install

Other clients

For homebrew users:

brew install typos-lsp

For cargo-binstall users:

cargo binstall typos-lsp

For Linux users (via Cargo):

cargo install --locked typos-lsp

See typos-lsp versions on repology for other package managers. Or manually download typos-lsp from the releases page.

Usage

Once installed typos will automatically execute when you open or edit any file.

Configuration

For configuration see:

Config file support

Supports config fields in typos.toml, _typos.toml, or .typos.toml, except:

  • files.ignore* - have no effect.
  • default.check-filename - file names are never spell checked.
  • default.check-file - files are always checked.
  • *.binary - binary files are always checked.

Config files will be read from the workspace folder or its parents. If there is no workspace folder, then no config file will be read and the typos defaults will be used.

You can also provide an explicit custom config file. In VS Code, set typos.config. In other LSP clients, set initializationOptions.config. This custom config is used together with any config file found from the workspace folder or its parents, and it takes precedence for settings declared in both. If there is no workspace folder, the explicit custom config is still used.

Restart the server after changing either the workspace config file or the explicit custom config file for the new changes to take effect.

Caveats

  1. Unlike typos file names are not spell checked.
  2. Doesn't spell check toggleterm.nvim terminals see toggleterm.nvim#653

Why aren't my misspellings being corrected?

To minimise false-positives typos only suggests corrections for known misspellings, rather than unknown words like a traditional spell-checker. For more info see Why was ... not corrected?.

Contributing

See CONTRIBUTING.md to get started.

Contributors

tekumara

240 commits

dependabot[bot]

175 commits

mikavilpas

3 commits

Languages

Rust

88.5%

TypeScript

10.6%