Skip to content

Releases: WhatsApp/erlang-language-platform

2024-04-29

29 Apr 08:32
Compare
Choose a tag to compare

The main visible improvements are

  • Do not crash when changing branches on project
  • Put full set of configuration options into the VS Code client, using Erlang Language Platform as the extension name
  • Properly deal with files having CRLF line endings

Detail

320ff4b CI: Update ci.yml for latest changes in github (#25) (Alan Zimmerman)
a0751fb Add infrastructure to cross node eval for custom error message per match (Alan Zimmerman)
8d5a1f6 Bump VS Code extension version to 0.23 for imminent release (Alan Zimmerman)
41b95be Introduce meta-only doc links (Roberto Aloi)
a387109 Prepare doc_links to handle multiple sources (Roberto Aloi)
18e0b2a Update erlang_service to process CRLF the same as ELP (Alan Zimmerman)
a937386 Capture LineEnding in LoadResult (Alan Zimmerman)
3125746 BE: use the same processing path converting from vfs to salsa (Alan Zimmerman)
bfff8ce Transparently calculate ProjectId from FileId in Type API (Roberto Aloi)
3c61178 dynamic() -> eqwalizer:dynamic() in tests (Victor Lanvin)
3ce7f9b Avoid project-wide diagnostics disappear upon closing (Roberto Aloi)
50f5a7f sort out panic for get_file_contents on a created file (Alan Zimmerman)
e4bac91 Bump version to 0.22 for imminent release (Alan Zimmerman)
331072a Update VS Code configuration options (Alan Zimmerman)
0926a13 Simplify filtering mechanism for EDoc and CT Diagnostics (Roberto Aloi)
11c54f3 Move include_otp to DiagnosticsConfig (Roberto Aloi)
45759fd Make OTP diagnostics configurable (Roberto Aloi)
28a3fcd Do not report OTP diagnostics by default (Roberto Aloi)
c97d4ab Fix subtyping dict < shape being too lenient (Victor Lanvin)
06e2065 Issue refining unions of maps (Victor Lanvin)
3e23e8c Fix W0017 documentation (Alan Zimmerman)

2024-04-17

17 Apr 13:58
Compare
Choose a tag to compare

b92293b specify escript path from cli (Roman Perehonchuk)
0d5865c specify erl path from cli (Roman Perehonchuk)
80bdc5b Bump extension version to 0.21.0 for imminent release (Alan Zimmerman)
ab022db Move unsafe integer conversion to dedicated linter (Roberto Aloi)
24092d9 BE: Enable eqwalizer types when using elp lint (Alan Zimmerman)
bc169cf Add for_each_function helper to sema (Roberto Aloi)
d809f50 Make target range extraction more discoverable (Roberto Aloi)
3529e62 Add string as known name (Roberto Aloi)
ae06332 ExportBuilder: put new export_type form after function exports (Alan Zimmerman)
fbb930b BE: use Expect for check fix tests (Alan Zimmerman)
67aa65d index per file (Roman Perehonchuk)
54ffca4 add code comments (Roman Perehonchuk)
0980351 eqwalizer assist for non exported type (Alan Zimmerman)
873deed export_type assist (Alan Zimmerman)
342a1e5 Generalise ExportBuilder to work on type exports too (Alan Zimmerman)
2f26898 fix build by inserting missing shipit tag (Alan Zimmerman)
9c1a002 output fully valid json for elp config command (Alan Zimmerman)
55b7e47 Add elp config command to dump all possible config options (Alan Zimmerman)
ca8b2a2 Add --include-suppressed flag (Roberto Aloi)
a925676 Enable inlay hints and signature help by default (Roberto Aloi)
2daeff8 use add_wip assist (Alan Zimmerman)
110ce5f Improve text fixture annotation removal regexp (Alan Zimmerman)
ca1a9b4 elp lint: bringing in code action fixes (Alan Zimmerman)
e7253ca track context diagnostic for assist (Alan Zimmerman)
efe7e59 Add request for task id to user input data (Alan Zimmerman)
3581077 add prompt field to user input (Alan Zimmerman)
6f4d773 add_fixme assist (Alan Zimmerman)
472b1a2 Allow setting group label in assist builder (Alan Zimmerman)
499c5fa Add UserInput String type (Alan Zimmerman)
d4e0774 Improve AssistContextDiagnosticCode (Alan Zimmerman)
825b4ec fact per file (Roman Perehonchuk)
aa0b3ac Add with_severity method (Roberto Aloi)
4e230e7 doc declaration for types (Roman Perehonchuk)
f3ae74c doc declarations for records (Roman Perehonchuk)
96b5118 doc declarations for macro (Roman Perehonchuk)
6c47f0b Remove test module uniqueness checker (Alan Zimmerman)
e6578f0 Remove ignore pragmas from type-based tests (Alan Zimmerman)
7a06306 Only create the eqwalizer exe once (Alan Zimmerman)
ccead8f doc declarations for vars (Roman Perehonchuk)
f4c2b62 doc declaration for functions (Roman Perehonchuk)
38282e4 backport v2 features to v1 (Roman Perehonchuk)
13012bf add header declarations (Roman Perehonchuk)
4e92ec9 Fix Erlang Service crash on ms_transform error (Roberto Aloi)
25a5ce8 Add E2E Test to verify no syntax errors for CAFs (Roberto Aloi)
a173ce0 Remove redundant check in atoms exhaustion linter (Roberto Aloi)
46f2e7f migrate erlint wids_everywhere diagnostic to ELP (Alan Zimmerman)
05a1390 add Diagnostic.with_fixme_fix (Alan Zimmerman)
dea0f3a xrefs only for files we indexed (Roman Perehonchuk)
015c6d7 xrefs only for files we indexed for v2 facts (Roman Perehonchuk)
ff9d544 don't serialize none (Roman Perehonchuk)
6bd3230 schema renames (Roman Perehonchuk)
661ec8d migrate xref v2 to key (Roman Perehonchuk)
feb2493 migrate declaration v2 to key (Roman Perehonchuk)
5ffc7f3 migrage xref fact to key (Roman Perehonchuk)
a624bc6 migrate declaration fact to key (Roman Perehonchuk)
d61008d migrate file lines fact to key (Roman Perehonchuk)
8281404 add keys to every predicate (Roman Perehonchuk)
c544d0c pretty print (Roman Perehonchuk)
8b48cfd macro expansion (Roman Perehonchuk)
39715cc use eqwalizer types only for vars (Roman Perehonchuk)
42ee297 clean-up (Roman Perehonchuk)
d9df2e0 utilize eqwalizer types and introduce var declaration (Roman Perehonchuk)
71ce3bc prepare testing infra to run with eqwalizer enabled (Roman Perehonchuk)
d88fbb0 add ods url to macro target (Roman Perehonchuk)
596143d refactor ods links (Roman Perehonchuk)
d521cda xref types (Roman Perehonchuk)
45edaff xref record in types (Roman Perehonchuk)
92bdff9 xref record index in patterns (Roman Perehonchuk)
c97175c xref record in patterns (Roman Perehonchuk)
ace1da8 xref record update (Roman Perehonchuk)
666a49a xref record field (Roman Perehonchuk)
0d177c3 xref record index (Roman Perehonchuk)
a7dcc43 xref for records (Roman Perehonchuk)
e07190b xref headers in include attributes (Roman Perehonchuk)
0baea06 move callback to separate function (Roman Perehonchuk)
65f358f xref functions in deprecated attribute (Roman Perehonchuk)
8bd2f32 xref functions in export statement (Roman Perehonchuk)
ac2419e xref macro in term (Roman Perehonchuk)
374d1ce xref macro in type (Roman Perehonchuk)
6fd1f7b xref macro in pat (Roman Perehonchuk)
14984e2 xref macro calls (Roman Perehonchuk)
d68a694 add captured function test v2 schema (Roman Perehonchuk)
152f4d8 add function xrefs to v2 schema (Roman Perehonchuk)
a9ea8c7 add record declaration to v2 schema (Roman Perehonchuk)
a43040f add type declaration to v2 schema (Roman Perehonchuk)
807c296 add macro declarations (Roman Perehonchuk)
b043285 add spec string to function declaration (Roman Perehonchuk)
b621018 add functions to new declaration facts (Roman Perehonchuk)
8fd0e13 prepare for v2 schema (Roman Perehonchuk)
febffe9 process glean in parallel (Roman Perehonchuk)
5d56af7 preparation step to paralelization (Roman Perehonchuk)
5df9c24 move declaration test to new test infra (Roman Perehonchuk)
bd149d2 move file fact and line facts to new test infra (Roman Perehonchuk)
4104e1b range for record update (Roman Perehonchuk)
cd1b363 range for record index (Roman Perehonchuk)
bda834c range for record fields (Roman Perehonchuk)
2049843 range for record expr (Roman Perehonchuk)
44a6bc2 range for functions without the args (Roman Perehonchuk)
72adf7c extract body_with_expr_source for future use (Roman Perehonchuk)
90dcd7b rewrite glean xref tests (Roman Perehonchuk)
d79711a refactor indexer to incorporate better test infra part2 (Roman Perehonchuk)
311fd8a refactor indexer to incorporate better test infra part1 (Roman Perehonchuk)
e0c7923 Go To Type Definition (Roberto Aloi)
261ca49 Add Body::range_for_any() function (Alan Zimmerman)
bb97a02 diagnostic descriptor for meta_only #1 (Alan Zimmerman)
e3c1add diagnostic descriptor: redundant_assignment (Alan Zimmerman)
dbb6602 diagnostic descriptor: trivial_match (Alan Zimmerman)
81cd23c diagnostic descriptor: unused_function_args (Alan Zimmerman)
2da4677 diagnostic descriptor: unused_macro (Alan Zimmerman)
f6e3e63 diagnostic descriptor: unused_record_field (Alan Zimmerman)
01ca341 diagnostic descriptor: mutable_variable (Alan Zimmerman)
1d33caa diagnostic descriptor: effect_free_statement (Alan Zimmerman)
e3e53e1 diagnostic descriptor: expression_can_be_simplified (Alan Zimmerman)
9338b0f diagnostic descriptor: application_env (Alan Zimmerman)
7720d85 disgnostic descriptor: missing_compile_warn_missing_spec (Alan Zimmerman)
e2403d2 diagnostic descriptor: slow_functions (Alan Zimmerman)
ace5919 diagnostic descriptor for dependent_header (Alan Zimmerman)
3a9850a diagnostics descriptor deprecated_function (Alan Zimmerman)
c2b0f64 diagnostic descriptor undefined_function (Alan Zimmerman)
74b20ec diagnostics descriptor for head_mismatch_semantic (Alan Zimmerman)
be8075f diagnostics descriptor for missing_separator (Alan Zimmerman)
2be92e3 Fix build. Missing colon in shipit comment (Alan Zimmerman)
120016a diagnostics descriptor for atoms_exhaustion (Alan Zimmerman)
78c6dea Introduce a diagnostic descriptor, to manage when they should run (Alan Zimmerman)
27952dd Add page for W0024 slow functions (Alan Zimmerman)
2ab3c5e Migrate slow functions diagnostic (Alan Zimmerman)
2060ade Diagnostics: Add helper to declaratively generate a diagnostic if a function is used (Alan Zimmerman)
4d9df03 Do not compute project-wide eqwalizer diagnostics until the first pass is completed (Roberto Aloi)
8ca7cdf Simplify caching logic (Roberto Aloi)
d6d1268 Add eqwalizer_caller test project (Roberto Aloi)
8779ff2 Upgrade Erlang grammar (Roberto Aloi)
f568f38 Configurable chunk for project-wide eqwalization (Roberto Aloi)
5e89d90 Configurable number of tasks for project-wide eqwalization (Roberto Aloi)
8895a71 Performance optimizations for project-wide eqwalization (Roberto Aloi)
5fd19ff Preliminary support for project-wide Eqwalizer diagnostics (Roberto Aloi)
0022987 Add EqwalizerConfig for IDE (Roberto Aloi)
6e22a87 Convert should_eqwalize to analysis method (Roberto Aloi)
7635718 On-the-fly collection of diagnostics (Victor Lanvin)
336d4ae fix a typo in a help message (Roman Perehonchuk)
2af4c7e Improvements to ElabApply with shapes (Victor Lanvin)
7b89b6d Improvements to maps:fold with shapes (Victor Lanvin)
4236b1e Snapshots -- lambdas with shapes and >2 clauses (Victor Lanvin)
ae703aa eqwalize multiple modules (Roman Perehonchuk)
02913ea Back out "Move erlang_service to use unix domain socket for communication" (Roberto Aloi)
6c703e5 Move erlang_service to use unix domain socket for communication (Michał Muskała)
1e5ee67 Bump eetf (Michał Muskała)
b9ec9e2 Fix unused field warning (Michał Muskała)
8c0fadd Add undefined function in export diagnostic as related info if syntax error in the function (Alan Zimmerman)
6ae0065 Back out "Remove test ignore for type-based tests" (Alan Zimmerman)
f96778c rework combining diagnostics: make combination symmetric (Alan Zimmerman)
690c4e0 BE: Remove On field from AnyCallBackCtx (Alan Zimmerman)
db161fc Add panic context for server vfs.file_contents call (Alan Zimmerman)
141baa4 BE: remove Diagnosti...

Read more

2024-03-21

21 Mar 16:13
Compare
Choose a tag to compare

Highlights

First batch of eqwalizer quick fixes, for spec mismatches

432263918_424477790162460_6032735865574995637_n
432389973_394938450197563_5652832251277663400_n

Improved completion by adding ok, undefined, true, false to keyword completion

Screenshot 2024-03-20 at 14 53 14

Improved feedback when a rename cannot be performed

Screenshot 2024-03-20 at 16 05 28

Changes

7c4b763 Bump VS Code extension version for imminent release (Alan Zimmerman)
f119709 Report an error if given L1500 for elp lint command (Alan Zimmerman)
961cf29 Fix tests after completion keywords update (Alan Zimmerman)
087c70c Use LSP 3.17 error code RequestFailed to report rename inapplicable (Alan Zimmerman)
bf2fec5 Completion: add common atoms to keywords (Alan Zimmerman)
39bc4eb Type assists 7/n: Improve assist wording (Alan Zimmerman)
573157a Type assists 6/n: expected type : leading atom tuple, fix spec (Alan Zimmerman)
2ae1108 BE: Introduce sema.find_enclosing_function_body, and helper for spec body (Alan Zimmerman)
f4b6fe8 Type assists 5/n: expected type : leading atom tuple, fix return value (Alan Zimmerman)
08a18f2 BE: make contains_annotation regex more lenient (Alan Zimmerman)
56a26a5 BE: Simplify expected_type code (Alan Zimmerman)
93ae1ef Add spec to FunctionBody (Alan Zimmerman)
0d9d932 Type test flakiness: Re-use erlang service connection for declarative tests (Alan Zimmerman)
90d65b1 BE:Fix some clippy warnings on ide crate (Alan Zimmerman)
b1f8432 Type Assists 4/n: mismatched atom, fix spec (Alan Zimmerman)
beeae5a BE: improve check_specific_fix (Alan Zimmerman)
c04a373 BE: strip annotations in expected fix test results (Alan Zimmerman)
a0d747a Type Assists 3/n: initial type based assist, for mismatched atom (Alan Zimmerman)
03cce8f Type Assists 2/n: Add initial plumbing for adding eqwalizer assists (Alan Zimmerman)
bfd9d13 Type Assists 1/n: Add eqwalizer assists to code_action request handler (Alan Zimmerman)
f1a6ab5 Put mutex around erlang service for tests (Alan Zimmerman)
2bd51fa Bump tree-sitter-erlang crate to 0.5.0 (Alan Zimmerman)
2a6c568 Bump version to 0.5.0 (Alan Zimmerman)
5a5ee4a bump tree-sitter to 0.22.1 (Alan Zimmerman)

2024-03-13

13 Mar 12:42
Compare
Choose a tag to compare

e6fdf63 Bump version in package.json (Roberto Aloi)
86b0213 BE: fix erlang_service_server request() type (Alan Zimmerman)
134982f Single collection of annotations (Roberto Aloi)
263b584 Avoid &String type and un-necessary cloning (Roberto Aloi)
44ca9b6 Re-export DiagnosticCode from top to simplify usage (Roberto Aloi)
3f16ba9 Remove unused Ignore struct (Roberto Aloi)
023009d Construct set of DiagnosticCode when extracting annotations (Roberto Aloi)
d0a31d6 Move DiagnosticCode from ide to ide_db crate (Roberto Aloi)
1cca863 Leverage metadata to decide when to suppress a diagnostic (Roberto Aloi)
b102268 Split metadata extraction into a separate query (Roberto Aloi)
4664abe Split collection of metadata from conversion to EETF format (Roberto Aloi)
cac672d Also collect generic ELP fixmes and ignores (Roberto Aloi)
00868a4 Make patterns for ELP Metadata extraction configurable (Roberto Aloi)
81ea215 Move tuple wrapping for eqwalizer_fixmes to fixme.rs (Roberto Aloi)
e5a9a9d Flakiness: Introduce a lock to serialise check_type test (Alan Zimmerman)
9636560 Bump mio to 0.8.11, and all cargo deps (Alan Zimmerman)
e4ea328 Add more context to eqwalizer ipc json decode (Alan Zimmerman)

2024-03-07

07 Mar 09:13
Compare
Choose a tag to compare

The main highlight is improved responsiveness from

  • Keeping the main message loop responsive when there are long-running erlang service tasks and the source changes.
    (f55b3ae, 677d09b, bbe6fd6)
  • More precisely tracking header files used in the erlang_service/eqwalizer, so we know when to recompute diagnostics
  • New experimental linter to identify meck misusage

8b8dbe5 Bump VS Code Version for imminent release (Alan Zimmerman)
2aa13cc rework combining diagnostics: split labeled into undefineds and syntax errors (Alan Zimmerman)
ce16fb5 Add context for lsp send panic (Alan Zimmerman)
8e1bc47 More context for eqWAlizer errors (Victor Lanvin)
bca9e09 rename diagnostics to native_diagnostics (Alan Zimmerman)
b0f6698 BE: clippy in ide crate (Alan Zimmerman)
87e99be BE clippy on elp crate (Alan Zimmerman)
ff3d6ad BE: clippy in ide_assists crate (Alan Zimmerman)
6cc3a43 BE: clippy in ide_completions crate (Alan Zimmerman)
2d4e8c6 BE: clippy in ide_db crate (Alan Zimmerman)
5be8df0 BE: clippy in project_model crate (Alan Zimmerman)
c2eb683 BE: clippy in types_db crate (Alan Zimmerman)
93d9c51 BE: clippy in syntax crate (Alan Zimmerman)
7f0e1f6 Add context-level mechanism to allow Meta-specific exclusions for the atoms exhaustion linter (Roberto Aloi)
b18b7cb Add mechanism to allow Meta-specific exclusions for the atoms exhaustion linter (Roberto Aloi)
f68d196 Better handling of union of atoms in maps:get (Victor Lanvin)
cce4677 Tests - union of atoms in maps:get (Victor Lanvin)
1c5ec0c BE: use HIR to check if in anonymous fun in meck diagnostic (Alan Zimmerman)
dd0019e Expose fold parents in find_call_in_function CheckCallCtx (Alan Zimmerman)
6351a2f Introduce parents in fold callback context (Alan Zimmerman)
5bcb776 BE: Improve find_call_in_function API (Alan Zimmerman)
de6616a erlang_service files via string rather than terms (Alan Zimmerman)
c5067e3 Add structured diagnostic to eqWAlizer diagnostics (Victor Lanvin)
db84030 Implement TC diagnostics in ELP (Victor Lanvin)
bc1d9cd Reorganising types_db/eqwalizer (Victor Lanvin)
760c6e4 BE: rip out include_file_revision (Alan Zimmerman)
93bbbf2 BE: Track included header files for erlang service module_ast() (Alan Zimmerman)
0ff6030 Do not warn about atoms exhaustion in tests (Roberto Aloi)
8fe178b elp lint does not respect --include-generated flag (Roberto Aloi)
ddcdcad Back out "print escaped regex string in test runner output on vscode" (Roman Perehonchuk)
d16b3a1 print escaped regex string in test runner output on vscode (Pulkit Agarwal (WhatsApp))
aedf05f bring back error level for project loading issues (Roman Perehonchuk)
71ca29f BE: Add ELP config for erlang_service (Alan Zimmerman)
3062861 BE: Use static regexes in erlang service (Alan Zimmerman)
a55f092 BE: Introduce MakeDiagCtx in find_call_in_function (Alan Zimmerman)
de9f44e Extend ide test fixture to allow Eqwalizer to find the erlang module (Alan Zimmerman)
7d32349 Add type query interface for PatId (Alan Zimmerman)
f3b8dfe Add support for file ranges in type_at_position (Victor Lanvin)
5c6a685 Add eqWAlizer analyses and reporting (Victor Lanvin)
80fb59e Add forms and AST visitors (Victor Lanvin)
77bcd15 Add types to visitor (Victor Lanvin)
99b1854 Rename type visitor (Victor Lanvin)
dcf6fb4 Rewriting visitor (Victor Lanvin)
3267596 Remove re-export of types from eqwalizer crate (Alan Zimmerman)
7e60d5c BE: Move find_range utility function to be a method on AnyCallBackCtx (Alan Zimmerman)
16e9c78 Use BodyOrigin in folds (Alan Zimmerman)
e02a9df Introduce TypedMFA for FunctionMatcher (Alan Zimmerman)
f0600b8 Semantic::expr_type (Alan Zimmerman)
b81f07d Add origin to Body (Alan Zimmerman)
66cfb68 Introduce FileKind::TestModule (Roberto Aloi)
7e40bed Fix OSS CI (Roberto Aloi)
f55b3ae unwind ct-info (Roman Perehonchuk)
677d09b unwind request-parse (Roman Perehonchuk)
bbe6fd6 unwinding for edoc (Roman Perehonchuk)
bba5ee2 telemetry renames (Roman Perehonchuk)
89d59e6 Introduce atoms exhaustion linter (Roberto Aloi)
808c5f8 Handle meck missing no_link option on empty lists (Roberto Aloi)
af67449 Introduce meck linter (Roberto Aloi)
4fe26af BE: add tests for serialize/deserialize ElpConfig (Alan Zimmerman)
073e680 track mainloop performance (Roman Perehonchuk)
f7635c6 introduce timeit_slow to publish only slow telemetry (Roman Perehonchuk)
2034ac0 BE: Split sema.find_body_and_map (Alan Zimmerman)
99e5cca BE: rename sema.find_body to sema.find_body_and_map (Alan Zimmerman)
062baba Add TypedSemantic to DefDatabase (Alan Zimmerman)
aa8d6d4 Add eqwalizer_type_at_position to TypedSemantic (Alan Zimmerman)
34c385e Move eqwalizer enum Type to types_db crate (Alan Zimmerman)
7203d2a Used TypedSemantic for ide crate eqwalizer diagnostics (Alan Zimmerman)
f3f1411 Move EqwalizerDiagnostic to types_db crate (Alan Zimmerman)
ed6162d Introduce elp_types_db crate (Alan Zimmerman)
ad8c937 Explain that Eqwalizer max_tasks affects CLI only, improve buck2 warnings (Alan Zimmerman)
ee01f68 Remove deprecated version of the UnusedInclude diagnostic (Roberto Aloi)
4b80e3f BE: Standardise on using Semantic rather than RootDatabase (Alan Zimmerman)
99c42f1 Solve panic for build_info command in presence of complex macros (Roberto Aloi)
0d3fa85 Do not process generated files for types-on-hover (Alan Zimmerman)
5a3f955 More friendly error message when module does not exist during lint (Roberto Aloi)
fb07580 Remove restriction on setting rebar3 profiles in .elp.toml (Alan Zimmerman)
425a5da Move eqWAlizer tests to ELP (Victor Lanvin)
72a4bee Function for batch-running eqWAlizer tests (Victor Lanvin)
4712e5a Add eqWAlizer config (to be used for tests) (Victor Lanvin)
cde9ece Add max_tasks option to .elp.toml (Victor Lanvin)
5276f03 Add instructions on how to install ELP from source (Roberto Aloi)
1e0720a Rename eqwalizer_diagnostics to eqwalizer_diagnostics_by_project (Alan Zimmerman)

2024-02-16

16 Feb 17:05
Compare
Choose a tag to compare

e09e01b Bump vs code extension version for OSS release (Jane Olszewska)
005f87b Document common EDoc errors (O0006 and O0007) (Roberto Aloi)
b33b594 Set both include_dirs and include_path for rebar3 deps (#13) (Benedikt Reinartz)
c3ce494 Fix errors showing in ignored files (Jane Olszewska)
1b93a05 Enable OTP 26 packages for Mac, pin OTP to 26.2 (Roberto Aloi)
af58b26 Document limitation for project configuration (Roberto Aloi)
a09bf96 Fix title and description for site (Roberto Aloi)
710292d Enable sitemap for ELP website (Roberto Aloi)
0a0a929 Remove duplicated info from README, point to Documentation instead (Roberto Aloi)
7ef5d6c Restructure configuration documentation (Roberto Aloi)
a4b48c9 Create dedicated section for editors (Roberto Aloi)
067dba7 Add page dedicated to the CLI (Roberto Aloi)
3b53f20 Move ELP installation instruction to a separate page (Roberto Aloi)
455104a Add intro, explaining what ELP is (Roberto Aloi)
5b7ed46 BE: Rename MinDefDatabase to DefDatabase (Alan Zimmerman)
5774a8f BE: Rename MinInternDatabase to InternDatabase (Alan Zimmerman)
1ba3cde Add rebar3 configuration instructions to configuration page (Alan Zimmerman)
0eec5b1 Add support for running tests interactively via lenses (Roberto Aloi)
1ce11ed Remove nested syntax errors (Alan Zimmerman)
daa5bfe BE: rename convert parameter for clarity (Alan Zimmerman)
4955bdb Introduce open_interactive command (Roberto Aloi)
4e4ffda Helper method to compute workspace root (Roberto Aloi)
87a553f Refactor Buck2 Test Runnables (Roberto Aloi)
d29a47c Implement buck2_test method for runnable (Roberto Aloi)
a53b92c Rename buck2_args into buck2_test_args (Roberto Aloi)
d6ec224 BE: Distinguish between Syntax Error and Missing item when converting from tree-sitter (Alan Zimmerman)
6cb08a9 adding config instructions to the web site (Alan Zimmerman)
cb69b75 Fill out P1711 in the error index (Alan Zimmerman)
32412bd Exclude callback functions from unreachable test case diagnostics (Roberto Aloi)
38f6018 Improve Syntax Error messages (Alan Zimmerman)
15e9ca7 BE: remove @generated tag from diagnostics.rs (Alan Zimmerman)
3d33778 Add rebar profile to .elp.toml (Alan Zimmerman)
5aa272a BE: Move EqwalizerConfig structure into project_model::lib (Alan Zimmerman)
3cf1ce5 22/n Declarative Tests: Enable edoc diagnostics (Alan Zimmerman)
93d6822 21/n Declarative Tests: in fixture, use %%< to indicate start at left margin (Alan Zimmerman)
19b8942 20/n Declarative Tests: eqwalizer tests (Alan Zimmerman)
43733a3 19/n Declarative Tests: remove scratch_buffer annotations (Alan Zimmerman)
dee774e 18/n: Declarative Tests: Use a fresh temp dir for common test (Alan Zimmerman)
8f2324a 17/n Declarative Tests: drop-proof annotation test fixtures (Alan Zimmerman)
9f70e8f 16/n Declarative Tests: enable erlang service everywhere (Alan Zimmerman)
03ec2d1 15/n Declarative Tests: Test Fixture: dump full fidelity to temp dir (Alan Zimmerman)
55d0d41 13/n Declarative Tests: Introduce a test Builder (Alan Zimmerman)
f59a0cc 12/n Declarative Tests: Do not populate ebin dir in test fixture (Alan Zimmerman)
12a841c 11/n Declarative Tests: prevent build info being deleted prematurely in tests (Alan Zimmerman)
b8b0e0d 10/n Declarative Tests: rename temp_dir::TestDir to temp_dir::TempDir (Alan Zimmerman)
4b0e687 9/n Declarative Tests: make a copy of RA testdir.rs as temp_dir.rs (Alan Zimmerman)

2024-02-07

07 Feb 10:18
Compare
Choose a tag to compare

f98031c Bump vscode extension version for imminent release (Alan Zimmerman)
5e0e8a6 Update READMEs to remove references to mini-elp (Victor Lanvin)
b4905f9 8/n Declarative Tests: Initial Eqwalizer foundations (Alan Zimmerman)
c199c1f 7/n Declarative Tests: move calculation of eqwalizer per-file diagnostics to Analysis (Alan Zimmerman)
eaf7c3e 6/n Declarative Tests: WithFixture::with_many_files return DiagnosticsEnabled (Alan Zimmerman)
07ffa8c 5/n Declarative Tests: action '//- common_test' for test fixture (Alan Zimmerman)
5b2375d 4/n Declarative Tests: fixture::position returns DiagnosticsEnabled (Alan Zimmerman)
100466b 3/n Declarative Tests: make Project::as_json() (Alan Zimmerman)
292a087 Remove noise from logs due to incorrect BUCK files (Roberto Aloi)
a577261 use static instead of alloc every time (Roman Perehonchuk)
3944c39 2/n Declarative Tests: Add DiagnosticsEnabled to return of WithFixture::with_position (Alan Zimmerman)
fb4e38e BE: 2/2 Remove unnecessary sema parameters (Alan Zimmerman)
769160e BE: 1/2 put a Semantic field into InFunctionClauseBody (Alan Zimmerman)
069c1b9 1/n Declarative Tests: Add meta info to tests for enabled diagnostic sources (Alan Zimmerman)
8d50cbd add src dir to project model only if it has erlang file inside (Roman Perehonchuk)
1b7fdd8 make project-info more informative (Roman Perehonchuk)
6404d64 Simplify spec handling for functions (Michał Muskała)
b493c15 Simplify insert_function (Michał Muskała)
0efa33e Update application_env to pick up map keys (Alan Zimmerman)
c07e9cf BE Add Body::lookup_map_path (Alan Zimmerman)
d3d012d Ensure elp build-info can load and then dump a json file. (Alan Zimmerman)
edd13f8 BE: simplify Project.deps_ebins() (Alan Zimmerman)
50e7e64 address feedback on OTP project apps (Alan Zimmerman)
d24f0f4 build-info command dumps json (Alan Zimmerman)
abe5c07 BE: Add From<> instances to AnyExprXXX enums (Alan Zimmerman)
02d1852 Rename Ctx -> CtxKind, Args -> Ctx (Roberto Aloi)
bd6e65d Include ctx in Args, introduce Dialyzer context (Roberto Aloi)
ef23ffd Improve function completions in wild attributes (Roberto Aloi)
9e64849 Increase CT Info timeout to 10s (Roberto Aloi)
cdbad3d BE: Improve tree_print (Alan Zimmerman)
b5bc5b6 BE: move make_build_info from project_model::buck to project_model::lib (Alan Zimmerman)
a745df3 Introduce CannotEvaluateCTCallbacks diagnostic (Roberto Aloi)
6aa6f75 Enable function completions after ?MODULE: (Roberto Aloi)
e8caf18 Add L1309 to docs (Victor Lanvin)
5a58865 Unused record field (Michał Muskała)
1d91244 Location option is unused (Michał Muskała)
1a50ecf Update W00111 doc (Ayoub Mansar)
65e8851 DefMap::get_functions_in_scope to return Erlang functions (Jane Olszewska)
2c14ff4 Read specified build info config file (Alan Zimmerman)
72d4997 CLI project loading: allow --project to specify a JSON file (Alan Zimmerman)
2a8ce1d BE: Add ElpConfig.buck_enabled() (Alan Zimmerman)
2d794dd Exclude extraneous macro completions (Roberto Aloi)
c6e510e Do not always short-circuit completions while computing macros (Roberto Aloi)
278855b unused header detects record name in macro RHS (Alan Zimmerman)
3990281 Address feedback:clean up stray comments, rename apps to non_otp_apps (Alan Zimmerman)

2024-01-29

29 Jan 16:03
Compare
Choose a tag to compare

dec9317 Bump vscode package version for imminent release (Alan Zimmerman)
da3f878 fix: show edoc assist on top level functions of modules with edoc comment (Jane Olszewska)
906fd1d Do not produce signature help when cursor is outside of args range (Roberto Aloi)
c3101b8 BE: fix typo in rebar3 build_info fail error message (Alan Zimmerman)
2e3bbb8 6/n migrating project app data into Project.apps: Static (Alan Zimmerman)
e46459c Fix buck defaults so tests can pass (Alan Zimmerman)
39f82ab W00019 do not report on macro constant (Alan Zimmerman)
50e6468 BE: Make tests more robust for local(Mac) testing (Alan Zimmerman)
a38f872 BE: Use expect test for manifest checks (Alan Zimmerman)
d5f3107 5/n migrating project app data into Project.apps: Buck (Alan Zimmerman)
4001dc0 4/n migrating project app data into Project.apps: Rebar (Alan Zimmerman)
db8b43f 3/n Add rebar includes outside RebarProject::new (Alan Zimmerman)
8df24cc 2/n migrating project app data into Project.apps : Otp (Alan Zimmerman)
0e04513 1/n migrating project app data into Project.apps (Alan Zimmerman)
5acca40 remove ProjectModelError::InvalidBuildInfoJson (Alan Zimmerman)
1b2dc26 Remove un-necessary parameter x (Roberto Aloi)
aa7cac6 Disable tests that require buck if not configured (Alan Zimmerman)
593b7aa Use .elp.toml location for discovering non-buck config (Alan Zimmerman)
ee013ce Do not attempt buck configuration if it is explicitly disabled (Alan Zimmerman)
ceff1cf Simplify logic around disable_experimental (Roberto Aloi)
c2e228b Merge DiagnosticsConfig and ErlangServiceDiagnosticsConfig (Roberto Aloi)
fc16ce2 Generalize force-warn-missing-spec into a compiler_options argument (Roberto Aloi)
55f33f7 Fix typo in analysis name (Roberto Aloi)
98806f0 Consistently use DiagnosticsConfig::default method (Roberto Aloi)
8d0e4bd Add ability to force warn_missing_spec_all option (Roberto Aloi)
e17cfd2 Fix bug in statement_range (Daniel Gorin)
1f08471 Separate out discovering ELP config and buck (Alan Zimmerman)
80191f4 Add function discover alternate project configs in .elp.toml dir (Alan Zimmerman)
8ead559 Put Eqwalizer config into discovered Project (Alan Zimmerman)
1d57136 Explictly return ElpConfig and Manifest from project discovery (Alan Zimmerman)
95cd3cb BE: fix warning from rust 1.75.0 (Alan Zimmerman)
b02d5b1 Enable buck feature in project_model by default (Alan Zimmerman)
ce303d2 Add meta info to test fixture to invoke erlang_service (Alan Zimmerman)
3ce6703 Spec completion to provide spec stub not name slash arity (Alan Zimmerman)
a968cd6 Completion: move ancillary calcs into name_arity_to_call_completion (Alan Zimmerman)
d8ceb73 Completion: move name_arity_to_call_completion to helpers module (Alan Zimmerman)
d6a893f Report parse errors when reading .elp.toml (Alan Zimmerman)
b20ec97 Move ElpConfig from buck.rs to project_model lib.rs (Alan Zimmerman)
c768196 Use ELP_CONFIG_FILE and BUILD_INFO_FILE constants (Alan Zimmerman)
98ca676 Remove non-offset ranges (Michał Muskała)
1b9236a Add installation instructions for Emacs (Roberto Aloi)

2024-01-18

18 Jan 15:12
Compare
Choose a tag to compare

f77b164 Bump extension version for imminent release (Alan Zimmerman)
653fe5d Add support for code coverage in the IDE (Roberto Aloi)
eb41a24 Fix code for undefined_include diagnostic (from L1500 to W0020), add error index entry (Roberto Aloi)
6c83248 Minor cleanup (Roberto Aloi)
05ef2b7 Use improved parameter names for signature help, too (Roberto Aloi)
e9096b9 Do not use args from spec if they are all generated (Roberto Aloi)
ac5ac6d Move extraction arg from first clause to FunctionDef (Roberto Aloi)
a49cd19 Use arg names from specs when available for auto-completion (Roberto Aloi)
abbcc08 Add ability to lookup spec by id in def_map (Roberto Aloi)
459c4f1 Move arg name extraction to SpecDef (Roberto Aloi)
bd9ddde BE: remove TextRange from LabeledDiagnostics (Alan Zimmerman)
d3336d7 elp lint use DiagnosticCollection (Alan Zimmerman)
7c407dc Remove parameter for LabeledDiagnostics (Alan Zimmerman)
ed1226a parse-elp use DiagnosticCollection (Alan Zimmerman)
8935a55 move DiagnosticsCollection into ide crate (Alan Zimmerman)
bc01706 Move conversion of diagnostics to LSP into server.rs (Alan Zimmerman)
3891905 server: store ide Diagnostics not lsp_types ones for ct diagnostics (Alan Zimmerman)
c80199b server: store ide Diagnostics not lsp_types ones for edoc disgnostics (Alan Zimmerman)
0e9dd3f server: store ide Diagnostics not lsp_types ones for eqwalizer diagnostics (Alan Zimmerman)
19db1d3 Introduce DiagnosticCode::Eqwalizer (Alan Zimmerman)
ed18e99 server: store ide Diagnostics not lsp_types ones for native and erlang_service (Alan Zimmerman)
4279d70 BE: Remove misleading document reference (Alan Zimmerman)
df4197c Explicitly use qualified lsp_types::Diagnostic in elp::diagnostics.rs (Alan Zimmerman)
4842bd0 BE Remove unused DiagnosticSource struct (Alan Zimmerman)
2989b6f BE: Make Diagnostic.category an FxHashSet not HashSet (Alan Zimmerman)
f6e000e Respect --include-generated flag for Erlang diagnostics in parse-elp command (Roberto Aloi)
0f65ac9 upgrade follow-redirects version to >1.15.4 for resolving T174691468 (Xiaotian Wu)
9159f00 Explicitly use qualified lsp_types::Diagnostic in server.rs and snapshot.rs (Alan Zimmerman)
ec8edbd rename Diagnostics.uri to Diagnostics.code_doc_uri (Alan Zimmerman)
d1396e5 BE: remove unused var warning (Alan Zimmerman)
911bf64 Add JSON format for elp parse-elp command (Roberto Aloi)
8200458 improve spec autocompletion (Alan Zimmerman)
df32d52 BE: get rid of completion::Args::db (Alan Zimmerman)
dd35b8c Auto-complete for functions takes parentheses into account (Roberto Aloi)
e84bd54 project loading fix (Roman Perehonchuk)
c048082 format_code_in_doc_comments=true (Stiopa Koltsov)
f4f4f03 Do not report simplification rule diagnostics on generated files (Alan Zimmerman)
773a072 Increase IPC write timeout (Victor Lanvin)
f1de4c3 Fix spelling in feature-gallery (Greg Cowan)
ffbdba6 Fix algebraic rule for [] -- X (Daniel Gorin)
80040ca Remove trailing newline for unused_include fix (Alan Zimmerman)
26437e6 Make L1500(unused_include) conservative wrt attributes (Alan Zimmerman)
926c661 Add initial L0003 page (Alan Zimmerman)
6bbf141 Revert IPC protocol merge (Victor Lanvin)
fa604c4 test_utils handling improvements (Roman Perehonchuk)
309b2e4 add otp to include path (Roman Perehonchuk)
7be1fc1 Add diagnostic for simplifying expressions using algebraic identities (Daniel Gorin)
7072a52 BE: Rename FormIdx::Function to FormIdxFunctionClause (Alan Zimmerman)
3ea425e Remove function_id/form_id arguments from InFunctionClauseBody folds (Daniel Gorin)
fb9cc12 BE: add --ignore-fix-only to only apply elp:ignore fixes (Alan Zimmerman)
210ad54 BE: Rename hir::FunctionId to hir::FunctionClauseId (Alan Zimmerman)
304ebea BE: Rename Function.function_ids to Function.function_clause_ids (Alan Zimmerman)
fdd57ea Add ability to ignore application_env linter violations (Roberto Aloi)
64637ad BE: Simplify parameter passing in lint_cli (Alan Zimmerman)
a18e1b0 process elp lint --include-tests (Alan Zimmerman)
2391fdc Add --include-tests option to elp lint as a no-op (Alan Zimmerman)
2442c91 BE: remove --line-from and --line-to from elp lint (Alan Zimmerman)

2024-01-17

17 Jan 16:40
Compare
Choose a tag to compare

f77b164 Bump extension version for imminent release (Alan Zimmerman)
653fe5d Add support for code coverage in the IDE (Roberto Aloi)
eb41a24 Fix code for undefined_include diagnostic (from L1500 to W0020), add error index entry (Roberto Aloi)
6c83248 Minor cleanup (Roberto Aloi)
05ef2b7 Use improved parameter names for signature help, too (Roberto Aloi)
e9096b9 Do not use args from spec if they are all generated (Roberto Aloi)
ac5ac6d Move extraction arg from first clause to FunctionDef (Roberto Aloi)
a49cd19 Use arg names from specs when available for auto-completion (Roberto Aloi)
abbcc08 Add ability to lookup spec by id in def_map (Roberto Aloi)
459c4f1 Move arg name extraction to SpecDef (Roberto Aloi)
bd9ddde BE: remove TextRange from LabeledDiagnostics (Alan Zimmerman)
d3336d7 elp lint use DiagnosticCollection (Alan Zimmerman)
7c407dc Remove parameter for LabeledDiagnostics (Alan Zimmerman)
ed1226a parse-elp use DiagnosticCollection (Alan Zimmerman)
8935a55 move DiagnosticsCollection into ide crate (Alan Zimmerman)
bc01706 Move conversion of diagnostics to LSP into server.rs (Alan Zimmerman)
3891905 server: store ide Diagnostics not lsp_types ones for ct diagnostics (Alan Zimmerman)
c80199b server: store ide Diagnostics not lsp_types ones for edoc disgnostics (Alan Zimmerman)
0e9dd3f server: store ide Diagnostics not lsp_types ones for eqwalizer diagnostics (Alan Zimmerman)
19db1d3 Introduce DiagnosticCode::Eqwalizer (Alan Zimmerman)
ed18e99 server: store ide Diagnostics not lsp_types ones for native and erlang_service (Alan Zimmerman)
4279d70 BE: Remove misleading document reference (Alan Zimmerman)
df4197c Explicitly use qualified lsp_types::Diagnostic in elp::diagnostics.rs (Alan Zimmerman)
4842bd0 BE Remove unused DiagnosticSource struct (Alan Zimmerman)
2989b6f BE: Make Diagnostic.category an FxHashSet not HashSet (Alan Zimmerman)
f6e000e Respect --include-generated flag for Erlang diagnostics in parse-elp command (Roberto Aloi)
0f65ac9 upgrade follow-redirects version to >1.15.4 for resolving T174691468 (Xiaotian Wu)
9159f00 Explicitly use qualified lsp_types::Diagnostic in server.rs and snapshot.rs (Alan Zimmerman)
ec8edbd rename Diagnostics.uri to Diagnostics.code_doc_uri (Alan Zimmerman)
d1396e5 BE: remove unused var warning (Alan Zimmerman)
911bf64 Add JSON format for elp parse-elp command (Roberto Aloi)
8200458 improve spec autocompletion (Alan Zimmerman)
df32d52 BE: get rid of completion::Args::db (Alan Zimmerman)
dd35b8c Auto-complete for functions takes parentheses into account (Roberto Aloi)
e84bd54 project loading fix (Roman Perehonchuk)
c048082 format_code_in_doc_comments=true (Stiopa Koltsov)
f4f4f03 Do not report simplification rule diagnostics on generated files (Alan Zimmerman)
773a072 Increase IPC write timeout (Victor Lanvin)
f1de4c3 Fix spelling in feature-gallery (Greg Cowan)
ffbdba6 Fix algebraic rule for [] -- X (Daniel Gorin)
80040ca Remove trailing newline for unused_include fix (Alan Zimmerman)
26437e6 Make L1500(unused_include) conservative wrt attributes (Alan Zimmerman)
926c661 Add initial L0003 page (Alan Zimmerman)
6bbf141 Revert IPC protocol merge (Victor Lanvin)
fa604c4 test_utils handling improvements (Roman Perehonchuk)
309b2e4 add otp to include path (Roman Perehonchuk)
7be1fc1 Add diagnostic for simplifying expressions using algebraic identities (Daniel Gorin)
7072a52 BE: Rename FormIdx::Function to FormIdxFunctionClause (Alan Zimmerman)
3ea425e Remove function_id/form_id arguments from InFunctionClauseBody folds (Daniel Gorin)
fb9cc12 BE: add --ignore-fix-only to only apply elp:ignore fixes (Alan Zimmerman)
210ad54 BE: Rename hir::FunctionId to hir::FunctionClauseId (Alan Zimmerman)
304ebea BE: Rename Function.function_ids to Function.function_clause_ids (Alan Zimmerman)
fdd57ea Add ability to ignore application_env linter violations (Roberto Aloi)
64637ad BE: Simplify parameter passing in lint_cli (Alan Zimmerman)
a18e1b0 process elp lint --include-tests (Alan Zimmerman)
2391fdc Add --include-tests option to elp lint as a no-op (Alan Zimmerman)
2442c91 BE: remove --line-from and --line-to from elp lint (Alan Zimmerman)