aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Don't unnecessarily unnest imports for import insertionLukas Wirth2020-09-254-45/+203
| | | | |
* | | | | Merge #6076bors[bot]2020-09-252-5/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6076: Update chalk to 0.28.0 r=matklad a=vandenheuvel Co-authored-by: Bram van den Heuvel <[email protected]>
| * | | | | Update chalk to 0.28.0Bram van den Heuvel2020-09-252-5/+11
| | | | | |
* | | | | | Merge #6055bors[bot]2020-09-251-0/+5
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6055: Add ok postfix completion r=matklad a=mullr Wrapping values in `Ok(...)` is so pervasive that it seems reasonable for it to have its own postfix completion. Co-authored-by: Russell Mull <[email protected]>
| * | | | | Cargo fmtRussell Mull2020-09-221-9/+2
| | | | | |
| * | | | | Add ok postfix completionRussell Mull2020-09-221-0/+12
| | | | | |
* | | | | | Merge #6072bors[bot]2020-09-252-6/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6072: Cleanup unintended unresolved reference in syntax higlighting test r=matklad a=Nashenas88 Fixes the issue brought up here https://github.com/rust-analyzer/rust-analyzer/pull/5957#discussion_r486625707 cc @jonas-schievink Co-authored-by: Paul Daniel Faria <[email protected]>
| * | | | | | Cleanup unintended unresolved reference in syntax higlighting testPaul Daniel Faria2020-09-242-6/+6
| | |/ / / / | |/| | | |
* | | | | | Bump smol_str from 0.1.16 to 0.1.17Jean SIMARD2020-09-243-7/+10
| | | | | |
* | | | | | Merge #6056bors[bot]2020-09-241-0/+12
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6056: Add dbgr postfix completion r=matklad a=lnicola Expanding to `dbg!(&e)`. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | Add dbgr postfix completionLaurențiu Nicola2020-09-221-0/+12
| | | | | |
* | | | | | Merge #5846bors[bot]2020-09-243-8/+161
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5846: Add references to fn args during completion r=matklad a=adamrk When completing a function call, if there is an argument taken as a ref or mut ref which matches the name and type of a variable in scope, we will insert a `&` or `&mut` when filling in the function arguments. This addresses https://github.com/rust-analyzer/rust-analyzer/issues/5449. E.g. ```rust fn foo(x: &i32) {} fn main() { let x = 5; foo # completing foo here generates `foo(&x)` now instead of `foo(x)` } ``` Co-authored-by: adamrk <[email protected]>
| * | | | | | Make unify private againadamrk2020-09-022-2/+2
| | | | | | |
| * | | | | | Trim mut keyword in fn completionadamrk2020-09-021-1/+22
| | | | | | |
| * | | | | | Remove exposing unificationadamrk2020-09-024-23/+1
| | | | | | |
| * | | | | | Collect locals in contextadamrk2020-09-022-12/+15
| | | | | | |
| * | | | | | Add back Param structadamrk2020-09-012-3/+13
| | | | | | |
| * | | | | | Add references to fn args during completionadamrk2020-08-305-10/+151
| | | | | | |
* | | | | | | lsp-types 0.82kjeremy2020-09-232-8/+8
| |_|/ / / / |/| | | | |
* | | | | | Apply suggestions from code reviewAleksey Kladov2020-09-211-5/+5
| | | | | | | | | | | | | | | | | | Co-authored-by: Laurențiu Nicola <[email protected]>
* | | | | | Document AstTransformationAleksey Kladov2020-09-211-0/+28
| | | | | |
* | | | | | Document SemanticScopeAleksey Kladov2020-09-211-0/+19
| |_|/ / / |/| | | |
* | | | | Merge #6043bors[bot]2020-09-213-9/+51
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6043: Allow missing trait members assist without needing braces r=matklad a=M-J-Hooper Assist to complete missing items when implementing a trait does not appear without impl def braces (see #5144 ). The reason behind this was that this assist is based on `ast::AssocItemList` which only appears in the AST after the braces are added to the impl def. Instead of relying on and replacing the item list, we now instead replace the entire `ast::Impl` and add the item list if its missing. Co-authored-by: Matt Hooper <[email protected]>
| * | | | | Rename impl edit method to be more explicitMatt Hooper2020-09-212-2/+2
| | | | | |
| * | | | | Added test for impl member assist when impl def is missing bracesMatt Hooper2020-09-211-0/+19
| | | | | |
| * | | | | Replace entire impl def instead of only associated items for missing impl ↵Matt Hooper2020-09-211-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | member assist (if braces are missing from an impl def then there is no associated item list in the AST)
| * | | | | Add make utility for empty associated item listsMatt Hooper2020-09-211-0/+4
| | | | | |
| * | | | | Add edit utility for adding an associated item list to a impl defMatt Hooper2020-09-211-0/+16
| | | | | |
* | | | | | Merge #6018bors[bot]2020-09-202-8/+15
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6018: Correct project_root path for ProjectJson. r=jonas-schievink a=woody77 It was already the folder containing the rust-project.json file, not the file itself. This also removes the Option-ness of it, since it's now an infallible operation to set the member value. Co-authored-by: Aaron Wood <[email protected]>
| * | | | | | Add rustdoc for ProjectJson methodsAaron Wood2020-09-201-0/+10
| | | | | | |
| * | | | | | Correct project_root path for ProjectJson.Aaron Wood2020-09-162-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was already the folder containing the rust-project.json file, not the file itself.
* | | | | | | Merge #6036bors[bot]2020-09-181-4/+7
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6036: Don't re-read open files from disk when reloading a workspace r=kjeremy a=lnicola Fixes #5742 Fixes #4263 or so I hope. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | | | Don't re-read open files from disk when reloading a workspaceLaurențiu Nicola2020-09-181-4/+7
| | |_|_|/ / / | |/| | | | |
* | | | | | | Log failure to load crate root fileJonas Schievink2020-09-181-1/+7
| |_|/ / / / |/| | | | |
* | | | | | Support active parameters at the per-signature levelkjeremy2020-09-182-4/+10
| |_|_|/ / |/| | | | | | | | | | | | | | Update crates
* | | | | Rename `CustomDerive` to `ProcMacro`Jonas Schievink2020-09-186-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | It handles fn-like macros too, and will handle attribute macros in the future
* | | | | Invert condition to unindent codeJonas Schievink2020-09-181-158/+157
| | | | |
* | | | | Use `log::error!` in a few more placesJonas Schievink2020-09-172-1/+8
| | | | |
* | | | | Give `ExternCrate` a `Name`, not a `ModPath`Jonas Schievink2020-09-175-18/+11
| | | | |
* | | | | Merge #6017bors[bot]2020-09-172-4/+45
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6017: Don't return any TextEdit if formatting is unchanged r=jonas-schievink a=cuviper I found that `textDocument/formatting` was always returning a full `TextEdit` replacement, even when there are no changes, which caused Vim (w/ vim-lsp) to always indicate a modified buffer after formatting. We can easily compare whether there were changes and return `null` if not, so the client knows there's nothing to do. Co-authored-by: Josh Stone <[email protected]>
| * | | | | Don't return any TextEdit if formatting is unchangedJosh Stone2020-09-162-4/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found that `textDocument/formatting` was always returning a full `TextEdit` replacement, even when there are no changes, which caused Vim (w/ vim-lsp) to always indicate a modified buffer after formatting. We can easily compare whether there were changes and return `null` if not, so the client knows there's nothing to do.
* | | | | | Merge #6016bors[bot]2020-09-1711-77/+445
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6016: Emit diagnostics for unresolved imports and extern crates r=jonas-schievink a=jonas-schievink AFAIK, we don't have any major bugs in name resolution that would cause a lot of false positives here (except procedural attribute macro support and some rare issues around `#[path]` on module files), so these are *not* marked as experimental diagnostics right now. I noticed that diagnostics in a file sometimes don't get displayed after opening, but require some edit to be performed. This seems like a preexisting issue though. Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Don't diagnose imports whose base crate is missingJonas Schievink2020-09-172-17/+64
| | | | | |
| * | | | | Add annotation-based nameres diagnostic testsJonas Schievink2020-09-164-38/+150
| | | | | |
| * | | | | Update testsJonas Schievink2020-09-161-5/+57
| | | | | |
| * | | | | Track import sources and emit diagnosticsJonas Schievink2020-09-162-21/+60
| | | | | |
| * | | | | Leave extern crate items unresolved if they areJonas Schievink2020-09-161-1/+5
| | | | | |
| * | | | | Add diagnostic types for unresolved crates/importsJonas Schievink2020-09-163-19/+128
| | | | | |
| * | | | | Store `Import` indices for later reconstructionJonas Schievink2020-09-163-4/+9
| |/ / / /
* | | | | Merge #5989bors[bot]2020-09-165-103/+292
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5989: Rewrite import merging r=jonas-schievink a=Veykril Rewrites how import merging is being handled. It is now a recursive function to properly handle merging of intermediate levels in the import trees. With this ordering the imports is also now possible tho it doesn't quite order it the same way as `rustfmt` does yet, namely it orders lowercase identifiers after uppercase identifiers as that is the standard character order that rust uses. This also fixes a few weird behaviors that were visible in some of the `replace_qualified_name_with_use.rs` tests. This really took longer than I was hoping for, fighting with import trees is quite the exhausting task 😅 Co-authored-by: Lukas Wirth <[email protected]>