Aleksey Kladov
53e3a7aeb4
Update file structure tests
2020-07-01 17:59:44 +02:00
Aleksey Kladov
af7e300041
Remove confusing API
2020-06-30 13:29:53 +02:00
Aleksey Kladov
34072d53b6
Rewrite goto implementation tests
2020-06-30 13:20:16 +02:00
Aleksey Kladov
4484908a86
Rewrite goto definition tests
2020-06-30 13:03:08 +02:00
Aleksey Kladov
ff687453a8
Slightly better name
2020-06-23 21:29:50 +02:00
Benjamin Coenen
2732fdb595
display Doctest code lens before comment #4785
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-06-18 11:31:15 +02:00
Benjamin Coenen
9d0a6aaee3
display Doctest code lens before comment #4785
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-06-09 21:28:51 +02:00
bors[bot]
e644f64f2a
Merge #4678
...
4678: Unsquish parameter types in tooltips for macro-generated functions r=aloucks a=aloucks
Note the missing whitespace between `:` and the parameter type.
Before:
![image](https://user-images.githubusercontent.com/221559/83364680-faf13d80-a370-11ea-96b7-a041969a4954.png )
After:
![image](https://user-images.githubusercontent.com/221559/83364685-03e20f00-a371-11ea-9668-4e6ebcb81947.png )
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2020-06-03 11:27:10 +00:00
Aaron Loucks
f06b2bcd91
Use split1 when formatting function signature params
2020-06-03 07:26:15 -04:00
Aleksey Kladov
0303982119
New runnables API
2020-06-02 17:22:42 +02:00
Aaron Loucks
1211a46826
Unsquish parameter types in tooltips for macro-generated functions
2020-05-31 18:58:54 -04:00
Aleksey Kladov
8915183d7d
Don't require module docs for Features and Assists
2020-05-31 09:59:38 +02:00
Aleksey Kladov
c8f27a4a88
Generate features docs from source
2020-05-31 01:54:54 +02:00
Aleksey Kladov
1586bab0b9
Simplify proto conversion
...
Trait based infra in conv.rs is significantly more complicated than
what we actually need here.
2020-05-10 19:01:26 +02:00
Edwin Cheng
a3375c1a88
Remove dbg
2020-05-10 18:03:44 +08:00
Edwin Cheng
9405116d51
Hot fix panic for function_signature
2020-05-10 16:27:31 +08:00
Aleksey Kladov
43cedecf68
Fix panic in FunctionSignature
2020-05-07 14:29:01 +02:00
Aleksey Kladov
710e430dbb
Fix focus range for TypeParam
...
closes #4274
2020-05-04 12:25:32 +02:00
Diana
6833183ab4
Unsafe traits
2020-05-01 11:49:41 -04:00
oxalica
414d8d9c38
Include function qualifiers in signature
2020-04-30 00:34:46 +08:00
Aleksey Kladov
970dbf8717
Rename StructField -> Field
2020-04-25 14:23:34 +02:00
Aleksey Kladov
8843588fca
Convert tests to text-size
2020-04-25 11:59:18 +02:00
bors[bot]
e833e03783
Merge #3954
...
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 <5719034+bnjjj@users.noreply.github.com>
2020-04-23 21:48:45 +00:00
Aleksey Kladov
4176c03d12
Remove SyntaxPtr::range from more places
2020-04-23 16:33:01 +02:00
Benjamin Coenen
1c3a1385a5
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-21 14:31:57 +02:00
Benjamin Coenen
0a1585075c
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-17 10:30:39 +02:00
Aleksey Kladov
cae2498513
Don't expose SyntaxNodePtr impl details
2020-04-16 21:01:04 +02:00
Benjamin Coenen
93bfc2d05d
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-11 23:45:09 +02:00
Benjamin Coenen
d42346fed6
Improve autocompletion by looking on the type and name
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-11 22:54:18 +02:00
Laurențiu Nicola
52fd2c8e48
Fix unnecessary braces warnings
2020-04-06 17:21:33 +03:00
Aleksey Kladov
b764c38436
Start stdx
...
This crate will hold everything to small to be worth publishing
2020-03-28 11:01:25 +01:00
Florian Diebold
d6195fa21f
Fix completion of HashMap::new
...
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.)
2020-03-13 13:04:32 +01:00
Aleksey Kladov
53cab1cd21
Fix imports
2020-03-03 18:54:39 +01:00
Aleksey Kladov
d49a4d1863
Rename NameDefinition -> Definition
2020-03-03 18:40:27 +01:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +01:00
Aleksey Kladov
c3a4c4429d
Refactor primary IDE API
...
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.
2020-02-26 12:55:50 +01:00
Aleksey Kladov
6542ab89ce
Simplify
2020-02-25 13:49:34 +01:00
Kirill Bulatov
c200dba167
Add basic parameter name hints heuristics
2020-02-23 12:49:53 +03:00
Aleksey Kladov
fda118f4e9
Simplify
2020-02-22 16:59:31 +01:00
Kirill Bulatov
eceaf94f19
More manual clippy fixes
2020-02-18 16:12:37 +02:00
Aleksey Kladov
88267c86c0
cleanup imports
2020-02-06 14:03:45 +01:00
Florian Diebold
18ec4e3403
Improve parameter hints a bit & add emacs support
...
- just include the name, not e.g. `mut`
- don't return empty hints (or `_`)
2020-01-18 13:40:32 +01:00
imtsuki
d854ad8f27
FnSignature: use unwrap_or_default for parameter_name_list
...
Signed-off-by: imtsuki <me@qjx.app>
2020-01-15 09:30:19 +08:00
imtsuki
c390e92fdd
Add inlay parameter name hints for function calls
...
Signed-off-by: imtsuki <me@qjx.app>
2020-01-15 01:18:52 +08:00
Roland Ruckerbauer
20b8d283ae
Remove hir usage from macro_rules! detection in structure_node()
2020-01-12 17:34:57 +01:00
Roland Ruckerbauer
15c5426b54
Use hir .path() and .name() to differentiate
...
macro call and macro definition
2020-01-12 17:34:57 +01:00
Roland Ruckerbauer
c6655c67d2
Added test for file_structure unidentified macro definition
2020-01-12 17:34:57 +01:00
Roland Ruckerbauer
db151763d4
Fix file_structure() to recognize macro_rules!
...
where first token != "macro_rules"
2020-01-12 17:34:57 +01:00
Edwin Cheng
d7be1a4372
Use attr location for builtin macro goto-imp
2020-01-12 18:08:53 +08:00
Jeremy Kolb
1b19a8aa5e
Implement proposed CallHierarchy feature
...
See: https://github.com/microsoft/vscode-languageserver-node/blob/master/protocol/src/protocol.callHierarchy.proposed.ts
2020-01-08 10:15:49 -05:00