# mattn/efm-langserver

General purpose Language Server

Repository: https://github.com/mattn/efm-langserver
Canonical: https://ross.abutalabs.com/products/efm-langserver
Language: Go
License: MIT
License Family: permissive
Topics: golang, go, langserver, language-server
Last push: 2026-07-08T04:52:01+00:00

## Health v2 (maintenance only)
Score: 85/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 91, release rhythm 68, longevity 100
- inputs: {"age_days": 2766, "days_push": 56, "days_rel": 56, "gap_med": 122, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1553, forks 62 (observed 2026-08-28T04:05:02.869052+00:00)

## What it is
efm-langserver is a general-purpose Language Server Protocol server written in Go that acts as a bridge between editors and external linters/formatters. It invokes configured command-line tools, translates their output into LSP diagnostics and formatting responses, and works with any editor that supports LSP.

## Use cases
- add linting diagnostics to any language in vim or neovim via LSP
- use external formatters like yapf or LuaFormatter from my editor
- get linter and formatter support in editors without native LSP plugins
- wire arbitrary CLI tools into LSP diagnostics
- set up efm-langserver with coc.nvim or Eglot
- format files on save using existing command-line tools

## When to choose
- you use an LSP-capable editor and want diagnostics/formatting from existing linters and formatters
- your language has no dedicated language server but has CLI lint/format tools
- you want one configurable proxy for many languages' tools

## When to avoid
- a dedicated language server exists for your language and provides richer features
- you expect built-in linters/formatters — efm bundles none
- you need full IDE semantics like completion or go-to-definition

## Facets
- artifact type: cli-tool
- maturity: active
- function: linter, formatter, developer-tools
- domain: developer-tools, text-editors
- platform: windows, cross-platform, cli
- tags: language-server-protocol, lsp, editor-integration, go, command-line, linux, macos

## Member repositories
- mattn/efm-langserver (main) score 85

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:02.869052+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:30:09.873599+00:00, confidence not recorded.
  - readme: https://github.com/mattn/efm-langserver (fetched 2026-08-28T04:05:02.869052+00:00, sha fd31d7444a66)
- Data as of 2026-08-30T08:39:29.467469+00:00.
