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

elixir-ls 0.19.0 #160551

Merged
merged 2 commits into from
Jan 21, 2024
Merged

elixir-ls 0.19.0 #160551

merged 2 commits into from
Jan 21, 2024

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
### v0.19.0: 21 January 2024

Highlights

  • On type parsing and diagnostics for phoenix .heex files
  • Workspace symbols provider has been reimplemented. Previously the workspace symbols index was build from all available symbols. To make it more focused and helpful now only symbols from the project are considered. This change made it much quicker and improved the quality of returned results. Fuzzy matching engine was also improved and made consistent with how complete provider works.

Improvements

  • Parser is now asynchronous. This should limit the number of cases when providers wait on parsing.
  • Function location in workspace symbols provider is optimized. Index build speed should now be much quicker
  • Added support for mise version manager (the former rtx is still supported) - Robson Roberto Souza Peixoto
  • Workspace symbols provider return results on empty query
  • Workspace symbols provider no longer returns duplicated results for functions with default arguments
  • Workspace symbols provider now returns containerName if applicable
  • Workspace symbols provider now returns deprecated symbol tag
  • Workspace symbols provider, completions and other providers return distinct symbol kinds for functions and macros. This makes them visually different in editors (e.g VSCode uses different icons)
  • Apps are now reloaded after build so application controller can provide an accurate list of modules. This works around Application modules list in app controller not reloaded after compile elixir-lang/elixir#13001
  • App config is now reset on each build. This works around loadconfig not clearing application env elixir-lang/elixir#13246
  • Suggest contracts calls are now non blocking. Previously a call to dialyzer would block the server.
  • Diagnostics without file set will now be returned as originating from mix.exs. Diagnostics without document URI are meaningless in LSP
  • Document symbols rendering is improved for defs with multiline arguments - Milo Lee
  • Debugger now respects --no-mix-exs flag in launch config taskArgs
  • Do block indentation level discovery is improved in completions provider. This should improve keyword completions position
  • Elixir version checks have been optimized in completions provider. Those turned out to be expensive.
  • Completions provider now caches modules. This greatly improves responsiveness when completion is invoked off an empty hint
  • Completions provider now returns @nifs attribute added in elixir 1.16
  • Definitions provider now supports resetting aliases alias: nil on phoenix router scope

Fixes

  • Fixed crash when code action is unable to apply spec
  • Fixed a crash when loading an old format or unrepairable DETS file
  • Operators, functions and macros are now correctly labelled in completions provider. Previously every symbol from Kernel was labelled as keyword and every completion having a snippet was labelled as snippet.
  • Fixed a crash in build when printing invalid diagnostics from external compilers
  • Fixed a crash in suggest contracts when dialyzer is able to infer concrete types in protocol
  • Fixed a crash in completions provider when a completion would be filtered out
  • Fixed a crash in document symbols provider when unable to get a line for AST node
  • Mix clean custom command will no longer crash when executed in non mix project
  • Completions provider returns correct type when a module has functions and macros with the same name. This bug made it return Application.compile_env as function instead of macro
  • Fixed a crash in phoenix router scopes when code fails to parse
  • Fixed a crash in definitions provider when cursor over phoenix controller action in router
  • Fixed a crash in definitions provider with nested phoenix scopes. The scope combination algorithm was incorrect and produced invalid aliases

@github-actions github-actions bot added the bump-formula-pr PR was created using `brew bump-formula-pr` label Jan 21, 2024
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jan 21, 2024
@BrewTestBot BrewTestBot added this pull request to the merge queue Jan 21, 2024
Merged via the queue into Homebrew:master with commit 05008ad Jan 21, 2024
12 checks passed
@BrewTestBot BrewTestBot deleted the bump-elixir-ls-0.19.0 branch January 21, 2024 19:12
@github-actions github-actions bot added the outdated PR was locked due to age label Feb 21, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants