v0.7.0
v0.7.0
We're releasing 0.7 so we can support Elixir 1.17 and Erlang 27. However, those users on Erlang 27 will experience large increases in the amount of memory Lexical takes up due to this bug. When that bug is fixed, we'll push out another release that will detect the newer version of Erlang and things should go back to normal.
Other than supporting the newer versions of Erlang and Elixir, we've added the following features:
Features
- Organize aliases code action. When invoked, will alphabetize and flatten all your existing aliases in a module. It will also put all aliases in the same place in a module.
- Remove unused alias code action
- Add alias code action: Type a module, invoke the code action and see a list of modules to alias, select one, and it's added to your module's other aliases.
- Improved script handling: Now lexical won't execute scripts when editing them. Thanks, @zachallaun!
- We now show typespecs for struct field completions. Thanks @kirillrogovoy
Bug Fixes
- Fixed crash when typing text that isn't elixir code
What's Changed
- Alias range by @scohen in #715
- Fixed two bugs with alias calculation by @scohen in #726
- Stopped passing the server project over to remote_control by @scohen in #731
- Organize aliases by @scohen in #725
- Refactor: Pass env into completion in remote control by @scohen in #733
- Refactor: Increased type detail by @scohen in #734
- Fix: Edge case for module loading by @scohen in #738
- Improved store error handling by @scohen in #737
- Complete callables without parens if present in locals_without_parens by @zachallaun in #739
- Indexed delegated functions by @scohen in #729
- Added safe_split to Ast.Module by @scohen in #743
- Fix: Crash when typing english by @scohen in #742
- Returns two definitions for delegate function's definition by @scottming in #744
- Fix go to definition behavior for same-name, same-arity functions by directing to the first function by @scottming in #746
- Completion: show type spec for struct fields by @kirillrogovoy in #751
- Code Action: Add alias by @scohen in #740
- Fixed: Go to definitions crashes on modules defined via a macro by @scohen in #753
- Increased plugin timeouts by @scohen in #757
- Proxy for expensive API requests by @scohen in #736
- Code Action: Remove unused aliases by @scohen in #748
- Upgraded sourceror 1.0.3 -> 1.2.1 by @scohen in #759
- Reorder
test
macro completions by @zachallaun in #769 - Track uses and requires by @scohen in #756
- Added struct definition detection for ecto schemas by @scohen in #758
- Sorted bang functions after non-bang variants by @scohen in #770
- Updated changelog by @scohen in #771
- Implement
Position.compare/2
by @zachallaun in #767 - Elixir 1.17 by @scohen in #760
- Minor housekeeping by @Moosieus in #784
- Update nix by @akirak in #785
- Update sourceror in common and server by @Moosieus in #789
- Handled formatting invalid module names by @scohen in #781
- Simplify and co-locate more completion abstractions in server by @zachallaun in #776
- Simplifications in
remote_control
by @zachallaun in #778 - Refactor request handling by @zachallaun in #777
- Fix: give proper argument to
TaskQueue.add/2
in Server.handle_message by @bangalcat in #791 - handle other cases where project node goes down by @Moosieus in #790
- Fix crashes on OTP 27 by disabling ETS table compression by @zachallaun in #796
- Completion: don't insert impl attribute if it's already present by @zachallaun in #801
New Contributors
- @kirillrogovoy made their first contribution in #751
- @akirak made their first contribution in #785
Full Changelog: v0.6.1...v0.7.0
What's Changed
- Alias range by @scohen in #715
- Fixed two bugs with alias calculation by @scohen in #726
- Stopped passing the server project over to remote_control by @scohen in #731
- Organize aliases by @scohen in #725
- Refactor: Pass env into completion in remote control by @scohen in #733
- Refactor: Increased type detail by @scohen in #734
- Fix: Edge case for module loading by @scohen in #738
- Improved store error handling by @scohen in #737
- Complete callables without parens if present in locals_without_parens by @zachallaun in #739
- Indexed delegated functions by @scohen in #729
- Added safe_split to Ast.Module by @scohen in #743
- Fix: Crash when typing english by @scohen in #742
- Returns two definitions for delegate function's definition by @scottming in #744
- Fix go to definition behavior for same-name, same-arity functions by directing to the first function by @scottming in #746
- Completion: show type spec for struct fields by @kirillrogovoy in #751
- Code Action: Add alias by @scohen in #740
- Fixed: Go to definitions crashes on modules defined via a macro by @scohen in #753
- Increased plugin timeouts by @scohen in #757
- Proxy for expensive API requests by @scohen in #736
- Code Action: Remove unused aliases by @scohen in #748
- Upgraded sourceror 1.0.3 -> 1.2.1 by @scohen in #759
- Reorder
test
macro completions by @zachallaun in #769 - Track uses and requires by @scohen in #756
- Added struct definition detection for ecto schemas by @scohen in #758
- Sorted bang functions after non-bang variants by @scohen in #770
- Updated changelog by @scohen in #771
- Implement
Position.compare/2
by @zachallaun in #767 - Elixir 1.17 by @scohen in #760
- Minor housekeeping by @Moosieus in #784
- Update nix by @akirak in #785
- Update sourceror in common and server by @Moosieus in #789
- Handled formatting invalid module names by @scohen in #781
- Simplify and co-locate more completion abstractions in server by @zachallaun in #776
- Simplifications in
remote_control
by @zachallaun in #778 - Refactor request handling by @zachallaun in #777
- Fix: give proper argument to
TaskQueue.add/2
in Server.handle_message by @bangalcat in #791 - handle other cases where project node goes down by @Moosieus in #790
- Fix crashes on OTP 27 by disabling ETS table compression by @zachallaun in #796
- Completion: don't insert impl attribute if it's already present by @zachallaun in #801
- Completion: Use existing specs to infer function signatures and vice-versa by @zachallaun in #802
- Don't run top-level code in
.exs
files by @zachallaun in #798 - Use non-deprecated
:net_kernel.start/2
by @zachallaun in #794
New Contributors
- @kirillrogovoy made their first contribution in #751
- @akirak made their first contribution in #785
Full Changelog: v0.6.1...v0.7.0