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

Updating experimantal feature branch #8

Open
wants to merge 249 commits into
base: refactorerl
Choose a base branch
from

Conversation

robertfiko
Copy link
Owner

No description provided.

robertoaloi and others added 30 commits December 11, 2021 17:59
[#1152] Emit error in case the module name does not coincide with the filename
In case of unparsable forms, try removing some trailing tokens, this way the
first half of the form could be parsed and POIs extracted.

related to #1037
[#1050] Add separate way to send log notification to avoid recursion
erlfmt_parser returns a `raw_string` form for comments which are after the last
form in the file and not followed by any more form. It was not expected by
els_parser that a raw_string can contain no tokens (just comments and
whitespace). A file with no code just whitespace has the same result.

Fixes #1171
…loading-lsp-mode

[#1174] [emacs] Ensure keybinding is configured before loading lsp-mode
Fix parsing trailing comments in modules
Update elvis_core to deal with CRLF line endings
Augment local config onto global config
This fixes an issue where initialization of els distribution would fail
due to invalid node name if the project directory contains characters
that are not valid in an erlang node name.
* Use same scoping rules as variable renaming
* No longer limited to only variables inside functions
* Add support for finding variable references
Invalid syntax on the module attribute can cause a crash.
* Fix false positive module name check diagnostic

Discovered that modules with whitespace in their name could cause false
positives in the module name check diagnostic.
Root cause is in els_uri:path/1, since uri_string:normalize/1 return a percent
encoded path, we need to percent decode that path to get the real path.

* Shouldn't need to handle percent encoding for windows paths any more

This change essentially reverts #1017 and adds a unit test

* Use http_uri:decode/1 for older OTP releases
plux and others added 30 commits September 18, 2024 15:50
* Add better support for completing keywords

* Add support for completing map and list comprehensions

* Add support for completing type after ::

* Add test for completion of comprehensions
Use tokens to generate POIs on lines where parsing fails.
Currently handling call(), module:call(), ?MACRO, #record, atom.
Add workflows to build and release on macos.
This will make document formatting use the unsaved state of the file.

Fixes #1419 .
* Don't run diagnostics unless indexing is done

* Improve performance of crossref diagnostics
If we don't have a precise match, try to find a close match for goto definition, e.g. if we have a(q,w,e) but only a/4 defined jump there.

Fixes #1250 .
Also fixes completion for OTP behaviours
* Ignore variables inside funs() and list comprehensions
* Don't suggest to extract function unless it contains more than one poi
* Browse elvis warnings
* Browse compiler errors
* Browse functions and types in otp docs or hex docs
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.