Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #7656 | bors[bot] | 2021-02-14 | 1 | -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 AST | Lukas Wirth | 2021-02-13 | 1 | -48/+34 |
| | | |||||
| * | Implement constructor usage search for almost all items | Lukas Wirth | 2021-02-12 | 1 | -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. | ||||
* | | Don't classify attribute macros as their path unless it's a function with ↵ | Lukas Wirth | 2021-02-13 | 1 | -0/+35 |
|/ | | | | the proc_macro_attribute attribute | ||||
* | Update references test output | Lukas Wirth | 2021-02-12 | 1 | -2/+2 |
| | |||||
* | Use NameLike in FileReference directly as its not exported from ide anymore | Lukas Wirth | 2021-02-12 | 1 | -6/+2 |
| | |||||
* | Refactor reference searching to work with the ast | Lukas Wirth | 2021-02-12 | 1 | -172/+185 |
| | |||||
* | Remove unused ReferenceSearchResult functions | Lukas Wirth | 2021-02-12 | 1 | -24/+5 |
| | |||||
* | Resolve TupleStructPat in SourceAnalyzer::resolve_path | Lukas Wirth | 2021-02-10 | 1 | -0/+23 |
| | |||||
* | Shorten hir::TypeParam full_range in NavigationTarget | Lukas Wirth | 2021-01-26 | 1 | -0/+16 |
| | |||||
* | Remove obsolete RangeInfo usage in references | Lukas Wirth | 2021-01-18 | 1 | -34/+18 |
| | |||||
* | Add test for reference search on self declaration param | Lukas Wirth | 2021-01-18 | 1 | -0/+20 |
| | |||||
* | Handle self/super/crate in PathSegment as NameRef | Lukas Wirth | 2021-01-15 | 1 | -96/+23 |
| | |||||
* | Rename FileReferences -> UsageSearchResult | Lukas Wirth | 2021-01-12 | 1 | -5/+5 |
| | |||||
* | Ensure uniqueness of file ids in reference search via hashmap | Lukas Wirth | 2021-01-12 | 1 | -49/+48 |
| | |||||
* | Group references by FileId | Lukas Wirth | 2021-01-12 | 1 | -46/+52 |
| | |||||
* | Merge #7218 | bors[bot] | 2021-01-10 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | 7218: Fix typos r=Veykril a=regexident Apart from the very last commit on this PR (which fixes a public type's name) all changes are non-breaking. Co-authored-by: Vincent Esche <[email protected]> | ||||
| * | Fixed typos in code comments | Vincent Esche | 2021-01-09 | 1 | -1/+1 |
| | | |||||
* | | Replace SyntaxKind usage with T! macro where applicable | Lukas Wirth | 2021-01-10 | 1 | -5/+4 |
| | | |||||
* | | Use hir::GenericParam in ide_db::Definition instead of relisting all 3 | Lukas Wirth | 2021-01-10 | 1 | -1/+4 |
|/ | |||||
* | Change <|> to $0 - Rebase | Kevaundray Wedderburn | 2021-01-07 | 1 | -37/+37 |
| | |||||
* | Add ConstParams to the ide layer | Lukas Wirth | 2021-01-01 | 1 | -0/+16 |
| | |||||
* | Support labels in reference search | Lukas Wirth | 2020-12-24 | 1 | -1/+23 |
| | |||||
* | Acquire original text range when searching for references | Lukas Wirth | 2020-12-21 | 1 | -6/+42 |
| | |||||
* | Deduplicate highlight tags and symbol kinds | Aleksey Kladov | 2020-12-18 | 1 | -2/+2 |
| | | | | | | | Curiously, LSP uses different enums for those, and unsurprising and annoyingly, there are things which exist in one but not in the other. Let's not repeat the mistake and unify the two things | ||||
* | NavTarget doesn't assume that it points to a symbol | Aleksey Kladov | 2020-12-18 | 1 | -1/+1 |
| | |||||
* | Don't expose SyntaxKind from IDE API | Aleksey Kladov | 2020-12-18 | 1 | -36/+36 |
| | | | | | | SyntaxKind is somewhat of an internal type, but IDE is using it to basically specify an icon. Let's have a dedicated entity for this instead. | ||||
* | Lifetime reference search | Lukas Wirth | 2020-12-16 | 1 | -5/+86 |
| | |||||
* | Move to upstream `macro_rules!` model | Jonas Schievink | 2020-12-15 | 1 | -1/+1 |
| | |||||
* | Add find usages for enum constructors | Daiki Ihara | 2020-12-14 | 1 | -0/+115 |
| | |||||
* | Support self in reference search | Lukas Wirth | 2020-11-29 | 1 | -1/+102 |
| | |||||
* | Use shorthand field syntax in destructures | Lukas Wirth | 2020-11-14 | 1 | -2/+2 |
| | |||||
* | Properly handle shorthands in destructure patterns when renaming | Lukas Wirth | 2020-11-14 | 1 | -6/+15 |
| | |||||
* | Remove more unreachable pubs | Aleksey Kladov | 2020-11-02 | 1 | -6/+2 |
| | |||||
* | Re-export base_db from ide_db | Igor Aleksanov | 2020-10-24 | 1 | -1/+1 |
| | |||||
* | Clarify the names one more time | Aleksey Kladov | 2020-10-15 | 1 | -2/+2 |
| | |||||
* | More idiomatic classification API | Aleksey Kladov | 2020-10-15 | 1 | -3/+3 |
| | |||||
* | More clarifications | Aleksey Kladov | 2020-10-15 | 1 | -1/+1 |
| | |||||
* | Clarify NameClass names a bit | Aleksey Kladov | 2020-10-15 | 1 | -1/+1 |
| | |||||
* | Add fix for incorrect case diagnostic | Igor Aleksanov | 2020-10-12 | 1 | -1/+1 |
| | |||||
* | Show reason for failed rename refactoring | Rüdiger Herrmann | 2020-10-10 | 1 | -0/+1 |
| | | | | | | | | | | | Return an error with a meaningful message for requests to `textDocument/rename` if the operation cannot be performed. Pass errors raised by rename handling code to the LSP runtime. As a consequence, the VS Code client shows and logs the request as if a server-side programming error occured. Resolves https://github.com/rust-analyzer/rust-analyzer/issues/3981 | ||||
* | adt: correctly inherit field visibility from enum | Jonas Schievink | 2020-10-09 | 1 | -0/+24 |
| | | | | | | | Previously, "find all references" on a variant field wouldn't find any references outside the defining module. This is because variant fields were incorrectly assumed to be private, like struct fields without explicit visibility, but they actually inherit the enum's visibility. | ||||
* | Treat `ast::Name` in field patterns as use | Jonas Schievink | 2020-10-09 | 1 | -0/+46 |
| | |||||
* | Fix source_to_def for named enum variant fields | Jonas Schievink | 2020-10-09 | 1 | -0/+17 |
| | |||||
* | rename mock_analysis -> fixture | Aleksey Kladov | 2020-10-02 | 1 | -2/+2 |
| | |||||
* | Get rid of MockAnalysis | Aleksey Kladov | 2020-10-02 | 1 | -60/+58 |
| | |||||
* | Expectify find_references tests | Aleksey Kladov | 2020-10-02 | 1 | -176/+181 |
| | |||||
* | Future proof find-usages API | Aleksey Kladov | 2020-08-19 | 1 | -1/+3 |
| | | | | | | We might want to provide more efficient impls for check if usages exist, limiting the search, filtering and cancellation, so let's violate YAGNI a bit here. | ||||
* | Rename ra_ide -> ide | Aleksey Kladov | 2020-08-13 | 1 | -0/+694 |