#lsp #typescript #error-message #developer-experience

app ts-error-translator-proxy

An LSP proxy that translates TypeScript errors into human-readable explanations

2 releases

0.1.1 Dec 12, 2025
0.1.0 Dec 12, 2025

#601 in Value formatting

MIT license

34KB
694 lines

ts-error-translator-proxy

An LSP proxy that translates TypeScript errors into human-readable explanations. Works with any editor.

Based on Matt Pocock's ts-error-translator. Inspired by ts-error-translator.nvim.

Zed CleanShot 2025-12-11 at 22 43 31@2x Helix CleanShot 2025-12-11 at 22 41 37@2x

Why a proxy?

ts-error-translator.nvim works great for Neovim. If you use Helix, Zed, or another editor, you need a different approach.

This proxy wraps any TypeScript LSP and intercepts diagnostics. No editor plugins required.

Installation

cargo install ts-error-translator-proxy

Or from source:

git clone https://github.com/yourusername/ts-error-translator-proxy
cd ts-error-translator-proxy
cargo build --release

Usage

ts-error-translator-proxy [OPTIONS] [LSP_COMMAND] [LSP_ARGS...]
Option Description
--replace Replace original error instead of appending translation
# Wrap vtsls (default)
ts-error-translator-proxy

# Wrap typescript-language-server
ts-error-translator-proxy typescript-language-server --stdio

# Replace mode
ts-error-translator-proxy --replace vtsls --stdio

Editor Configuration

Helix

~/.config/helix/languages.toml:

[language-server.vtsls-translated]
command = "ts-error-translator-proxy"
args = ["vtsls", "--stdio"]

[[language]]
name = "typescript"
language-servers = ["vtsls-translated"]

[[language]]
name = "tsx"
language-servers = ["vtsls-translated"]

Zed

~/.config/zed/settings.json:

{
  "lsp": {
    "vtsls": {
      "binary": {
        "path": "ts-error-translator-proxy",
        "arguments": ["vtsls", "--stdio"]
      }
    }
  }
}

Neovim

Neovim users should use ts-error-translator.nvim instead.

Other Editors

This should work with any editor that supports LSP. PRs with examples welcome.

License

MIT

Dependencies

~4.5–7.5MB
~129K SLoC