Florian Diebold
6bea6199b3
Fix range for postfix snippets
2020-03-07 16:44:51 +01:00
Florian Diebold
8cc4210278
Add more tests
2020-03-07 15:48:06 +01:00
Florian Diebold
24e98121d8
Try to complete within macros
2020-03-07 15:48:06 +01:00
Aleksey Kladov
80909f7698
Don't creat public APIs with typos
2020-03-06 18:38:56 +01:00
Aleksey Kladov
3ff170d658
Trigger parameter info automatically
...
See https://github.com/Microsoft/vscode/issues/64023
2020-03-06 18:00:06 +01:00
Aleksey Kladov
4e7f6c2354
Feature flag for arg snippets
2020-03-06 17:51:10 +01:00
Aleksey Kladov
21f40f2b8f
Fix comment order
2020-03-06 17:44:30 +01:00
Aleksey Kladov
7d2ddfd3c8
Skip self param when completing methods
2020-03-04 13:01:16 +01:00
Avishay Matayev
fb34a5ba06
Support function's completion snippet
...
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.
2020-03-04 11:03:32 +02:00
Florian Diebold
e55fc286fc
Fix completion snippet for reexported functions
...
Fixes #3356 .
2020-03-03 20:49:50 +01:00
bors[bot]
ea67e2346e
Merge #3384
...
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 <joshmcg88@gmail.com>
2020-03-01 13:36:44 +00:00
Josh Mcguigan
0057d1e10d
fix completion for super::super::
2020-02-29 21:04:21 -08: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
Florian Diebold
31af774254
Refactor how builtins are resolved
...
This fixes autocompletion suggesting e.g. self::usize.
2020-02-21 15:39:51 +01:00
Shotaro Yamada
d06733efeb
Cleanup
2020-02-19 13:36:59 +09:00
Kirill Bulatov
eceaf94f19
More manual clippy fixes
2020-02-18 16:12:37 +02:00
bors[bot]
fcf15cc05a
Merge #3169
...
3169: Show record field names in Enum completion r=flodiebold a=adamrk
Adresses https://github.com/rust-analyzer/rust-analyzer/issues/2947 .
Previously the details shown when autocompleting an Enum variant would look like the variant was a tuple even if it was a record:
![2020-02-16-15:59:32_crop](https://user-images.githubusercontent.com/16367467/74607233-64f21980-50d7-11ea-99db-e973e29c71d7.png )
This change will show the names of the fields for a record and use curly braces instead of parentheses:
![2020-02-16-15:33:00_crop](https://user-images.githubusercontent.com/16367467/74607251-8ce17d00-50d7-11ea-9d4d-38d198a4aec0.png )
This required exposing the type `adt::StructKind` from `ra_hir` and adding a function
```
kind(self, db: &impl HirDatabase) -> StructKind
```
in the `impl` of `EnumVariant`.
There was also a previously existing function `is_unit(self, db: &impl HirDatabase) -> bool` for `EnumVariant` which I removed because it seemed redundant after adding `kind`.
Co-authored-by: adamrk <ark.email@gmail.com>
2020-02-17 10:54:32 +00:00
adamrk
e88eb89132
add space before/after wrapping braces
2020-02-16 16:33:15 +01:00
adamrk
04aff742b1
show names for record fields in enum completion
2020-02-16 16:10:23 +01:00
Kevin DeLorey
057d0bee55
Added module doc comment to explain the purpose of the completion.
2020-02-15 10:27:04 -06:00
Kevin DeLorey
ae8ae650fc
Fixed bug that allowed for completion in a nested method.
2020-02-15 09:50:07 -06:00
Kevin DeLorey
fc13b7fc9a
Reordered the use
items.
2020-02-14 18:54:00 -06:00
Kevin DeLorey
be97cbfdb4
Adjusted the completion lookups to filter by just the name.
2020-02-13 19:10:08 -06:00
Kevin DeLorey
0bc9e62374
Completion now replaces whole fn/const/type def with snippet.
2020-02-12 21:00:47 -06:00
Kevin DeLorey
43e62a87ab
Cheese const tests as they requre an ident before becoming a CONST_DEF.
2020-02-12 20:46:55 -06:00
Kevin DeLorey
877cfbacf9
Started to refactor the trigger of the trait_impl completion.
2020-02-12 20:21:43 -06:00
Kevin DeLorey
6f130e7ef8
Formatting.
2020-02-11 10:07:23 -06:00
Kevin DeLorey
47d314e856
Fixing minor suggestions and added module level documentation.
2020-02-11 10:04:30 -06:00
Kevin DeLorey
e664cd73e3
Removed doc comments entirely from the changes.
2020-02-11 09:48:26 -06:00
Kevin DeLorey
3aaf46afa1
Formatted changes.
2020-02-11 09:40:08 -06:00
Kevin DeLorey
d7e36c3dd2
Removed docs from private method.
2020-02-11 07:31:39 -06:00
Kevin DeLorey
785723e0d9
Added tests to test associated types and consts.
2020-02-10 21:02:51 -06:00
Kevin DeLorey
52c4324e31
Added some documentation to the complete_trait_impl
completion.
2020-02-10 20:55:49 -06:00
Kevin DeLorey
3ffc84fd15
Added associated const magic completion.
2020-02-09 20:59:12 -06:00
Kevin DeLorey
d85abd77b9
Added a utility function that can be used to determine the missing impl items.
2020-02-09 12:24:59 -06:00
Kevin DeLorey
a957c473fd
Merge branch 'master' into kdelorey/complete-trait-impl
2020-02-09 10:37:43 -06:00
Aleksey Kladov
409f8e1fb0
Remove hard-coded auto-import during completion
...
We now have a real auto-import system, so we can do a proper thing.
2020-02-09 10:04:47 +01:00
Kevin DeLorey
22caf982b9
Added associated type completion.
2020-02-08 15:41:25 -06:00
Kevin DeLorey
5c0c18926b
Cleaning up unessicary code that the Magic completion takes care of.
2020-02-08 13:22:31 -06:00
Kevin DeLorey
f801723dd2
Got the magic completion working.
2020-02-08 11:28:39 -06:00
Kevin DeLorey
5216b09ed6
Update completion kind to Magic in the unit tests.
2020-02-07 21:02:01 -06:00
Kirill Bulatov
740a26b7d2
Rename add import assist
2020-02-07 23:53:08 +02:00
Aleksey Kladov
88267c86c0
cleanup imports
2020-02-06 14:03:45 +01:00
Kevin DeLorey
fc46ed81ee
Add detection for a user already starting a fn impl and still providing completion.
2020-02-04 22:04:57 -06:00
Kirill Bulatov
c669b2f489
Code review fixes
2020-02-02 14:27:52 +02:00
Kirill Bulatov
6dae5cbb11
Require ModPath for importing
2020-02-02 14:06:51 +02:00
Kevin DeLorey
698ff91c13
Already implemented fn will no longer be suggested for trait implementations.
2020-01-28 20:33:12 -06:00
Kevin DeLorey
bc1fc6239d
Renamed the trait completion mod.
2020-01-22 22:38:03 -06:00
Kevin DeLorey
e3cda83f90
Added basic support for completing fn
for trait impl.
2020-01-22 22:34:00 -06:00