aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Add/Fix macro expansion profilingJonas Schievink2020-11-271-2/+4
|
* Fix the profiling stringKirill Bulatov2020-11-271-1/+1
| | | Co-authored-by: Laurențiu Nicola <[email protected]>
* Profile completions betterKirill Bulatov2020-11-278-0/+21
|
* Merge #6648bors[bot]2020-11-271-9/+18
|\ | | | | | | | | | | | | | | 6648: Avoid allocation in ast::String::value if the string needs no unescaping r=lnicola a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * Avoid allocation in ast::String::value if the string needs no unescapingLukas Wirth2020-11-271-9/+18
| |
* | Merge #6586bors[bot]2020-11-271-8/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | 6586: Don't call a closure a function in the infer_function_return_type assist label r=lnicola a=Veykril `Add this function's return type` becomes `Add this closure's return type` for closures. This makes it more obvious that we are indeed planning on modifying the closure and not its containing function. Co-authored-by: Lukas Wirth <[email protected]>
| * | Don't call a closure function in infer_function_return_type labelLukas Wirth2020-11-171-8/+16
| | |
* | | Don't use raw identifiersLukas Wirth2020-11-261-2/+2
| |/ |/|
* | Merge #6635bors[bot]2020-11-262-14/+46
|\ \ | | | | | | | | | | | | | | | | | | | | | 6635: Complete struct in irrefutable let r=Veykril a=Veykril Fixes #6210 Co-authored-by: Lukas Wirth <[email protected]>
| * | Complete struct in irrefutable letLukas Wirth2020-11-262-14/+46
| | |
* | | Simplify error formattingLaurențiu Nicola2020-11-262-8/+5
| | |
* | | Remove unused importLaurențiu Nicola2020-11-261-1/+1
| | |
* | | Don't store `SyntaxNodePtr` in `CrateDefMap`Jonas Schievink2020-11-262-8/+7
| | | | | | | | | | | | It is volatile across reparses and makes incrementality worse.
* | | Test def map invalidation with #[cfg] below changeJonas Schievink2020-11-261-0/+6
| | |
* | | Implement `Display` for macro expansion errorsJonas Schievink2020-11-262-0/+27
| | |
* | | Use `ExpandResult` instead of `MacroResult`Jonas Schievink2020-11-265-56/+42
| | | | | | | | | | | | `MacroResult` is redundant
* | | Use named fields in `ExpandResult`Jonas Schievink2020-11-265-29/+39
| | |
* | | Publish diagnostics on file openJonas Schievink2020-11-261-8/+9
| | | | | | | | | | | | | | | Diagnostics are sometimes only showing up when typing. This should fix that.
| | |
| \ \
*-. \ \ Merge #6614 #6632bors[bot]2020-11-267-35/+117
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6614: Improve autoimports on completion speed r=matklad a=SomeoneToIgnore Presumably closes https://github.com/rust-analyzer/rust-analyzer/issues/6594 May help https://github.com/rust-analyzer/rust-analyzer/issues/6612 * Ignore modules eaferly * Do less completion string rendering 6632: Pin cargo_metadata r=matklad a=kjeremy See: https://github.com/oli-obk/cargo_metadata/pull/142#issuecomment-733653275 Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: kjeremy <[email protected]>
| | * | | Pin cargo_metadatakjeremy2020-11-253-3/+3
| |/ / / |/| | |
| * | | Improve autoimports on completion speedKirill Bulatov2020-11-244-32/+114
| | | | | | | | | | | | | | | | | | | | * Ignore modules eaferly * Do less completion string rendering
* | | | Document experimental completionsKirill Bulatov2020-11-241-0/+7
| | | |
* | | | Gate autoimports begind experimental completions flagKirill Bulatov2020-11-243-1/+8
| | | |
* | | | Rename `parse_macro` to `parse_macro_expansion`Jonas Schievink2020-11-246-9/+9
| | | | | | | | | | | | | | | | This does not parse macros, it expands a macro and parses the *result*
* | | | hir_expand::db: reduce fn visibilityJonas Schievink2020-11-241-15/+9
| | | |
* | | | Remove fixed FIXME, propagate errors betterJonas Schievink2020-11-241-6/+2
| |/ / |/| |
* | | hir_expand: propagate expansion errorsJonas Schievink2020-11-244-46/+91
| | |
* | | Check structs for match exhaustivenessLukas Wirth2020-11-241-31/+120
| | |
* | | Add middle ellipsis missing arm textLukas Wirth2020-11-241-0/+14
| | |
* | | Handle ellipsis in tuple patterns in match exhaustiveness checkingLukas Wirth2020-11-241-42/+41
| | |
* | | Merge #6618bors[bot]2020-11-242-12/+129
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6618: Properly infer tuple patterns when encountering ellipsis r=Veykril a=Veykril We basically just split the subpatterns into two halves when the ellipsis is present and then offset the latter half to account for the ignored bindings. Fixes #6616 Co-authored-by: Lukas Wirth <[email protected]>
| * | | Properly infer tuple struct patterns when encountering ellipsisLukas Wirth2020-11-242-9/+70
| | | |
| * | | Properly infer tuple patterns when encountering ellipsisLukas Wirth2020-11-242-8/+64
| | | |
* | | | New lsp-types to fix versioningkjeremy2020-11-242-6/+17
| | | | | | | | | | | | | | | | Fixes #6603
* | | | Avoid string allocations in ignore_testLaurențiu Nicola2020-11-241-1/+1
|/ / /
* | | Merge #6610bors[bot]2020-11-241-7/+76
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6610: add 'Re-enable this test' assist r=SomeoneToIgnore a=jakobhellermann The `Ignore this test` assist previously allowed ignoring multiple times, each time adding a `#[ignore]` attribute. This PR instead shows an assist to undo the ignoring. Co-authored-by: Jakob Hellermann <[email protected]>
| * | | add 'Re-enable this test' assistJakob Hellermann2020-11-231-7/+76
| |/ /
* | | Merge #6613bors[bot]2020-11-241-1/+7
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 6613: Don't assume DidChangeTextDocument paths exist r=SomeoneToIgnore a=mjibson Fixes #5933 Co-authored-by: Matt Jibson <[email protected]>
| * | Don't assume DidChangeTextDocument paths existMatt Jibson2020-11-231-1/+7
| | | | | | | | | | | | Fixes #5933
* | | Minor, import styleAleksey Kladov2020-11-231-6/+5
| | |
* | | Parse unsafe extern blockDavid Tolnay2020-11-233-3/+25
|/ /
* | Don't wrap parens around expr in remove_dbg assist if its in conditionsLukas Wirth2020-11-201-7/+64
| |
* | Fill code_description for rust_analyzer diagnosticsLukas Wirth2020-11-181-1/+8
| |
* | update diagnostics test_data with code_description changesLukas Wirth2020-11-186-6/+108
| |
* | Link clippy lint codes in diagnosticsLukas Wirth2020-11-181-7/+22
| |
* | Link rustc error codes in diagnosticsLukas Wirth2020-11-181-3/+19
| |
* | Merge #6553bors[bot]2020-11-1721-96/+368
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6553: Auto imports in completion r=matklad a=SomeoneToIgnore ![completion](https://user-images.githubusercontent.com/2690773/99155339-ae4fb380-26bf-11eb-805a-655b1706ce70.gif) Closes https://github.com/rust-analyzer/rust-analyzer/issues/1062 but does not handle the completion order, since it's a separate task for https://github.com/rust-analyzer/rust-analyzer/issues/4922 , https://github.com/rust-analyzer/rust-analyzer/issues/4922 and maybe something else. 2 quirks in the current implementation: * traits are not auto imported during method completion If I understand the current situation right, we cannot search for traits by a **part** of a method name, we need a full name with correct case to get a trait for it. * VSCode (?) autocompletion is not as rigid as in Intellij Rust as you can notice on the animation. Intellij is able to refresh the completions on every new symbol added, yet VS Code does not query the completions on every symbol for me. With a few debug prints placed in RA, I've observed the following behaviour: after the first set of completion suggestions is received, next symbol input does not trigger a server request, if the completions contain this symbol. When more symbols added, the existing completion suggestions are filtered out until none are left and only then, on the next symbol it queries for completions. It seems like the only alternative to get an updated set of results is to manually retrigger it with Esc and Ctrl + Space. Despite the eerie latter bullet, the completion seems to work pretty fine and fast nontheless, but if you have any ideas on how to make it more smooth, I'll gladly try it out. Co-authored-by: Kirill Bulatov <[email protected]>
| * | Actually enable eager completionKirill Bulatov2020-11-171-1/+1
| | |
| * | Avoid turning completion objects into buildersKirill Bulatov2020-11-169-84/+117
| | |
| * | Remove query aliasesKirill Bulatov2020-11-163-10/+10
| | |