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

OTP 24 compatibility: extract line number from location tuple #504

Merged
merged 5 commits into from Mar 5, 2021

Conversation

tcrossland
Copy link
Contributor

@tcrossland tcrossland commented Mar 3, 2021

OTP 24 includes changes in the Erlang compiler to include column number information. Column information obtained from the chunk data is not currently handled by WorkspaceSymbols.build_result/4 and provokes an ArithmeticError exception as decribed in #503:

@spec build_result(key_t, symbol_t, String.t(), nil | non_neg_integer) :: symbol_information_t
defp build_result(key, symbol, path, line) do
%{
kind: @symbol_codes |> Map.fetch!(key),
name: symbol_name(key, symbol),
location: %{
uri: SourceFile.path_to_uri(path),
range: build_range(line)
}
}
end

This PR changes build_result/4 to extract the line number when a tuple {line, column} is read from the chunk data.

@tcrossland tcrossland changed the title build_result/4 extract line number from tuple OTP-24 compatibility: Extract line number from location tuple Mar 3, 2021
@tcrossland tcrossland changed the title OTP-24 compatibility: Extract line number from location tuple OTP 24 compatibility: extract line number from location tuple Mar 3, 2021
@lukaszsamson
Copy link
Collaborator

Similar changes are needed in elixir_sense

Copy link
Member

@axelson axelson left a comment

Choose a reason for hiding this comment

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

Thanks! ❤️

@axelson axelson merged commit 216144b into elixir-lsp:master Mar 5, 2021
axelson added a commit to axelson/elixir-ls that referenced this pull request Mar 5, 2021
axelson added a commit that referenced this pull request Mar 28, 2021
* Add changelog test to verify that the changelog is correctly linked

* Update changelog

* Add #497

* Specify that the fuzzy completion is only for functions

* Fix formatting

* update changelog for #505

* Update changelog for #501, #473, and #504

* Update changelog for #507 and vscode #176

* Update changelog for #511

* Update changelog for #492
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.

None yet

3 participants