An open API service indexing awesome lists of open source software.

https://github.com/elixir-tools/next-ls

The language server for Elixir that just works. Ready for early adopters!
https://github.com/elixir-tools/next-ls

elixir lsp

Last synced: 5 months ago
JSON representation

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

Awesome Lists containing this project

README

          

> [!IMPORTANT]
> Next LS is merging with Elixir LS and Lexical! Read more about it at [www.elixir-tools.dev.](https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-7/)

# Next LS

[![Documentation](https://img.shields.io/badge/Next_LS-Documentation-gold)](https://www.elixir-tools.dev/docs/next-ls/quickstart)
[![GitHub release (latest by SemVer including pre-releases)](https://img.shields.io/github/downloads-pre/elixir-tools/next-ls/latest/total?label=Downloads%20-%20Latest%20Release)](https://github.com/elixir-tools/next-ls/releases)
[![GitHub all releases](https://img.shields.io/github/downloads/elixir-tools/next-ls/total?label=Downloads%20(Total))](https://github.com/elixir-tools/next-ls/releases)
[![GitHub Discussions](https://img.shields.io/github/discussions/elixir-tools/discussions)](https://github.com/orgs/elixir-tools/discussions)
[![Discord](https://img.shields.io/badge/Discord-5865F3?style=flat&logo=discord&logoColor=white&link=https://discord.gg/nNDMwTJ8)](https://discord.gg/6XdGnxVA2A)

The language server for Elixir that just works. 😎

Still in heavy development, but early adopters are encouraged!

Please see the [docs](https://www.elixir-tools.dev/docs/next-ls/quickstart) to get started.

## Related Links

- [Introducing Next LS and an elixir-tools update](https://www.elixir-tools.dev/news/introducing-next-ls-and-an-elixir-tools-update/)
- [The elixir-tools Update Vol. 2](https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-2/)
- [The elixir-tools Update Vol. 3](https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-3/)
- [The elixir-tools Update Vol. 4](https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-4/)
- [The 2023 elixir-tools Update (Vol. 5) ](https://www.elixir-tools.dev/news/the-2023-elixir-tools-update-vol-5/)
- [The elixir-tools Update Vol. 6](https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-6/)
- [The elixir-tools Update Vol. 7 & The Great Merge](https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-7/)

## Sponsors

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

### Platinum + Gold Tier

User avatar: Yolo Group

### Remaining tiers

User avatar: Christopher GraingerUser avatar: Mikkel HøghUser avatar: Sebastian HenaoUser avatar: Alexander KoutmosUser avatar: Simon WolfUser avatar: Parker SelbertUser avatar: User avatar: Noah BetzenUser avatar: Shannon SelbertUser avatar: Dorian KarterUser avatar: André Luiz da Fonsêca PaesUser avatar: jackson millsapsUser avatar: Brett WiseUser avatar: David BernheiselUser avatar: QdentityUser avatar: NFIBrokerageUser avatar: Rudolf ManusadzhianUser avatar: Clark LindsayUser avatar: Stephen BusseyUser avatar: SuperedUser avatar: Keith GautreauxUser avatar: User avatar: Jean-Luc GeeringUser avatar: Jamie WrightUser avatar: Zach NorrisUser avatar: Joe MartinezUser avatar: José ValimUser avatar: MarcosUser avatar: Dan DresselhausUser avatar: Marcel FahleUser avatar: AmplifiedUser avatar: Dave LuciaUser avatar: Pametno Računovodstvo - SmartAccountUser avatar: Marcelo DominguezUser avatar: User avatar: Aaron GundersonUser avatar: Dicky KuangUser avatar: Leandro PereiraUser avatar: Jake Demarest-MaysUser avatar: Batteries IncludedUser avatar: MartideUser avatar: Mykolas MankeviciusUser avatar: User avatar: Brad KilshawUser avatar: Vasilis SpilkaUser avatar: Brendon McLeanUser avatar: Mike ZornekUser avatar: Alan HeywoodUser avatar: RecyclaUser avatar: Wojtek MachUser avatar: Joe SweeneyUser avatar: Peter Ringelmann

## Development

Next LS uses [just](https://github.com/casey/just) to coordinate command tasks.

```bash
# 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
```

## Production release

### Burrito

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`.

```bash
# 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
```

### Traditional

You can also build Next LS as a traditional Mix release.

```bash
just build-plain
```

## Contributing

This project follows [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) 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](https://github.com/googleapis/release-please), which is used to automate the changelog, release, and building/publishing executables.