aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Fix indentation of inserted use statementsFlorian Diebold2020-10-242-37/+135
|
*-. Merge #6251 #6310bors[bot]2020-10-2311-32/+464
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6251: Semantic Highlight: Add Callable modifier for variables r=matklad a=GrayJack This PR added the `HighlightModifier::Callable` variant and assigned it to variables and parameters that are fn pointers, closures and implements FnOnce trait. This allows to colorize these variables/parameters when used in call expression. 6310: Rewrite algo::diff to support insertion and deletion r=matklad a=Veykril This in turn also makes `algo::diff` generate finer diffs(maybe even minimal diffs?) as insertions and deletions aren't always represented as as replacements of parent nodes now. Required for #6287 to go on. Co-authored-by: GrayJack <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>
| | * algo::diff testsLukas Wirth2020-10-222-4/+327
| | |
| | * Rewrite algo::diff to support insertion and deletionLukas Wirth2020-10-224-25/+67
| | |
| * | Add tests for callable modifierGrayJack2020-10-212-0/+38
| | |
| * | Add Callable modifier for variables that implements FnonceGrayJack2020-10-162-3/+24
| | |
| * | Add HighlightModifier::Callable and add it for localsGrayJack2020-10-164-0/+8
| | |
* | | Merge #6339bors[bot]2020-10-238-95/+215
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6339: Diagnose #[cfg]s in bodies r=matklad a=jonas-schievink This PR threads diagnostics through body lowering using the `BodySourceMap`, and emits `InactiveCode` diagnostics for expressions, statements, and match arms that are `#[cfg]`d out. Co-authored-by: Jonas Schievink <[email protected]>
| * | | Fix name of InactiveCode diagnosticJonas Schievink2020-10-231-1/+1
| | | |
| * | | Diagnose #[cfg]s in bodiesJonas Schievink2020-10-238-94/+214
| | | |
* | | | Merge #6336bors[bot]2020-10-231-7/+23
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6336: Improve Chalk debugging r=matklad a=flodiebold - add panic context for the trait goal if CHALK_DEBUG is set - print the Chalk program even if we're panicking - log goal/solution while TLS is still set Co-authored-by: Florian Diebold <[email protected]>
| * | | | Improve Chalk debuggingFlorian Diebold2020-10-231-7/+23
| |/ / / | | | | | | | | | | | | | | | | | | | | - add panic context for the trait goal if CHALK_DEBUG is set - print the Chalk program even if we're panicking - log goal/solution while TLS is still set
* / / / Complete variants when only enun name is typedAleksey Kladov2020-10-231-8/+62
|/ / / | | | | | | | | | | | | This allows the client to filter `Foo::Bar` when *either* `Foo` or `Bar` is typed.
* | | Merge #6335bors[bot]2020-10-232-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6335: Fix panic context r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix panic contextAleksey Kladov2020-10-232-5/+5
| | | |
* | | | Merge #6324bors[bot]2020-10-2314-140/+815
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6324: Improve #[cfg] diagnostics r=jonas-schievink a=jonas-schievink Unfortunately I ran into https://github.com/rust-analyzer/rust-analyzer/issues/4058 while testing this on https://github.com/nrf-rs/nrf-hal/, so I didn't see much of it in action yet, but it does seem to work. Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| * | | | cfg: move tests to separate fileJonas Schievink2020-10-234-208/+195
| | | | | | | | | | | | | | | | | | | | | | | | | that way we don't have to re-check the entire project when a test is changed
| * | | | Reorder itemsJonas Schievink2020-10-231-9/+9
| | | | |
| * | | | Use format_toJonas Schievink2020-10-231-4/+3
| | | | | | | | | | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Update crates/cfg/src/cfg_expr.rsJonas Schievink2020-10-221-1/+1
| | | | | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Emit better #[cfg] diagnosticsJonas Schievink2020-10-229-65/+124
| | | | |
| * | | | Fix typoJonas Schievink2020-10-222-1/+2
| | | | |
| * | | | Implement DNF-based `#[cfg]` introspectionJonas Schievink2020-10-224-2/+621
| | | | |
| * | | | Simplify cfg representationJonas Schievink2020-10-213-31/+41
| | | | |
* | | | | Insert ref for completionsadamrk2020-10-225-26/+132
| | | | |
* | | | | Merge #6326bors[bot]2020-10-221-1/+28
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6326: hide paramater inlay hints for cloned vars if applicable r=SomeoneToIgnore a=Veykril This causes `foo.clone()` parameters to be handled as if they were just `foo` parameters for inlay hint logic. Fixes #6315 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Hide paramater inlay hints for cloned vars if applicableLukas Wirth2020-10-221-1/+28
| | |_|/ | |/| |
* | | | Merge #6319bors[bot]2020-10-222-3/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6319: Properly identify camel cased acronyms as UpperCamelCase r=popzxc a=ArifRoktim This closes #6305. Co-authored-by: Arif Roktim <[email protected]>
| * | | | Properly identify camel cased acronyms as UpperCamelCaseArif Roktim2020-10-212-3/+34
| |/ / /
| | | |
| \ \ \
*-. \ \ \ Merge #6320 #6321bors[bot]2020-10-221-4/+24
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6320: Textmate grammar: prevent line comments from breaking block comments (closes #6281) r=matklad a=dustypomerleau Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6281. Previously, line comments were able to break block comments by essentially commenting out the closing `*/`, resulting in a never-ending comment. This PR splits block comments into a separate repository group to fix this problem. Since the comment scopes also include ignored parameters and inferred types, I've added the change proposed by @bnjjj in https://github.com/rust-analyzer/rust-analyzer/pull/6317, in order to close https://github.com/rust-analyzer/rust-analyzer/issues/6311 as well. 6321: Fix opening module documentation opening parent documentation instead r=matklad a=zacps The whole path/URL joining code is kind of ugly which is what led to this, but at the same time I don't really want to rewrite it right now... Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6286 Co-authored-by: Dusty Pomerleau <[email protected]> Co-authored-by: Zac Pullar-Strecker <[email protected]>
| | * | | | Fix opening module documentation opening parent documentation insteadZac Pullar-Strecker2020-10-221-4/+24
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | The whole path/URL joining code is kind of ugly which is what led to this, but at the same time I don't really want to rewrite it right now...
* | | | | Merge #6314bors[bot]2020-10-221-2/+40
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6314: generate assist respect cfg attributes r=matklad a=bnjjj close #6312 Co-authored-by: Benjamin Coenen <[email protected]>
| * | | | generate_impl assist respect cfg attributes #6312Benjamin Coenen2020-10-221-2/+40
| |/ / / | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | Merge #6307bors[bot]2020-10-213-2/+99
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6307: Add whitelist of safe intrinsics r=frazar a=frazar This PR should fix #5996, where intrinsic operations where all marked as unsafe. I'm rather new to this codebase, so I might be doing something *very* wrong. Please forgive me! In particular, I'm not sure how to "check that we are in extern `rust-intrinsics`" as mentioned [in this comment](https://github.com/rust-analyzer/rust-analyzer/issues/5996#issuecomment-709234802). Co-authored-by: Francesco Zardi <[email protected]>
| * | | Refactor is_intrinsic_fn_unsafe() and make it privateFrancesco Zardi2020-10-211-39/+42
| | | |
| * | | Move safe intrinsic testsFrancesco Zardi2020-10-212-20/+18
| | | |
| * | | Fix typo in commentFrancesco Zardi2020-10-211-1/+1
| | | |
| * | | Add whitelist of safe intrinsicsFrancesco Zardi2020-10-213-2/+98
| | | |
* | | | Update cratesJeremy Kolb2020-10-203-3/+3
| | | | | | | | | | | | | | | | This brings in a number of new dependencies though.
* | | | add completions for clippy lint in attributesBenjamin Coenen2020-10-204-132/+10
| | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | Merge #6256bors[bot]2020-10-203-0/+160
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6256: Assist: replace string with char r=bnjjj a=bnjjj close #6252 Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Coenen Benjamin <[email protected]>
| * | | | Update crates/assists/src/handlers/replace_string_with_char.rsCoenen Benjamin2020-10-201-1/+1
| | | | | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Assist: replace string with charBenjamin Coenen2020-10-202-8/+39
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | | replace_string_with_char #6252Benjamin Coenen2020-10-162-0/+129
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | | Merge #6172bors[bot]2020-10-206-24/+1090
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6172: Add qualify path assist r=matklad a=Veykril This implements a `qualify_path` assist which works quite similar to the `auto_import` assist but instead of adding imports to the file it well, qualifies the path. This PR also moves out the `AutoImportAssets` struct and functions from `auto_import` into a utils submodule as most of this is now shared between `auto_import` and `qualify_path`. Changes made to `AutoImportAssets` are solely in its `search_for_imports` function which now takes a prefixed parameter to discern between using `find_use_path_prefixed` and `find_use_path` as the former is the required behavior by `auto_import` and the latter by this assist. For missing imported traits instead of importing this will qualify the path with a trait cast as in: ```rust test_mod::TestStruct::TEST_CONST<|> ``` becomes ```rust <test_mod::TestStruct as test_mod::TestTrait>::TEST_CONST ``` and for trait methods ideally it would do the following: ```rust let test_struct = test_mod::TestStruct {}; test_struct.test_meth<|>od() ``` becomes ```rust let test_struct = test_mod::TestStruct {}; test_mod::TestTrait::test_method(&test_struct) ``` Fixes #4124. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | De-duplicate `add_group` callsite in qualify_pathLukas Wirth2020-10-161-121/+108
| | | | |
| * | | | Properly qualify trait methods in qualify_path assistLukas Wirth2020-10-155-70/+118
| | | | |
| * | | | Add mark tests to qualify_path assistLukas Wirth2020-10-141-0/+9
| | | | |
| * | | | Add qualify path assistLukas Wirth2020-10-142-0/+1022
| | | | |
* | | | | Merge #6299bors[bot]2020-10-208-67/+141
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6299: Diagnose items that are #[cfg]d out r=jonas-schievink a=jonas-schievink This emits a hint-level diagnostic with `Unnecessary` tag to "gray out" any items whose `#[cfg]` attributes remove the item before name resolution. Co-authored-by: Jonas Schievink <[email protected]>