axelson

axelson

Scenic Core Team

ElixirLS Fork - Language Server Protocol implementation for Elixir

Hi all! :wave:

I’m pleased to announce that version 0.3.0 of the ElixirLS Fork project has been released! :confetti_ball:

What’s new in 0.3.0

  • Add workspaceSymbol support to quickly navigate to modules, functions, callbacks
    • This is huge! Now you can navigate to a module by the module name, or navigate to a function with f function_name, or a type with t type_name (full instructions are in the Readme)
    • VSCode use Cmd+t (or Ctrl+t), Spacemacs lsp-mode use , g s
  • Elixir 1.10 support
  • Provide completions for protocol functions
  • Lots of ElixirSense fixes
  • Various stability updates

Screenshot of workspaceSymbol support in action:

Full changelog: elixir-ls/CHANGELOG.md at v0.3.0 · elixir-lsp/elixir-ls · GitHub
Full diff: Comparing v0.2.28...v0.3.0 · elixir-lsp/elixir-ls · GitHub

Thanks to all the contributors that made this release possible:

  • @lukaszsamson for the majority of the improvements (including the workspaceSymbol support)
  • @cdegroot - Source asdf on startup
  • Ahmed Hamdy - Updated startup message
  • Jonáš Trantina - Requesting didSave in server capabilities
  • @JakeBecker for the original implementation

If you’re using VSCode it should update automatically, if you’re running emacs lsp-mode or coc.vim you will probably have to update manually via git pull and then run mix elixir_ls.release again.

GitHub: GitHub - elixir-lsp/elixir-ls: A frontend-independent IDE "smartness" server for Elixir. Implements the "Language Server Protocol" standard and provides debugger support via the "Debug Adapter Protocol" · GitHub
VSCode: ElixirLS Fork: DEPRECATED (use original extension) - Visual Studio Marketplace

The reason for this fork

This fork started when Jake Becker’s repository became inactive for an extended period of time. So we decided to start an active fork to merge dormant PR’s and fix issues where possible. We also believe in an open and shared governance model to share the work instead of relying on one person to shoulder the whole burden.

Most Liked

axelson

axelson

Scenic Core Team

Version 0.3.2 was released today! :tada:

Here are the highlights:

General:

  • Significantly speed up dialyzer checks #165 (thanks hworld)
  • Speed up dialyzer manifest writing by using a lower compression level (thanks to hworld) #164
  • Fix dialyzer errors not being reported for umbrella projects #149 (thanks hworld)
  • Bump ElixirSense
    • Fixes find all references doesn’t work with argument defaults #150
    • Adds erlang edoc support elixir_sense #86

VSCode specific:

Full Changelog

axelson

axelson

Scenic Core Team

Version 0.3.1 was released today! :confetti_ball:

General:

  • The debugger works again :tada: (but it’s broken in 1.10 until a new elixir release that includes this fix)
  • Code lens (this is what shows you generated @spec lines) is more reliable
  • Fix a couple cases where we weren’t matching the lsp spec

VSCode:

  • Do not highlight function calls the same as function definitions

Full changelog

lukaszsamson

lukaszsamson

ElixirLS Core Team

It seems that dialyzer PLT cache is out of date or corrupted. Please try removing .elixir_ls directory. As pointed out in the readme jump to workspace symbol currently requires dialyzer integration.

Where Next?

Popular in Discussions Top

New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New
WildYorkies
It seems that the more I read, the more I find Elixir users speaking about all the ways that Elixir is not good for x, y, and z use cases...
New
praveenperera
How We Replaced React with Phoenix By: Thought Bot
New
mbenatti
Following https://github.com/tbrand/which_is_the_fastest |> https://raw.githubusercontent.com/tbrand/which_is_the_fastest/master/imgs...
New
CharlesO
Erlang :list.nth simple, but 1 - based nth(1, [H|_]) -> H; nth(N, [_|T]) when N > 1 -> nth(N - 1, T). Elixir Enum.at … coo...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
Qqwy
I would like to spark a discussion about the static access operator: .. For whom does not know: it is used in Elixir to access fields of...
New
tomekowal
Hey guys! I want to create a toy project that shows a chart of temperature over time and updates every 5 seconds. I feel LiveView is per...
New
slashdotdash
Phoenix Live View is now publicly available on GitHub. Here’s Chris McCord’s tweet announcing making it public.
New

Other popular topics Top

albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New

We're in Beta

About us Mission Statement