aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/completion/complete_path.rs
Commit message (Collapse)AuthorAgeFilesLines
* Introduce completion test utilsAleksey Kladov2020-03-111-1/+1
|
* Merge #3513bors[bot]2020-03-091-2/+35
|\ | | | | | | | | | | | | | | | | | | | | 3513: Completion in macros r=matklad a=flodiebold I experimented a bit with completion in macros. It's kind of working, but there are a lot of rough edges. - I'm trying to expand the macro call with the inserted fake token. This requires some hacky additions on the HIR level to be able to do "hypothetical" expansions. There should probably be a nicer API for this, if we want to do it this way. I'm not sure whether it's worth it, because we still can't do a lot if the original macro call didn't expand in nearly the same way. E.g. if we have something like `println!("", x<|>)` the expansions will look the same and everything is fine; but in that case we could maybe have achieved the same result in a simpler way. If we have something like `m!(<|>)` where `m!()` doesn't even expand or expands to something very different, we don't really know what to do anyway. - Relatedly, there are a lot of cases where this doesn't work because either the original call or the hypothetical call doesn't expand. E.g. if we have `m!(x.<|>)` the original token tree doesn't parse as an expression; if we have `m!(match x { <|> })` the hypothetical token tree doesn't parse. It would be nice if we could have better error recovery in these cases. Co-authored-by: Florian Diebold <[email protected]>
| * Fix CompletionContext module field (by removing it)Florian Diebold2020-03-071-1/+1
| | | | | | | | | | Two uses only needed the crate; one was wrong and should use the module from the scope instead.
| * Add more testsFlorian Diebold2020-03-071-0/+33
| |
| * Try to complete within macrosFlorian Diebold2020-03-071-1/+1
| |
* | Handle visibility for assoc item path completion as wellFlorian Diebold2020-03-081-2/+65
| |
* | Handle visibility for path completion (not in all cases yet)Florian Diebold2020-03-081-4/+40
|/
* Fix completion snippet for reexported functionsFlorian Diebold2020-03-031-0/+51
| | | | Fixes #3356.
* Refactor primary IDE APIAleksey Kladov2020-02-261-2/+2
| | | | | | | | | | This introduces the new type -- Semantics. Semantics maps SyntaxNodes to various semantic info, such as type, name resolution or macro expansions. To do so, Semantics maintains a HashMap which maps every node it saw to the file from which the node originated. This is enough to get all the necessary hir bits just from syntax.
* Refactor how builtins are resolvedFlorian Diebold2020-02-211-6/+7
| | | | This fixes autocompletion suggesting e.g. self::usize.
* Move Type API to typeAleksey Kladov2020-01-141-12/+14
|
* Some clippy lintskjeremy2020-01-131-1/+1
|
* Remove imports from hirAleksey Kladov2019-12-211-10/+8
|
* Revert "Merge #2629"Aleksey Kladov2019-12-211-7/+10
| | | | | This reverts commit cdc9d682b066b110e0a44e5f8f1c574b38c16ba9, reversing changes made to 90ef070db3dce0a7acb9cd11d0b0d72de13c9d79.
* Remove hir for importsAleksey Kladov2019-12-211-10/+7
|
* Replace `ra_hir_expand::either` with crateice10002019-12-031-2/+3
|
* rename ra_ide_api -> ra_ideAleksey Kladov2019-11-271-0/+785