Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Rename StructField -> Field | Aleksey Kladov | 2020-04-25 | 1 | -2/+2 | |
| | ||||||
* | Convert tests to text-size | Aleksey Kladov | 2020-04-25 | 1 | -38/+38 | |
| | ||||||
* | Merge #3954 | bors[bot] | 2020-04-23 | 1 | -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 name | Benjamin Coenen | 2020-04-21 | 1 | -2/+1 | |
| | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
| * | Merge branch 'master' of github.com:rust-analyzer/rust-analyzer | Benjamin Coenen | 2020-04-17 | 1 | -1/+1 | |
| |\ | ||||||
| * \ | Improve autocompletion by looking on the type and name | Benjamin Coenen | 2020-04-11 | 1 | -4/+17 | |
| |\ \ | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
| * | | | Improve autocompletion by looking on the type and name | Benjamin Coenen | 2020-04-11 | 1 | -21/+36 | |
| |/ / | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]> | |||||
* | / | Remove SyntaxPtr::range from more places | Aleksey Kladov | 2020-04-23 | 1 | -1/+1 | |
| |/ |/| | ||||||
* | | Don't expose SyntaxNodePtr impl details | Aleksey Kladov | 2020-04-16 | 1 | -1/+1 | |
|/ | ||||||
* | Fix unnecessary braces warnings | Laurențiu Nicola | 2020-04-06 | 2 | -29/+29 | |
| | ||||||
* | Start stdx | Aleksey Kladov | 2020-03-28 | 2 | -12/+10 | |
| | | | | This crate will hold everything to small to be worth publishing | |||||
* | Fix completion of HashMap::new | Florian Diebold | 2020-03-13 | 1 | -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 imports | Aleksey Kladov | 2020-03-03 | 1 | -6/+2 | |
| | ||||||
* | Rename NameDefinition -> Definition | Aleksey Kladov | 2020-03-03 | 1 | -8/+8 | |
| | ||||||
* | Rename ast::ImplBlock -> ast::ImplDef | Aleksey Kladov | 2020-02-29 | 2 | -4/+4 | |
| | ||||||
* | Refactor primary IDE API | Aleksey Kladov | 2020-02-26 | 1 | -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. | |||||
* | Simplify | Aleksey Kladov | 2020-02-25 | 1 | -1/+1 | |
| | ||||||
* | Add basic parameter name hints heuristics | Kirill Bulatov | 2020-02-23 | 1 | -3/+13 | |
| | ||||||
* | Simplify | Aleksey Kladov | 2020-02-22 | 1 | -25/+41 | |
| | ||||||
* | More manual clippy fixes | Kirill Bulatov | 2020-02-18 | 2 | -5/+4 | |
| | ||||||
* | cleanup imports | Aleksey Kladov | 2020-02-06 | 2 | -12/+8 | |
| | ||||||
* | Improve parameter hints a bit & add emacs support | Florian Diebold | 2020-01-18 | 1 | -3/+16 | |
| | | | | | - just include the name, not e.g. `mut` - don't return empty hints (or `_`) | |||||
* | FnSignature: use unwrap_or_default for parameter_name_list | imtsuki | 2020-01-15 | 1 | -5/+3 | |
| | | | | Signed-off-by: imtsuki <[email protected]> | |||||
* | Add inlay parameter name hints for function calls | imtsuki | 2020-01-14 | 1 | -0/+22 | |
| | | | | Signed-off-by: imtsuki <[email protected]> | |||||
* | Remove hir usage from macro_rules! detection in structure_node() | Roland Ruckerbauer | 2020-01-12 | 1 | -4/+2 | |
| | ||||||
* | Use hir .path() and .name() to differentiate | Roland Ruckerbauer | 2020-01-12 | 1 | -22/+24 | |
| | | | | macro call and macro definition | |||||
* | Added test for file_structure unidentified macro definition | Roland Ruckerbauer | 2020-01-12 | 1 | -4/+18 | |
| | ||||||
* | Fix file_structure() to recognize macro_rules! | Roland Ruckerbauer | 2020-01-12 | 1 | -3/+17 | |
| | | | | where first token != "macro_rules" | |||||
* | Use attr location for builtin macro goto-imp | Edwin Cheng | 2020-01-12 | 1 | -1/+5 | |
| | ||||||
* | Implement proposed CallHierarchy feature | Jeremy Kolb | 2020-01-08 | 1 | -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 locals | Aleksey Kladov | 2019-12-18 | 1 | -7/+8 | |
| | ||||||
* | Rename GenericParam -> TypeParam | Aleksey Kladov | 2019-12-07 | 1 | -1/+1 | |
| | | | | We don't have LifetimeParam yet, but they are planned! | |||||
* | ToNav for GenericParam | Aleksey Kladov | 2019-12-07 | 1 | -1/+21 | |
| | ||||||
* | No block at the moment | ice1000 | 2019-12-04 | 1 | -1/+0 | |
| | ||||||
* | Add `ModuleSource::Block` | ice1000 | 2019-12-04 | 1 | -28/+15 | |
| | ||||||
* | Replace `ra_hir_expand::either` with crate | ice1000 | 2019-12-03 | 1 | -3/+4 | |
| | ||||||
* | Rename Source -> InFile | Aleksey Kladov | 2019-11-28 | 1 | -2/+2 | |
| | ||||||
* | Use Name::missing consistently | Aleksey Kladov | 2019-11-27 | 1 | -5/+2 | |
| | ||||||
* | rename ra_ide_api -> ra_ide | Aleksey Kladov | 2019-11-27 | 4 | -0/+1124 | |