/next-ls

The language server for Elixir that just works. Ready for early adopters!

Primary LanguageElixirMIT LicenseMIT

Next LS

Discord Hex.pm GitHub Discussions

The language server for Elixir that just works. 😎

Still in heavy development, currently supporting the following features:

  • Compiler Diagnostics
  • Code Formatting
  • Workspace Symbols
  • Document Symbols
  • Go To Definition

Editor Support

  • Neovim: elixir-tools.nvim
  • VSCode: elixir-tools.vscode
  • Emacs

    Using eglot:

    (require 'eglot)
    
    (add-to-list 'exec-path "path/to/next-ls/bin/")
    
    (with-eval-after-load 'eglot
      (add-to-list 'eglot-server-programs
                   `((elixir-ts-mode heex-ts-mode elixir-mode) .
                     ("nextls" "--stdio=true"))))
    
    (add-hook 'elixir-mode-hook 'eglot-ensure)
    (add-hook 'elixir-ts-mode-hook 'eglot-ensure)
    (add-hook 'heex-ts-mode-hook 'eglot-ensure)

Installation

The preferred way to use NextLS is through one of the supported editor extensions.

If you need to install NextLS on it's own, you can download the executable hosted by the GitHub release. The executable is an Elixir script that utilizes Mix.install/2.

Note

NextLS creates an .elixir-tools hidden directory in your project.

This should be added to your project's .gitignore.