Elixir itself supports 5 versions with security updates: https://hexdocs.pm/elixir/compatibility-and-deprecations.html#content
OTP Supports the last 3 versions: http://erlang.2086793.n4.nabble.com/OTP-Versions-and-Maint-Branches-td4722416.html
ElixirLS generally aims to support the last 3 versions of Elixir and the last 3 versions of OTP. However this is not a hard and fast rule and may change in the future.
Follow those instuctions when publishing a new release.
- Bump the changelog
- Bump the version numbers in
apps/elixir_ls_debugger/mix.exs
,apps/elixir_ls_utils/mix.exs
, andapps/language_server/mix.exs
- Make PR
- Merge PR
- Pull down the latest master
- Make the tag from the new master
- Push the tag (
git push upstream --tags
) - Wait for github actions to push up a draft release https://github.com/elixir-lsp/elixir-ls/releases
- Edit the draft release with a link to the changelog
- Publish the draft release
If you're debugging a running server than IO.inspect
is a good approach, any messages you create with it will be sent to your LSP client as a log message
To debug in tests you can use IO.inspect(Process.whereis(:user), message, label: "message")
to send your output directly to the group leader of the test process.
The documentation website is built using the Mkdocs static website generator. The content is written in Markdown format in the directory docs and is configured via the mkdocs.yml file.
Make sure you have a recent version of Python 3 and Pip installed.
Install mkdocs
and the material
theme with Pip:
pip install mkdocs mkdocs-material
Once installed, simply run mkdocs serve
from the project root. This will start a local web server with a file watcher.
To compile the website for deployment, run mkdocs build
from the project root. The built static assets will be located in the site
directory. These can then be served by any web hosting solution.