Lukas Wirth
b96f1adf5c
Give TypeInfo fields and methods more appropriate names
2021-08-03 17:28:51 +02:00
Lukas Wirth
8afa2722b2
Revise TypeInfo::ty usage
2021-08-03 17:24:43 +02:00
Lukas Wirth
25ff7171c4
Introduce TypeInfo
2021-08-03 16:41:53 +02:00
bors[bot]
29506b5a26
Merge #9762
...
9762: fix: Fix ranged hover result range r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-08-02 16:17:15 +00:00
Lukas Wirth
8e0a7d8c08
Fix ranged hover result range
2021-08-02 18:16:47 +02:00
bors[bot]
cae54d86d8
Merge #9761
...
9761: feat: Show coerced types on type hover r=Veykril a=Veykril
This applies to both the ranged hover request as well as the normal hover type fallback.
![image](https://user-images.githubusercontent.com/3757771/127883884-2935b624-a3e5-4f35-861a-7d6d3266d187.png )
![image](https://user-images.githubusercontent.com/3757771/127883951-4ff96b6b-7576-4886-887b-1198c1121841.png )
We unfortunately have to leave out syntax highlighting here as otherwise the `Type` and `Coerced` words in the hover will get colored.
Note that this does not show all the coercions yet(and almost no pattern coercions) as not all coercion adjustments are implemented yet.
Closes https://github.com/rust-analyzer/rust-analyzer/issues/2677
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-08-02 15:44:43 +00:00
Lukas Wirth
f2d2ce03c7
Also search for pattern nodes in ranged hover
2021-08-02 17:38:16 +02:00
Lukas Wirth
486603d559
Show coerced types on type hover
2021-08-02 17:10:36 +02:00
bors[bot]
0d56ff2a02
Merge #9758
...
9758: internal: explain that we don't `ref` in style.md r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-08-02 13:00:07 +00:00
Aleksey Kladov
12d7f5b56e
internal: explain that we don't ref
in style.md
2021-08-02 15:59:28 +03:00
Lukas Wirth
62ab73767f
resolve_doc_path is able to resolve to macros
2021-08-02 14:33:09 +02:00
Lukas Wirth
1edbaa29f9
Wrap inner tail expressions in MissingOkOrSomeInTailExpr
2021-07-31 20:00:09 +02:00
Lukas Wirth
f7c7f89c3c
Annotate type hints for pattern name ranges instead of the pattern itself
2021-07-31 15:30:45 +02:00
Lukas Wirth
b363755901
Fix hover range for derive inputs
2021-07-31 14:59:31 +02:00
Jake Heinz
0eb1afdcb7
update expects
2021-07-31 06:08:05 +00:00
Jake Heinz
0f434b8620
move to else f
2021-07-31 04:50:19 +00:00
Jake Heinz
2baef17bb1
semantic highlighting: add reference hlmod
2021-07-31 04:42:47 +00:00
bors[bot]
0a3ac7a96c
Merge #9728
...
9728: fix: Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-30 14:11:37 +00:00
Lukas Wirth
836784f02b
Fix move_item test fixture indentations
2021-07-30 13:03:28 +02:00
Lukas Wirth
4de447b293
Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST
2021-07-29 23:02:52 +02:00
Lukas Wirth
2b461c50d7
Refine extraction targets of extract_function assist
2021-07-29 15:45:05 +02:00
Alexander González
4d3a0529d5
fix: Revert removing [] from the hover gif
2021-07-28 06:58:19 -04:00
Alexander Gonzalez
41943f2328
refactor: Apply PR suggestions
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
743c037a34
chore: Remove unnecessary println! call
2021-07-27 18:31:21 -04:00
Alexander Gonzalez
506db1852c
test: Add tests for when hovering fails
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
48f43df7d6
docs: Improve the comments in crates/ide/src/hover.rs
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
6310786ca5
test: Add hover_range tests
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
1a0a5da1a4
refactor: Make handle_hover handle ranges too
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
8ca3bb8fcd
feat: Add the hover_range capability
2021-07-27 18:29:22 -04:00
Alexander Gonzalez
20c64cc0e6
feat: Extend the server with the hover_range capability
2021-07-27 18:29:22 -04:00
Lukas Wirth
3fab50019c
Simplify
2021-07-26 20:26:24 +02:00
Lukas Wirth
bfe0fa009e
Resolve derive attribute input macro paths in ide layer
2021-07-24 20:35:43 +02:00
Jonas Schievink
3efdf6861f
Complete editable private items
2021-07-23 19:57:16 +02:00
Kevin DeLorey
efb6587664
Added tests to ensure config behavior.
2021-07-22 19:35:47 -06:00
Kevin DeLorey
b75e0e7bb1
Initial commit of highlight related configuration w/ implementation.
2021-07-22 19:35:47 -06:00
Lukas Wirth
ef6fed052c
Correctly classify Rename Names
2021-07-23 02:14:59 +02:00
Laurențiu Nicola
efcc487dff
Fix a couple of clippy nits
2021-07-22 09:03:54 +03:00
Lukas Wirth
c83e37c001
cov-mark
2021-07-20 19:00:52 +02:00
bors[bot]
4705df44c7
Merge #9637
...
9637: Overhaul doc_links testing infra r=Veykril a=Veykril
and fix several issues with current implementation.
Fixes #9617
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-20 16:06:37 +00:00
Lukas Wirth
2e39d4757b
More tests
2021-07-20 18:05:25 +02:00
Lukas Wirth
bb71ebb985
Move doc_links tests from hover to doc_links
2021-07-20 17:57:47 +02:00
Lukas Wirth
a35687fe1f
Minor cleanups
2021-07-20 17:41:10 +02:00
Lukas Wirth
cb7b4a5d5b
Some more fragment fixes
2021-07-20 17:03:39 +02:00
Aleksey Kladov
7ec8434674
internal: remove potentially slow method
2021-07-20 17:19:58 +03:00
Lukas Wirth
e8f1abf5f7
Correctly generate link fragments for associated items
2021-07-20 16:01:27 +02:00
Lukas Wirth
113beab473
Cleanup runnables canonical path impl
2021-07-20 16:00:44 +02:00
Lukas Wirth
97d63d67cd
Resolve paths to assoc items for traits
2021-07-19 20:51:57 +02:00
Lukas Wirth
7a17206646
Add doc-link resolution test infra
2021-07-19 19:58:26 +02:00
Aleksey Kladov
8f3335f5fb
internal: make it clearer where IO happens
2021-07-17 23:56:50 +03:00
Lukas Wirth
4450365ec8
Simplify
2021-07-15 21:28:30 +02:00
Lukas Wirth
ed73460971
Folding ranges respect item visibilities
2021-07-15 17:44:23 +02:00
Lukas Wirth
efea07f31c
Add nested region folding test
2021-07-15 17:02:45 +02:00
Lukas Wirth
658514d378
Don't fold consecutive modules with item lists
2021-07-15 16:35:31 +02:00
bors[bot]
95d85336df
Merge #9595
...
9595: Show test mod runnable in outline modules r=Veykril a=Veykril
This shows a runnable inside outline test modules at the top of its file:
![image](https://user-images.githubusercontent.com/3757771/125494747-169c9238-3faa-4eed-9700-90bd730b4e3c.png )
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-15 00:20:44 +00:00
Lukas Wirth
d837a5d5a7
Show test mod runnable in outline modules
2021-07-14 11:30:51 +02:00
Lukas Wirth
12fe48c04d
Use Type::walk for goto_type_definition
2021-07-14 01:42:30 +02:00
bors[bot]
9bd6836513
Merge #9596
...
9596: Return type arguments in goto_type_definition result r=Veykril a=Veykril
Fixes #9586
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-13 17:25:00 +00:00
Lukas Wirth
796988a269
Return type arguments in goto_type_definition result
2021-07-13 19:24:29 +02:00
Lukas Wirth
d1256a3709
Assign mutable semantic token modifier to assignment operators
2021-07-13 18:32:02 +02:00
Lukas Wirth
b3337c26db
Split main highlighting function up into a few subfunctions
2021-07-13 18:29:57 +02:00
Lukas Wirth
ab2647769c
Return both field and local references for shorthands in goto_def
2021-07-11 16:16:16 +02:00
Lukas Wirth
c41f1279a3
Inline name classification reference calls
2021-07-11 15:39:09 +02:00
Lukas Wirth
c65bb7f8b9
Explicitly check for reference locals or fields in Name classification
2021-07-11 15:04:40 +02:00
bors[bot]
87621de2b9
Merge #9567 #9568
...
9567: remove unneded special case r=matklad a=matklad
bors r+
🤖
9568: feat: add 'for' postfix completion r=lnicola a=mahdi-frms
![Peek 2021-07-11 16-45](https://user-images.githubusercontent.com/62165556/125194692-a0aaf780-e267-11eb-952a-81de7955d9a1.gif )
adds #9561
used ```ele``` as identifier for each element in the iteration
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: mahdi-frms <mahdif1380@outlook.com>
2021-07-11 12:51:33 +00:00
Aleksey Kladov
bbb053532e
internal: remove one more needless extern crate
2021-07-11 15:48:49 +03:00
Aleksey Kladov
1171dc74e0
internal: remove unused param
2021-07-11 15:08:00 +03:00
Aleksey Kladov
f42648e305
internal: remove needless distinction between a carte and its root mod
2021-07-11 14:55:24 +03:00
Aleksey Kladov
92059ea438
update tests
2021-07-11 13:55:00 +03:00
Aleksey Kladov
5c26523e94
drop unused fields
2021-07-11 13:51:52 +03:00
Aleksey Kladov
a04775060c
simplify
2021-07-11 13:49:38 +03:00
Aleksey Kladov
ddce16a126
drop unused field
2021-07-11 13:48:26 +03:00
Aleksey Kladov
beb81a40eb
simplify
2021-07-11 13:45:58 +03:00
Aleksey Kladov
96d85a9efb
be explicit about what we *can't* debug
2021-07-11 13:44:28 +03:00
Aleksey Kladov
fa6f78c95b
better name
2021-07-11 13:43:43 +03:00
Aleksey Kladov
0dc186f612
Let the client care about presentation
2021-07-11 13:42:19 +03:00
bors[bot]
325140a165
Merge #9449
...
9449: feat: Emit test names in `Run test` runnables if they come from a macro expansion r=matklad a=Veykril
Fixes #8964
Before:
![Code_D1Tu5Iuh5I](https://user-images.githubusercontent.com/3757771/124174685-f552b380-daac-11eb-9086-c97db014b77c.png )
After:
![image](https://user-images.githubusercontent.com/3757771/124174493-bb81ad00-daac-11eb-96c7-3de6545a62e1.png )
Basically when a macro emits more than one test we name the test functions/modules name in the runnable instead to not emit a bunch of equally named `Run Test` annotations which don't really tell much.
Note that the `Run fibonacci_test Tests` line is below the attributes due to the fact that the function name span is being reused for the generated module in rstest's expansion.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-11 09:37:33 +00:00
Lukas Wirth
f1b3446844
Emit test name in Run test runnables if it comes from a macro expansion
2021-07-09 14:35:42 +02:00
Aleksey Kladov
0db4f3f6a4
internal: ensure consistent passing for config params
...
We pass "context" parametes first, so configs should be on the left.
"Bigger" context wins, so configs goes after db.
2021-07-06 00:00:39 +03:00
Aleksey Kladov
b8a6ea5ab5
feat: make join lines behavior configurable
...
closes #9492
2021-07-05 23:47:20 +03:00
Aleksey Kladov
86720f2953
minor: drop dummy authors field
2021-07-05 14:19:41 +03:00
Aleksey Kladov
6e9780c005
internal: make CompletionItem and SourceChange consistent
...
Before this PR, SourceChange used a bool and CompletionItem used an enum
to signify if edit is a snippet. It makes sense to use the same pattern
in both cases. `bool` feels simpler, as there's only one consumer of
this API, and all producers are encapsulated anyway (we check the
capability at the production site).
2021-07-04 15:44:03 +03:00
Aleksey Kladov
f875b91fdb
feat: join lines joins two ifs into else if
2021-07-03 18:40:23 +03:00
Lukas Wirth
a7d61ddba4
Add cov_mark
2021-07-02 19:34:49 +02:00
Lukas Wirth
59eec29e1b
Fix runnables using wrong file ids for module doctests
2021-07-02 15:43:47 +02:00
Lukas Wirth
0b8e145641
Print runnable kind on assertion failure for better debuggability
2021-07-02 15:34:26 +02:00
Lukas Wirth
f640f2dbb4
Fix incorrect guard for NameRefClass attribute resolution
2021-07-02 15:17:21 +02:00
bors[bot]
334c7eba8d
Merge #9452
...
9452: feat: Add "View Crate Graph (Full)" r=jonas-schievink a=jonas-schievink
Works like "View Crate Graph", but also includes crates.io and sysroot dependencies. The resulting graph might be enormous.
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8867
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-07-01 22:12:53 +00:00
Jonas Schievink
5f13fb9db9
Add "View Crate Graph (Full)"
2021-07-02 00:10:33 +02:00
bors[bot]
0331d19f42
Merge #9451
...
9451: minor: Add `goto_type_action` for field hovers r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-01 19:52:14 +00:00
Lukas Wirth
81762024b5
Add goto_type_action
for field hovers
2021-07-01 21:51:26 +02:00
bors[bot]
2f9645501c
Merge #9436
...
9436: minor: Add test for macro expanded test module in runnables r=Veykril a=Veykril
Expected this to fail as thats behaving incorrectly on current nightly but I think I fixed this accidentally with https://github.com/rust-analyzer/rust-analyzer/pull/9435
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-30 17:37:28 +00:00
Lukas Wirth
8d3a378de9
Add test for macro expanded test module in runnables
2021-06-30 19:35:58 +02:00
bors[bot]
3c42aefceb
Merge #9435
...
9435: fix: Don't add test runnables for outline modules in the wrong file r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-30 17:11:34 +00:00
Lukas Wirth
b8507ca98d
Don't add test runnables for outline modules in the wrong file
2021-06-30 19:08:13 +02:00
bors[bot]
11b9233fc4
Merge #9269
...
9269: Recreate status page r=lnicola a=Milo123459
I'm working on redesigning the status page.
Co-authored-by: Milo <50248166+Milo123459@users.noreply.github.com>
2021-06-29 19:53:19 +00:00
Milo
4d8fe6208e
fix
2021-06-29 20:34:52 +01:00
Milo
d85fa40d58
Update crates/ide/src/status.rs
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2021-06-29 20:32:33 +01:00
Lukas Wirth
9a1b9b3c78
Resolve attribute paths in attribute highlighting
2021-06-28 21:53:17 +02:00
Lukas Wirth
9957220dfe
Fix NameRef::classify
path resolution inside attributes
2021-06-28 19:07:23 +02:00
Milo
443d2164ef
remove unneeded ifs
2021-06-28 17:52:57 +01:00
Milo
2e60908fde
check if counts should be a thing
2021-06-28 17:50:24 +01:00
Lukas Wirth
34c28c1bbc
Include self
in usage search for modules in their definition source
2021-06-28 16:41:35 +02:00
Milo
d1821e4b6e
fix all reviews
2021-06-28 07:31:54 +01:00
Lukas Wirth
3ce5c66ca1
Deduplicate ast expression walking logic
2021-06-27 01:11:57 +02:00
bors[bot]
2ac1ffc0f3
Merge #9400
...
9400: fix: Fix renaming associated trait items with colliding names r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-25 01:48:50 +00:00
Lukas Wirth
942eeb2f55
Fix renaming associated trait items with colliding names
2021-06-25 03:45:41 +02:00
bors[bot]
83fc0db7e2
Merge #9397
...
9397: fix: Fix break point highlighting not considering outer labels r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-24 19:15:59 +00:00
Lukas Wirth
67075b228e
Fix break point highlighting not considering outer labels
2021-06-24 21:14:43 +02:00
bors[bot]
0f0dbdc7d1
Merge #9396
...
9396: feat: Highlight loop break points r=Veykril a=Veykril
![Code_HmWQMlioKr](https://user-images.githubusercontent.com/3757771/123318732-d47be280-d52f-11eb-8a9a-cb3f591d4195.png )
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-24 19:05:41 +00:00
Lukas Wirth
42efd211bc
Highlight label value block tails
2021-06-24 21:01:37 +02:00
Lukas Wirth
543f925353
Highlight loop break points
2021-06-24 20:57:02 +02:00
bors[bot]
264716e827
Merge #9375
...
9375: feat: Highlight exit and yield points r=Veykril a=Veykril
![Code_YBHOCF3DbU](https://user-images.githubusercontent.com/3757771/123128986-e1270a80-d44b-11eb-9854-065459a2dd50.png )
![Code_YyMhqES0LX](https://user-images.githubusercontent.com/3757771/123128988-e1bfa100-d44b-11eb-9c81-6a6031aad740.png )
Fixes #4691
Fixes #9365
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-24 15:23:25 +00:00
Lukas Wirth
d77655e5c3
Refine tail exit point highlighting to highlight inner tails
2021-06-24 17:19:27 +02:00
Lukas Wirth
d049783b5d
Simplify
2021-06-24 16:50:56 +02:00
Lukas Wirth
066bc4f3a4
Simplify
2021-06-24 01:32:56 +02:00
bors[bot]
b656751536
Merge #9380
...
9380: feat: Implement goto_declaration support r=matklad a=Veykril
This is just a simple implementation that falls back to `goto_definition` for everything but modules where it goes to the actual module declaration if possible.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-23 22:33:05 +00:00
Lukas Wirth
37d417868e
move goto_declaration fall back into handlers
2021-06-24 00:26:08 +02:00
Lukas Wirth
511ae17d07
Improve feature docs for highlight_related
2021-06-23 18:11:48 +02:00
Lukas Wirth
f283fce594
Mark (method-)calls with never type as exit points
2021-06-23 17:21:47 +02:00
Lukas Wirth
cc791538d6
Simplify
2021-06-23 17:05:00 +02:00
Lukas Wirth
12266d5e56
Strip leading whitespace from test ouput in references
2021-06-23 16:49:36 +02:00
Lukas Wirth
e406140f38
Implement exit point highlighting
2021-06-23 16:43:53 +02:00
Lukas Wirth
9a53f1033e
Implement yield point highlighting
2021-06-23 16:16:32 +02:00
Lukas Wirth
14b66bb458
Rename 'document_highlight' to 'highlight_related'
2021-06-23 15:13:48 +02:00
Lukas Wirth
b26a8ecca1
Move document highlighting computation from rust-analyzer to ide
2021-06-23 15:02:49 +02:00
Aramis Razzaghipour
3e7472f76c
Add public
semantic token modifier for public items
2021-06-23 09:40:04 +10:00
Lukas Wirth
5a74e93c33
Implement goto_declaration support
2021-06-22 20:49:07 +02:00
Lukas Wirth
f615efdfc3
Factor out pick_best_token
ide pattern into ide_db
2021-06-22 17:50:15 +02:00
bors[bot]
ff92afb4c1
Merge #9368
...
9368: fix: Prefer identifier tokens in expand_macro r=Veykril a=Veykril
Fixes #9366
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-22 10:06:34 +00:00
Lukas Wirth
b423c61ce6
Prefer identifier tokens in expand_macro
2021-06-22 12:03:51 +02:00
Lukas Wirth
65d683df36
Collapse documentation and markdown config settings into an enum
2021-06-21 21:57:01 +02:00
Lukas Wirth
99c95b8fa1
Split hover actions config into its own config struct
2021-06-21 21:47:54 +02:00
Jamie Cunliffe
ae823aa23f
Move features into potential_cfg_options
2021-06-21 17:54:05 +01:00
Jamie Cunliffe
284483b347
Improve completion of cfg attributes
...
The completion of cfg will look at the enabled cfg keys when
performing completion.
It will also look crate features when completing a feature cfg
option. A fixed list of known values for some cfg options are
provided.
For unknown keys it will look at the enabled values for that cfg key,
which means that completion will only show enabled options for those.
2021-06-21 17:47:00 +01:00
bors[bot]
25bf451c84
Merge #9264
...
9264: feat: Make documentation on hover configurable r=Veykril a=Veykril
This also implements deprecation support for config options as this renames `hoverActions_linksInHover` to `hover_linksInHover`.
Fixes #9232
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-21 14:15:49 +00:00
Jonas Schievink
8d2a33da05
Don't insert }
when typing {
in string
2021-06-21 14:54:49 +02:00
bors[bot]
f1097c2d26
Merge #9344
...
9344: fix: rename works when invoked on a reference r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-06-20 14:08:19 +00:00
Aleksey Kladov
cbb1979c19
fix: rename works when invoked on a reference
2021-06-20 17:07:55 +03:00
bors[bot]
3843bd02a0
Merge #9328
...
9328: internal: Update deps r=lnicola a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-06-20 03:22:13 +00:00
Milo
044e21ae08
remove num_format
2021-06-19 10:14:15 +01:00
Aleksey Kladov
7df6852b6e
minor: use minicore
2021-06-19 12:03:59 +03:00
Milo
673933e2f7
update crate and deps section
2021-06-19 09:44:11 +01:00
Milo
664cc8c754
use num_format
2021-06-19 08:12:46 +01:00
Milo
d2f7e0fea4
clean up some wording
2021-06-19 07:51:44 +01:00
Milo
08ec80c093
remove incorrect double blank new lines
2021-06-18 23:34:00 +01:00
Aleksey Kladov
a9623f3165
minor: use minicore
2021-06-18 23:38:19 +03:00
Aleksey Kladov
cc73abf72c
minor: use minicore
2021-06-18 23:33:01 +03:00
Aleksey Kladov
89a0e58393
internal: use minicore deref more
2021-06-18 22:47:02 +03:00
Aleksey Kladov
15c4b3fa7f
internal: add Copy to minicore
2021-06-18 22:10:52 +03:00
kjeremy
e0e694620c
Update test
2021-06-18 14:36:12 -04:00