Tags: aleklisi/erlang_ls
Tags
Add telemetry events for diagnostics and indexing (erlang-ls#1306)
Handle query string in Uri (erlang-ls#1283) The Uri returned by the `shallow_index` procedure is reconstructed from the path and could miss the query string originally contained in the input Uri.
Use version from didOpen, use text from editor as source of truth (er… …lang-ls#1279) Without this change, the server could read an outdated version of the text from disk and try to apply changes to it. This was a very common scenario in case a file was already opened in the editor with pending changes, not yet saved to disk. A reload of the server would cause the server to incorrectly rely on the version on disk. The version is also used now, so that eventual background jobs on outdated versions of the code would abort.
Revert shutdown strategy for background jobs (erlang-ls#1273) To have the ability to terminate gracefully
Skip indexing of generated files (erlang-ls#1255) * Add ability to skip generated files (by tag in their header) * Allow generated files to be indexed on-demand * Better indexing report on completion
Handle `not_found` result from docsh (erlang-ls#1198) Also make sure that functions dealing with temporary group leader here have no chance to get stuck altogether. Fixes erlang-ls#1177.
Reload project-specific files on every Graudalizer diagnostic run (er… …lang-ls#1240) The check to determine if project files should be imported into Gradualizer comes from the time when the integration relied on Gradualizer being available through ERL_LIBS and would only be started by the diagnostic being called. Now that Gradualizer is a dependency of ErlangLS, it's running on each startup since ErlangLS itself. This means the check never succeeds, therefore the project specific files necessary for properly setting up the typechecker are never loaded. This leads to false positives being reported such as missing remote types or record definitions. Reimporting the project files on each run might be a bit redundant, but it seems to work reasonably well in practice. Dogfooding this solutions shows it doesn't lead to visible unnecessary load on the system.
PreviousNext