Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elm
  3. Elm Language Server

Elm Language Server

MITTypeScript2.8.0

A language server implementation for the Elm programming language providing IDE features like diagnostics, formatting, and code navigation.

Visit WebsiteGitHubGitHub
441 stars75 forks0 contributors

What is Elm Language Server?

elm-language-server is a language server implementation for the Elm programming language that provides IDE-like features such as diagnostics, code formatting, completions, and navigation. It integrates Elm's compiler and tooling to enhance developer productivity within supported code editors.

Target Audience

Elm developers using editors like VSCode, Vim, Emacs, or Sublime who want enhanced code intelligence and tooling integration.

Value Proposition

It offers a unified, editor-agnostic solution for Elm development with deep integration of Elm's ecosystem, including elm-format and elm-test, reducing setup complexity and improving the coding experience.

Overview

Language server implementation for Elm

Use Cases

Best For

  • Adding intelligent code completion and diagnostics to Elm projects
  • Integrating Elm development support into Vim or Emacs editors
  • Enforcing code style consistency with automated formatting
  • Navigating large Elm codebases with jump-to-definition and find-references
  • Getting real-time feedback on type errors and linting issues
  • Streamlining Elm development workflows across multiple editors

Not Ideal For

  • Elm projects without a standard elm.json file or using alternative build systems
  • Environments where installing Node.js, npm, and Elm tooling globally is restricted or impractical
  • Teams using editors without robust Language Server Protocol (LSP) client support, such as basic text editors
  • Projects that require advanced refactoring beyond symbol renaming, like automated code generation or complex transforms

Pros & Cons

Pros

Deep Elm Integration

Seamlessly integrates Elm's core tools like the compiler, elm-test, and elm-format for real-time diagnostics and formatting, providing a unified development experience as highlighted in the features table.

Broad Editor Support

Supports a wide range of editors including VSCode, Vim, Emacs, and Sublime with detailed configuration guides, making it accessible for diverse developer preferences.

Advanced Code Intelligence

Offers features like linked editing, workspace symbols, and selection range navigation, enhancing productivity beyond basic completions and hover documentation.

Minimal Configuration

Automatically finds entrypoints from elm.json and requires no initial setup for basic usage, reducing onboarding time as stated in the configuration section.

Cons

Inconsistent Editor Features

Feature support varies across editors; for example, linked editing is unavailable in Vim CoC and ALE, and code lenses are missing in some setups, as shown in the editor support table.

External Tool Dependencies

Requires separate installation and management of elm, elm-test, elm-format, and optionally elm-review, adding setup complexity and potential version compatibility issues.

Limited to Elm 0.19+

Only supports Elm 0.19 and newer versions, excluding projects stuck on older Elm releases, which may limit adoption in legacy codebases.

Frequently Asked Questions

Quick Stats

Stars441
Forks75
Contributors0
Open Issues61
Last commit9 days ago
CreatedSince 2018

Tags

#hacktoberfest#developer-tools#language-server#editor-integration#language-server-protocol#ide#code-formatting#elm#programming-language-support#lsp#static-analysis#elm-lang

Built With

N
Node.js
n
npm

Links & Resources

Website

Included in

Elm3.7k
Auto-fetched 15 hours ago

Related Projects

Elm Format on SaveElm Format on Save

Sublime Text plugin to run elm-format on save

Stars22
Forks3
Last commit6 years ago
LSP-elmLSP-elm

Elm support for Sublime's LSP plugin

Stars9
Forks2
Last commit1 month ago
Elm Syntax HighlightingElm Syntax Highlighting

Syntax Highlighting for Elm in Sublime Text

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub