Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 2.13 KB

DEVELOPMENT.md

File metadata and controls

52 lines (33 loc) · 2.13 KB

Development

Version Support Guidelines

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.

Packaging

Follow those instuctions when publishing a new release.

  1. Bump the changelog
  2. Bump the version numbers in apps/elixir_ls_debugger/mix.exs, apps/elixir_ls_utils/mix.exs, and apps/language_server/mix.exs
  3. Make PR
  4. Merge PR
  5. Pull down the latest master
  6. Make the tag from the new master
  7. Push the tag (git push upstream --tags)
  8. Wait for github actions to push up a draft release https://github.com/elixir-lsp/elixir-ls/releases
  9. Edit the draft release with a link to the changelog
  10. Publish the draft release

Debugging

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.

Documentation website

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.

Development

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.

Build

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.