Important
Next LS is merging with Elixir LS and Lexical! Read more about it at www.elixir-tools.dev.
The language server for Elixir that just works. 😎
Still in heavy development, but early adopters are encouraged!
Please see the docs to get started.
- Introducing Next LS and an elixir-tools update
- The elixir-tools Update Vol. 2
- The elixir-tools Update Vol. 3
- The elixir-tools Update Vol. 4
- The 2023 elixir-tools Update (Vol. 5)
- The elixir-tools Update Vol. 6
- The elixir-tools Update Vol. 7 & The Great Merge
Next LS and elixir-tools are sponsored by a ton of amazing people and companies. I urge you to sponsor if you'd like to see the projects reach their maximum potential 🚀.
https://github.com/sponsors/mhanberg


















































Next LS uses just to coordinate command tasks.
# list all tasks just --list # show a fzf finder of all tasks just choose # default task, runs `deps compile build-local just # install deps just deps # install compile just compile # start the local server for development in TCP mode # see editor extension docs for information on how to connect to a server in TCP mode just start # run the tests just test # build a local burrito'd exe just build-local # build burrito'd exes for all platforms just build-all
Burrito is the classic way of building Next LS, it produces a single executable that fully wraps Elixir, OTP, and your application.
Executables are output to ./burrito_out
.
# produces executables for all the targets specified in the `mix.exs` file just build-all # produce an executable for a single target just build-local
You can also build Next LS as a traditional Mix release.
just build-plain
This project follows Conventional Commits and will "Squash and Merge" pull requests.
This means that you don't necessarily need to write your actual commit messages with Conventional Commits, but the Pull Request title needs to, as it is used as the commit title when squashing and merging. There is a CI check to enforce this.
Conventional Commits are required to use Release Please, which is used to automate the changelog, release, and building/publishing executables.