aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/display
Commit message (Collapse)AuthorAgeFilesLines
* Convert tests to text-sizeAleksey Kladov2020-04-251-38/+38
|
* Merge #3954bors[bot]2020-04-231-21/+48
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 3954: Improve autocompletion by looking on the type and name r=matklad a=bnjjj This tweet (https://twitter.com/tjholowaychuk/status/1248918374731714560) gaves me the idea to implement that in rust-analyzer. Basically for this first example I made some examples when we are in a function call definition. I look on the parameter list to prioritize autocompletions for the same types and if it's the same type + the same name then it's displayed first in the completion list. So here is a draft, first step to open a discussion and know what you think about the implementation. It works (cf tests) but maybe I can make a better implementation at some places. Be careful the code needs some refactoring to be better and concise. PS: It was lot of fun writing this haha Co-authored-by: Benjamin Coenen <[email protected]>
| * Improve autocompletion by looking on the type and nameBenjamin Coenen2020-04-211-2/+1
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * Merge branch 'master' of github.com:rust-analyzer/rust-analyzerBenjamin Coenen2020-04-171-1/+1
| |\
| * \ Improve autocompletion by looking on the type and nameBenjamin Coenen2020-04-111-4/+17
| |\ \ | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | Improve autocompletion by looking on the type and nameBenjamin Coenen2020-04-111-21/+36
| |/ / | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | / Remove SyntaxPtr::range from more placesAleksey Kladov2020-04-231-1/+1
| |/ |/|
* | Don't expose SyntaxNodePtr impl detailsAleksey Kladov2020-04-161-1/+1
|/
* Fix unnecessary braces warningsLaurențiu Nicola2020-04-062-29/+29
|
* Start stdxAleksey Kladov2020-03-282-12/+10
| | | | This crate will hold everything to small to be worth publishing
* Fix completion of HashMap::newFlorian Diebold2020-03-131-2/+2
| | | | | | | | | | | | | | | The `ty` function in code_model returned the type with placeholders for type parameters. That's nice for printing, but not good for completion, because placeholders won't unify with anything else: So the type we got for `HashMap` was `HashMap<K, V, T>`, which doesn't unify with `HashMap<?, ?, RandomState>`, so the `new` method wasn't shown. Now we instead return `HashMap<{unknown}, {unknown}, {unknown}>`, which does unify with the impl type. Maybe we should just expose this properly as variables though, i.e. we'd return something like `exists<type, type, type> HashMap<?0, ?1, ?2>` (in Chalk notation). It'll make the API more complicated, but harder to misuse. (And it would handle cases like `type TypeAlias<T> = HashMap<T, T>` more correctly.)
* Fix importsAleksey Kladov2020-03-031-6/+2
|
* Rename NameDefinition -> DefinitionAleksey Kladov2020-03-031-8/+8
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-292-4/+4
|
* Refactor primary IDE APIAleksey Kladov2020-02-261-2/+6
| | | | | | | | | | 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.
* SimplifyAleksey Kladov2020-02-251-1/+1
|
* Add basic parameter name hints heuristicsKirill Bulatov2020-02-231-3/+13
|
* SimplifyAleksey Kladov2020-02-221-25/+41
|
* More manual clippy fixesKirill Bulatov2020-02-182-5/+4
|
* cleanup importsAleksey Kladov2020-02-062-12/+8
|
* Improve parameter hints a bit & add emacs supportFlorian Diebold2020-01-181-3/+16
| | | | | - just include the name, not e.g. `mut` - don't return empty hints (or `_`)
* FnSignature: use unwrap_or_default for parameter_name_listimtsuki2020-01-151-5/+3
| | | | Signed-off-by: imtsuki <[email protected]>
* Add inlay parameter name hints for function callsimtsuki2020-01-141-0/+22
| | | | Signed-off-by: imtsuki <[email protected]>
* Remove hir usage from macro_rules! detection in structure_node()Roland Ruckerbauer2020-01-121-4/+2
|
* Use hir .path() and .name() to differentiateRoland Ruckerbauer2020-01-121-22/+24
| | | | macro call and macro definition
* Added test for file_structure unidentified macro definitionRoland Ruckerbauer2020-01-121-4/+18
|
* Fix file_structure() to recognize macro_rules!Roland Ruckerbauer2020-01-121-3/+17
| | | | where first token != "macro_rules"
* Use attr location for builtin macro goto-impEdwin Cheng2020-01-121-1/+5
|
* Implement proposed CallHierarchy featureJeremy Kolb2020-01-081-1/+1
| | | | See: https://github.com/microsoft/vscode-languageserver-node/blob/master/protocol/src/protocol.callHierarchy.proposed.ts
* Don't bother with focus range for navigation to localsAleksey Kladov2019-12-181-7/+8
|
* Rename GenericParam -> TypeParamAleksey Kladov2019-12-071-1/+1
| | | | We don't have LifetimeParam yet, but they are planned!
* ToNav for GenericParamAleksey Kladov2019-12-071-1/+21
|
* No block at the momentice10002019-12-041-1/+0
|
* Add `ModuleSource::Block`ice10002019-12-041-28/+15
|
* Replace `ra_hir_expand::either` with crateice10002019-12-031-3/+4
|
* Rename Source -> InFileAleksey Kladov2019-11-281-2/+2
|
* Use Name::missing consistentlyAleksey Kladov2019-11-271-5/+2
|
* rename ra_ide_api -> ra_ideAleksey Kladov2019-11-274-0/+1124