aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src
Commit message (Collapse)AuthorAgeFilesLines
* Make utf8 default, implement utf16 in terms of itAleksey Kladov2021-02-161-1/+1
|
* Prepare for utf-8 offsetsAleksey Kladov2021-02-161-1/+1
|
* Actually fix runnable orderivan7702021-02-151-20/+20
|
* Merge #7656bors[bot]2021-02-141-100/+170
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 7656: Implement constructor usage search for almost all items r=matklad a=Veykril This PR moves the filering for enum constructors to the HIR, with this unprefixed variants as well as when the enum has been renamed via use will then still show up properly. We now walk the ast of the `NameRef` up until we find a `PathExpr`(which also handles `CallExpr` for tuple-type structs and variants already) or a `RecordExpr`. For enum search we then take the `path` out of that expression and do a resolution on it to compare it with the definition enum. With this PR we now support searching for all constructor literals, Unit-, Tuple- and Record-Structs, Unit-, Tuple- and Record-Variants as well as Unions. There is one shortcoming due to how the search is triggered. Unit Variants constructors can't be searched as we have no position for it to kick off the search(since a comma doesn't have to exist for the last variant). Closes #2549 though it doesn't implement it as outlined in the issue since the reference kind was removed recently, though I believe the approach taken here is better personally. Co-authored-by: Lukas Wirth <[email protected]>
| * Only use HIR when searching for enum constructors, otherwise fall back to ASTLukas Wirth2021-02-131-48/+34
| |
| * Implement constructor usage search for almost all itemsLukas Wirth2021-02-121-105/+189
| | | | | | | | | | | | | | For all struct kinds, unions and enums, as well as for record- and tuple-variants but not for unit-variants, as these have no trailing character we can anchor the search to. Functionality wise it is implemented though.
* | Merge #7668bors[bot]2021-02-141-48/+131
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7668: Finalize rename infra rewrite r=matklad a=Veykril This should be the final PR in regards to rewriting rename stuff, #4290. It addresses 3 things: - Currently renaming import aliases causes some undesired behavior(see #5198) which is why this PR causes us to just return an error if an attempt at renaming an alias is made for the time being. Though this only prevents it from happening when the alias import is renamed, so its not too helpful. - Fixes #6898 - If we are inside a macro file simply rename the input name node as there isn't really a way to do any of the fancy shorthand renames and similar things as for that we would have to exactly know what the macro generates and what not. Co-authored-by: Lukas Wirth <[email protected]>
| * | Don't rename field record patterns directlyLukas Wirth2021-02-131-36/+71
| | |
| * | Fallback to renaming input NameRef node for macros when inside macroLukas Wirth2021-02-131-16/+53
| | |
| * | Prevent aliases from being renamed for nowLukas Wirth2021-02-131-13/+24
| | |
* | | Don't classify attribute macros as their path unless it's a function with ↵Lukas Wirth2021-02-131-0/+35
|/ / | | | | | | the proc_macro_attribute attribute
* | Make annotations tests similar to those in runnablesivan7702021-02-131-188/+707
| |
* | Improve runnable annotations order, fix incorrect ignore detectionivan7702021-02-131-5/+13
| |
* | Added annotation testsivan7702021-02-131-0/+267
| |
* | Fix incorrect references annotationivan7702021-02-131-2/+3
| |
* | Moved CodeLens to ide crateivan7702021-02-132-0/+156
|/
* Update references test outputLukas Wirth2021-02-121-2/+2
|
* Use NameLike in FileReference directly as its not exported from ide anymoreLukas Wirth2021-02-123-14/+8
|
* Refactor reference searching to work with the astLukas Wirth2021-02-124-256/+310
|
* Remove unused ReferenceSearchResult functionsLukas Wirth2021-02-121-24/+5
|
* Merge #7644bors[bot]2021-02-122-4/+3
|\ | | | | | | | | | | | | | | 7644: Primitive completion r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7642 Co-authored-by: Jonas Schievink <[email protected]>
| * Wrap `BuiltinType` in code modelJonas Schievink2021-02-112-4/+3
| |
* | Pin Rust to 1.49.0 on CIJonas Schievink2021-02-121-3/+3
|/
* Update fixed testsJonas Schievink2021-02-101-0/+1
|
* Resolve TupleStructPat in SourceAnalyzer::resolve_pathLukas Wirth2021-02-101-0/+23
|
* Add parsing benchmarkAleksey Kladov2021-02-091-5/+32
|
* Infra for "unit" benchmarkingAleksey Kladov2021-02-091-10/+12
|
* restore accidentally deleted testAleksey Kladov2021-02-091-0/+13
|
* More precise navigation to parentAleksey Kladov2021-02-093-10/+13
|
* Cleanup testsAleksey Kladov2021-02-093-55/+53
|
* Cleanup testAleksey Kladov2021-02-091-20/+21
|
* Modernize testsAleksey Kladov2021-02-091-197/+169
|
* AdtDef -> AdtAleksey Kladov2021-02-071-5/+5
|
* Increase Highlights highlight range to covering elementLukas Wirth2021-02-041-1/+1
|
* Show alias underlying typelumenian2021-02-021-1/+5
|
* Return inner attributes of outline mod declarations in `attrs_query`Lukas Wirth2021-01-311-0/+16
|
* Classify function calls as functions when shadowed by typesLukas Wirth2021-01-282-0/+8
|
* Merge #7465bors[bot]2021-01-271-1/+19
|\ | | | | | | | | | | | | | | | | | | 7465: Only hide parameter hints for path, field and methodcall expressions r=SomeoneToIgnore a=Veykril Doing this check for other expressions makes little sense to me. Fixes #7458 Co-authored-by: Lukas Wirth <[email protected]>
| * Only hide parameter hints for path, field and methodcall expressionsLukas Wirth2021-01-271-1/+19
| |
* | Make always-assert crate reusableAleksey Kladov2021-01-261-3/+3
|/
* Shorten hir::TypeParam full_range in NavigationTargetLukas Wirth2021-01-262-4/+23
|
* Support unions in symbol searchLukas Wirth2021-01-241-0/+1
|
* Remove use of SourceFileEditPhil Ellison2021-01-231-2/+1
|
* cargo fmtPhil Ellison2021-01-231-1/+5
|
* Address review commentsPhil Ellison2021-01-231-9/+4
|
* cargo fmtPhil Ellison2021-01-231-2/+7
|
* Implement fix, add testsPhil Ellison2021-01-231-18/+11
|
* Add diagnostic for filter_map followed by nextPhil Ellison2021-01-232-1/+35
|
* Merge #7353bors[bot]2021-01-228-35/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7353: Add LifetimeParam and ConstParam to CompletionItemKind r=matklad a=Veykril Adds `LifetimeParam` and `ConstParam` to `CompletionItemKind` and maps them both to `TypeParam` in the protocol conversion as there are no equivalents, so nothing really changes there. `ConstParam` could be mapped to `Const` I guess but I'm split on whether that would be better? Additions were solely inspired by (the single) test output for const params. Also sorts the variants of `CompletionItemKind` and its to_proto match. Co-authored-by: Lukas Wirth <[email protected]>
| * Move SymbolKind to ide_dbLukas Wirth2021-01-208-35/+12
| |