Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Elixir 1.18 #849

Merged
merged 25 commits into from
Feb 18, 2025
Merged

Support Elixir 1.18 #849

merged 25 commits into from
Feb 18, 2025

Conversation

scohen
Copy link
Collaborator

@scohen scohen commented Dec 27, 2024

Support 1.18.

Test failures were due to old versions of beam files hanging around. This quiets warnings and all tests pass locally.

Fixes #846

@scohen scohen changed the title Support 1 18 Support Elixir 1.18 Dec 27, 2024
@Moosieus
Copy link
Collaborator

Moosieus commented Jan 2, 2025

I keep seeing errors pop up, seemingly due to some issue with elixir_sense. Logs here

@scohen
Copy link
Collaborator Author

scohen commented Jan 3, 2025

@Moosieus Updated elixir_sense. That should take care of the error you're seeing (I was told it's benign, but yes, it's gross).

@Moosieus
Copy link
Collaborator

Moosieus commented Jan 3, 2025

I was told it's benign, but yes, it's gross

That about sums up my experience. I've pulled the update, gonna work with it and see if anything else crops up.

@Moosieus
Copy link
Collaborator

Moosieus commented Jan 3, 2025

That seems to have done the trick

Copy link
Collaborator

@Moosieus Moosieus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Been using without issues, and the code looks good on review.

@trashhalo
Copy link

Not sure if this is an existing lexical thing and I just need to delete some file. but been getting issues with use statements where all of them are mad. including ones not from deps. like root app. use Standd, :controller.

Screenshot 2025-01-06 at 12 50 48 PM

@DnOberon
Copy link

DnOberon commented Feb 2, 2025

Is this kinda dead in the water? I know they're working on the unified LS - but is lexical still receiving updates in the meantime?

@rdlu
Copy link

rdlu commented Feb 7, 2025

Is this kinda dead in the water? I know they're working on the unified LS - but is lexical still receiving updates in the meantime?

I was waiting this pr to be merged as well, but then I installed manually using the 1.18 branch. I went back to next-ls for a while, but this is much faster on my setup.

Cloning, switching to support_1_18 branch and then mix package --path ~/.local/bin/lexical was less painful than I imagined.

It works with my lazyvim/neovim setup: https://github.com/rdlu/dotfiles/blob/main/lazyvim/.config/nvim/lua/plugins/elixir.lua

Also with zed editor I just symlinked to ~/.local/share/zed/extensions/work/elixir/lexical-v0.7.x

@garlandcrow
Copy link

garlandcrow commented Feb 7, 2025

Is this kinda dead in the water? I know they're working on the unified LS - but is lexical still receiving updates in the meantime?

I was waiting this pr to be merged as well, but then I installed manually using the 1.18 branch. I went back to next-ls for a while, but this is much faster on my setup.

Cloning, switching to support_1_18 branch and then mix package --path ~/.local/bin/lexical was less painful than I imagined.

It works with my lazyvim/neovim setup: https://github.com/rdlu/dotfiles/blob/main/lazyvim/.config/nvim/lua/plugins/elixir.lua

Also with zed editor I just symlinked to ~/.local/share/zed/extensions/work/elixir/lexical-v0.7.x

hmm I tried your config (I'm also using lazyvim so there wasn't really much difference except the build path) and built from latest commit on this branch, but it wouldn't run so seems some issues still. FWIW, I made sure to build on the same version of elixir/otp as I ran in the test repo. elixir 1.18.2 and otp 27.2.2

My lexical.log attached.
test.log

@rdlu
Copy link

rdlu commented Feb 7, 2025

Is this kinda dead in the water? I know they're working on the unified LS - but is lexical still receiving updates in the meantime?

I was waiting this pr to be merged as well, but then I installed manually using the 1.18 branch. I went back to next-ls for a while, but this is much faster on my setup.
Cloning, switching to support_1_18 branch and then mix package --path ~/.local/bin/lexical was less painful than I imagined.
It works with my lazyvim/neovim setup: https://github.com/rdlu/dotfiles/blob/main/lazyvim/.config/nvim/lua/plugins/elixir.lua
Also with zed editor I just symlinked to ~/.local/share/zed/extensions/work/elixir/lexical-v0.7.x

hmm I tried your config (I'm also using lazyvim so there wasn't really much difference except the build path) and built from latest commit on this branch, but it wouldn't run so seems some issues still. FWIW, I made sure to build on the same version of elixir/otp as I ran in the test repo. elixir 1.18.2 and otp 27.2.2

My lexical.log attached. test.log

By looking at you log you are using Windows, am I right?

I'm not sure if I can help, I'm exclusively using Linux since eons ago (sometimes macos)

But sometimes my neovim or zed editor get stuck, the suggestions stop appearing, gd stops working, etc.

My workaround to avoid this is whenever there are major changes to versions I prefer to clean everything that was built. I have this in my justfile
that I use for my projects, then I mix deps.get again to start from a clean build state:

clean-dev:
  rm -rf ./.elixir_ls ./_build ./deps ./.elixir-tools
  find . -name "*.beam" -exec rm -f {} \;

@garlandcrow
Copy link

Is this kinda dead in the water? I know they're working on the unified LS - but is lexical still receiving updates in the meantime?

I was waiting this pr to be merged as well, but then I installed manually using the 1.18 branch. I went back to next-ls for a while, but this is much faster on my setup.
Cloning, switching to support_1_18 branch and then mix package --path ~/.local/bin/lexical was less painful than I imagined.
It works with my lazyvim/neovim setup: https://github.com/rdlu/dotfiles/blob/main/lazyvim/.config/nvim/lua/plugins/elixir.lua
Also with zed editor I just symlinked to ~/.local/share/zed/extensions/work/elixir/lexical-v0.7.x

hmm I tried your config (I'm also using lazyvim so there wasn't really much difference except the build path) and built from latest commit on this branch, but it wouldn't run so seems some issues still. FWIW, I made sure to build on the same version of elixir/otp as I ran in the test repo. elixir 1.18.2 and otp 27.2.2
My lexical.log attached. test.log

By looking at you log you are using Windows, am I right?

I'm not sure if I can help, I'm exclusively using Linux since eons ago (sometimes macos)

But sometimes my neovim or zed editor get stuck, the suggestions stop appearing, gd stops working, etc.

My workaround to avoid this is whenever there are major changes to versions I prefer to clean everything that was built. I have this in my justfile that I use for my projects, then I mix deps.get again to start from a clean build state:

clean-dev:
  rm -rf ./.elixir_ls ./_build ./deps ./.elixir-tools
  find . -name "*.beam" -exec rm -f {} \;

No worries, was just posted in case this helps a maintainer, I'm more than used to elixir tools being broken and unusable, so just check in from time to time to see if they work in neovim (spoiler, they never do). I'm running macos, super standard nothing special, default everything with neovim/lazynvim. Nothing ever works, its cool ✌🏼

@scohen
Copy link
Collaborator Author

scohen commented Feb 17, 2025

People, i'm going to work on getting this merged in the next two days. My day job is taking up a lot of my time.

The version of elixir and erlang won't change while the VM is running,
so they're a perfect example of what should be cached in
persistent_term.
* Skip tests broken by elixir sense update
* Update stream data
* remove compile warning
@scohen scohen merged commit 477e8b4 into main Feb 18, 2025
15 checks passed
@scohen scohen deleted the support_1_18 branch February 18, 2025 19:21
@garlandcrow
Copy link

thanks for merging something that only works on your machine, greatly appreciated

@rverton
Copy link

rverton commented Feb 19, 2025

Works great here, thanks a lot for your efforts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Elixir 1.18 support
7 participants