ts-error-translator-proxy

Crates.iots-error-translator-proxy
lib.rsts-error-translator-proxy
version0.1.1
created_at2025-12-12 03:55:30.642108+00
updated_at2025-12-12 03:59:23.396385+00
descriptionAn LSP proxy that translates TypeScript errors into human-readable explanations
homepage
repositoryhttps://github.com/synoet/ts-error-translator-proxy
max_upload_size
id1980959
size43,617
teo (synoet)

documentation

README

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

Commit count: 0

cargo fmt