aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3513bors[bot]2020-03-099-36/+421
|\ | | | | | | | | | | | | | | | | | | | | 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]>
| * Move hypothetical expansion to hir_expandFlorian Diebold2020-03-081-1/+5
| |
| * Fix CompletionContext module field (by removing it)Florian Diebold2020-03-073-8/+6
| | | | | | | | | | Two uses only needed the crate; one was wrong and should use the module from the scope instead.
| * Add some sanity checksFlorian Diebold2020-03-071-1/+10
| |
| * Fix record pattern completionFlorian Diebold2020-03-073-1/+30
| |
| * Fix record literal completionFlorian Diebold2020-03-072-3/+33
| |
| * Fix range for postfix snippetsFlorian Diebold2020-03-071-2/+63
| |
| * Add more testsFlorian Diebold2020-03-072-0/+51
| |
| * Try to complete within macrosFlorian Diebold2020-03-074-27/+230
| |
* | Merge #3516bors[bot]2020-03-092-4/+139
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3516: Handle visibility in more cases in completion r=matklad a=flodiebold This means we don't show private items when completing paths or method calls. We might want to show private items if we can edit their definition and provide a "make public" assist, but I feel like we'd need better sorting of completion items for that, so they can be not shown or sorted to the bottom by default. Until then, they're usually more of a distraction to me. Co-authored-by: Florian Diebold <[email protected]>
| * | 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
| | |
| * | Handle visibility in method call completionFlorian Diebold2020-03-071-1/+37
| |/
* / Omit unit struct hintsKirill Bulatov2020-03-081-0/+32
|/
* Don't creat public APIs with typosAleksey Kladov2020-03-061-1/+1
|
* Trigger parameter info automaticallyAleksey Kladov2020-03-062-0/+16
| | | | See https://github.com/Microsoft/vscode/issues/64023
* Feature flag for arg snippetsAleksey Kladov2020-03-061-4/+13
|
* Fix comment orderAleksey Kladov2020-03-061-2/+2
|
* Support aliases and Self in struct literalsFlorian Diebold2020-03-061-0/+27
| | | | Fixes #3306.
* Prime open files on loadAleksey Kladov2020-03-052-0/+20
|
* Merge #3442bors[bot]2020-03-041-13/+45
|\ | | | | | | | | | | | | | | | | | | | | 3442: Skip self param when completing methods r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Skip self param when completing methodsAleksey Kladov2020-03-041-13/+45
| |
* | Cleanup APIAleksey Kladov2020-03-043-6/+4
| |
* | Fix testsAleksey Kladov2020-03-041-16/+14
| |
* | Use method instead of a free functionAleksey Kladov2020-03-041-4/+3
| |
* | Drop one once_cell depAleksey Kladov2020-03-041-2/+0
| |
* | Move find_refs_to_defAleksey Kladov2020-03-042-139/+5
| |
* | Merge refs_to_def and process_defAleksey Kladov2020-03-041-29/+20
| |
* | Move ReferenceKindAleksey Kladov2020-03-041-20/+1
| |
* | Move SearchScopeAleksey Kladov2020-03-042-145/+1
|/
* Merge #3432bors[bot]2020-03-042-14/+22
|\ | | | | | | | | | | | | | | | | | | | | | | 3432: Feature/snippet completions r=matklad a=iTZAvishay This PR implements #1705 and is based on #3430 to avoid future conflicts. The completions are placing default values with the names of the parameters, demo: ![call_me_demo](https://user-images.githubusercontent.com/5567310/75828341-461ca400-5db4-11ea-88d8-88e59ac1a197.gif) Co-authored-by: Avishay Matayev <[email protected]>
| * Support function's completion snippetAvishay Matayev2020-03-042-14/+22
| | | | | | | | | | | | | | Note that `detail` was replced with `function_signature` to avoid calling `from` on FunctionSignature twice. I didn't add new tests because the current ones seem enough.
* | Remove stray FIXMEAleksey Kladov2020-03-041-3/+0
| |
* | Support cross-crate marksAleksey Kladov2020-03-041-1/+7
|/
* Fix completion snippet for reexported functionsFlorian Diebold2020-03-032-4/+54
| | | | Fixes #3356.
* Fix importsAleksey Kladov2020-03-035-19/+14
|
* Move reference classification to ra_ide_dbAleksey Kladov2020-03-034-101/+2
| | | | Lost some marks along the way :-(
* Rename NameDefinition -> DefinitionAleksey Kladov2020-03-036-60/+56
|
* Refactor reference search a bitAleksey Kladov2020-03-031-25/+36
|
* Merge #3422bors[bot]2020-03-031-0/+1
|\ | | | | | | | | | | | | | | | | | | | | 3422: Add profile call r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add profile callAleksey Kladov2020-03-031-0/+1
| |
* | Highlight assist testsAleksey Kladov2020-03-031-1/+1
|/
* Remove stray dbgAleksey Kladov2020-03-031-2/+2
|
* Simplify: remove couple of useless functionsAleksey Kladov2020-03-021-4/+2
|
* More principled approach for gotodef for field shorhandAleksey Kladov2020-03-025-26/+55
| | | | | Callers can now decide for themselves if they should prefer field or local definition. By default, it's the local.
* Merge #3384bors[bot]2020-03-011-0/+39
|\ | | | | | | | | | | | | | | | | | | | | | | 3384: fix #2377 super::super::* r=flodiebold a=JoshMcguigan Thanks @matklad for the detailed explanation on #2377. I believe this fixes it. One thing I'm not sure about is you said the fix would involve changing `crates/ra_hir_def/src/path/lower/lower.rs`, but I only changed `crates/ra_hir_def/src/path/lower/lower_use.rs`. I'm not sure what kind of test code I'd have to write to expose the issue in `lower.rs`, but I'd be happy to add it if you are able to provide additional guidance. closes #2377 Co-authored-by: Josh Mcguigan <[email protected]>
| * fix completion for super::super::Josh Mcguigan2020-03-011-0/+39
| |
* | Slightly refactor inlay hintsAleksey Kladov2020-02-291-69/+58
| |
* | Remove debug printAleksey Kladov2020-02-291-1/+0
| |
* | Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-298-59/+53
|/