Aramis Razzaghipour
4fd5248749
Add highlighting of items from other crates
2021-05-24 14:53:48 +10:00
Lukas Tobias Wirth
da74c66947
Correctly resolve crate name in use paths when import shadows itself
2021-05-23 19:37:01 +02:00
Aleksey Kladov
7283163bb9
Minor: fix comment style
...
See https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/style.md#documentation
2021-05-23 19:50:23 +03:00
Aramis Razzaghipour
4d4dbcfead
Give ‘unsafe’ semantic token modifier to unsafe traits
2021-05-23 21:45:10 +10:00
Aleksey Kladov
188b0f96f9
Add more docs
2021-05-22 16:53:47 +03:00
Jonas Schievink
271ec6b990
Add a "Debug ItemTree" LSP request
2021-05-21 23:59:52 +02:00
Lukas Tobias Wirth
2c7a8c4857
Fix prepare_rename failing for modules
2021-05-19 14:19:44 +02:00
rainy-me
e0b01f34bb
Add pub mod option for UnlinkedFile
2021-05-18 08:11:07 +09:00
Aleksey Kladov
75a0123614
fix: don't add extra whitespace around fields
...
closes #8785
2021-05-17 12:45:01 +03:00
Aleksey Kladov
21918c6f5e
minor: add missing tests
2021-05-17 12:37:22 +03:00
Aleksey Kladov
fa7fc0e5cb
internal: scalable module structure for fixits
2021-05-17 12:04:17 +03:00
Aleksey Kladov
db8fbb99ce
minor: extract fix to file
2021-05-17 11:40:34 +03:00
bors[bot]
ef6df1d994
Merge #8853
...
8853: Tag Self in impls as a TypeAlias r=matklad a=Veykril
bors r+
Fixes #4398
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-16 17:35:40 +00:00
Aleksey Kladov
1859df37fd
internal: use mutable syntax trees when filling fields
2021-05-16 18:10:56 +03:00
Lukas Wirth
90230e882d
Tag Self in impls as a TypeAlias
2021-05-16 15:12:58 +02:00
bors[bot]
a57bd59f35
Merge #8813
...
8813: Get some more array lengths! r=lf- a=lf-
This is built on #8799 and thus contains its changes. I'll rebase it onto master when that one gets merged. It adds support for r-a understanding the length of:
* `let a: [u8; 2] = ...`
* `let a = b"aaa"`
* `let a = [0u8; 4]`
I have added support for getting the values of byte strings, which was not previously there. I am least confident in the correctness of this part and it probably needs some more tests, as we currently have only one test that exercised that part (!).
Fixes #2922 .
Co-authored-by: Jade <software@lfcode.ca>
2021-05-16 01:53:12 +00:00
Lukas Wirth
4b5b54279a
Attach comments to ast::Impl
2021-05-15 17:32:28 +02:00
Lukas Wirth
3da52d2e93
simplify
2021-05-15 17:22:39 +02:00
hi-rustin
765ccf2eca
Address comments
2021-05-14 17:47:16 +08:00
hi-rustin
b98c119ba6
Apply async semantic token modifier to async/await keywords
...
Only async semantic token modifier
2021-05-14 10:47:00 +08:00
bors[bot]
c9c9b4e9ed
Merge #8823
...
8823: Enable OPTION::ENABLE_TASKLISTS in pulldown_cmark r=Veykril a=Veykril
Closes #8821
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-13 16:41:25 +00:00
Lukas Wirth
07fe9a890d
Enable OPTION::ENABLE_TASKLISTS in pulldown_cmark
2021-05-13 15:09:46 +02:00
Jade
73023c0299
Support length for ByteStrings
...
I am not confident that my added byte string parsing is right.
2021-05-12 21:22:46 -07:00
bors[bot]
312f1fe20a
Merge #8799
...
8799: Add basic support for array lengths in types r=flodiebold a=lf-
This recognizes `let a = [1u8, 2, 3]` as having type `[u8; 3]` instead
of the previous `[u8; _]`. Byte strings and `[0u8; 2]` kinds of range
array declarations are unsupported as before.
I don't know why a bunch of our rustc tests had single quotes inside
strings un-escaped by `UPDATE_EXPECT=1 cargo t`, but I don't think it's
bad? Maybe something in a nightly?
Co-authored-by: Jade <software@lfcode.ca>
2021-05-12 14:49:43 +00:00
Jonas Schievink
23cd6d0d56
Move dot
invocation to rust-analyzer crate
2021-05-12 00:14:59 +02:00
Jonas Schievink
d1aa6bbe75
Better node label/shapes
2021-05-11 19:50:01 +02:00
Jonas Schievink
5b3af25121
Only include workspace crates
2021-05-11 19:17:43 +02:00
Jonas Schievink
9e6d9baf2e
Update crates/ide/src/view_crate_graph.rs
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2021-05-11 16:42:27 +02:00
Jonas Schievink
435c422963
Distinguish crates with identical name
2021-05-11 16:36:00 +02:00
Jonas Schievink
a85a2c4d15
Allow viewing the crate graph in a webview
2021-05-11 16:15:31 +02:00
Jade
dc63fea427
Add basic support for array lengths in types
...
This recognizes `let a = [1u8, 2, 3]` as having type `[u8; 3]` instead
of the previous `[u8; _]`. Byte strings and `[0u8; 2]` kinds of range
array declarations are unsupported as before.
I don't know why a bunch of our rustc tests had single quotes inside
strings un-escaped by `UPDATE_EXPECT=1 cargo t`, but I don't think it's
bad? Maybe something in a nightly?
2021-05-11 05:25:19 -07:00
Jonas Schievink
e718c6b3e8
feat: auto-indent use tree lists
2021-05-10 15:10:56 +02:00
Jonas Schievink
64f97fb2ad
feat: auto-insert }
when typing {
in use item
2021-05-09 22:12:58 +02:00
Aleksey Kladov
edeb492782
minor: fix test style
2021-05-09 17:47:02 +03:00
Aleksey Kladov
5637ce4250
fix: join lines doesn't add space before closing quote
2021-05-09 17:46:41 +03:00
Aleksey Kladov
e0da3da0d9
fix: join lines doesn't add space before closing quote
2021-05-09 17:19:18 +03:00
Lukas Wirth
3a346412cf
Don't handle Self as a usage for TraitDefs
2021-05-08 23:35:18 +02:00
Lukas Wirth
41f470fea8
Correctly support SelfType when searching for usages
2021-05-08 22:34:55 +02:00
Jonas Schievink
e2b664e9fd
fix: use raw idents in make::name{_ref}
with keywords
2021-05-07 17:22:54 +02:00
bors[bot]
a8da2ca3a1
Merge #8745
...
8745: Support goto_type_definition for types r=matklad a=Veykril
I'm unsure if the approach of lowering an `ast::Type` to a `hir::Type` is a good idea, it seems fine to me at least.
Fixes #2882
Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
2021-05-06 22:28:35 +00:00
Lukas Tobias Wirth
d97a4b8e49
Support goto_type_definition for types
2021-05-06 17:05:49 +02:00
bors[bot]
c3596371d8
Merge #8674
...
8674: fix for #8664 : Emit folding ranges for multi-line where clauses r=matklad a=m5tfi
#8664
I added a test that assert folding multi-line where clauses while leaving single lined one. Please, let me know if the code needs further improvements.
Co-authored-by: m5tfi <72708423+m5tfi@users.noreply.github.com>
2021-05-05 21:14:12 +00:00
Lukas Tobias Wirth
3f796fea9f
simplify
2021-05-05 22:55:12 +02:00
m5tfi
c2cf34db90
remove unneeded visited_where_clauses
2021-05-05 06:28:41 +02:00
bors[bot]
d9f1b5fc7c
Merge #8719
...
8719: Fix block comment intra doc link injection ranges r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
2021-05-04 12:00:30 +00:00
Lukas Tobias Wirth
5a78d96d0e
Fix block comment intra doc link injection ranges
2021-05-04 13:51:57 +02:00
Kirill Bulatov
53a73de3d1
Small fixes
2021-05-03 18:45:30 +03:00
Kirill Bulatov
8089a227f4
Tests added
2021-05-03 18:40:04 +03:00
Kirill Bulatov
28293d370f
Add docs and use better naming
2021-05-03 18:16:35 +03:00
Kirill Bulatov
1679a376f3
Resolve single assist only
2021-05-03 18:03:28 +03:00
Kirill Bulatov
e5cdcb8b12
Add a way to resolve certain assists
2021-05-03 17:14:49 +03:00
Aleksey Kladov
cd69307aee
fix: don't duplicate Progerss::Finised for cache priming
2021-05-02 21:45:00 +03:00
Aleksey Kladov
1a01a5ae19
internal: fix naming polarity
...
Type Constructors have *parameters*, when they are substituted with type
*arguments*, we have a type.
2021-04-30 11:55:59 +03:00
m5tfi
5778ab1e41
add folding for where clauses
2021-04-30 10:18:36 +02:00
Bastian Kersting
421cf9a1bd
Fixed formatting
2021-04-26 11:37:28 +02:00
Bastian Kersting
336b81abd7
Added mutable semantic token modifier for &mut self methods
2021-04-26 09:24:18 +02:00
Danny Zhu
09fc5e1dd7
Check more carefully for cases where a rename can't be done
...
Attempting to rename an element of a tuple field would previously
replace the type with the new name, which doesn't make sense; now it
fails instead.
The check is done in both `prepare_rename` and `rename` so that the case
is caught before the user is prompted for a new name. Some other
existing failure cases are also now additionally checked in
`prepare_rename`.
2021-04-25 14:08:56 -07:00
Lukas Wirth
1e88f5ec8e
Simplify highlight token match guards
2021-04-23 17:27:18 +02:00
Lukas Wirth
ef6f596b4b
Sort HlMod variants and ALL const
2021-04-23 17:24:58 +02:00
Lukas Wirth
c005ce60a0
Tag yield
and await
as ControlFlow in semantic highlighting
2021-04-23 17:24:45 +02:00
Aleksey Kladov
cdfe5a8be0
fix: no more Registering progress handler for token rustAnalyzer/Indexing failed.
2021-04-20 22:54:05 +03:00
bors[bot]
b6a7276c54
Merge #8586
...
8586: Replace SyntaxRewriter usage with ted in eager::eager_macro_recur r=Veykril a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-04-19 18:03:56 +00:00
Lukas Wirth
952fc23694
Replace SyntaxRewriter with ted in exppand_macro::expand_macro_recur
2021-04-19 19:43:26 +02:00
bors[bot]
2b5f35ca4b
Merge #8582
...
8582: Fix typo: comparision -> comparison r=kjeremy a=stanciuadrian
Closes #8576
Co-authored-by: Adrian Stanciu <stanciu.adrian@gmail.com>
2021-04-19 15:47:18 +00:00
Adrian Stanciu
1c75d8975c
Fix typo: comparision -> comparison
2021-04-19 18:44:38 +03:00
Lukas Wirth
6142afeafd
Support crates/module roots in external_docs
2021-04-19 15:50:04 +02:00
Lukas Wirth
2f62c0117a
Check for rust doc code attributes like rustdoc does
2021-04-19 13:32:52 +02:00
Lukas Wirth
8a959497b1
Don't require all doc fences to be valid for identifying rust code
2021-04-19 11:41:45 +02:00
bors[bot]
75bf832899
Merge #8540
...
8540: Prevent being able to rename items that are not part of the workspace r=Veykril a=Veykril
This change causes renames that happen on items coming from crates outside the workspace to fail. I believe this should be the right approach, but usage of cargo's workspace might not be entirely correct for preventing these kinds of refactoring from touching things they shouldn't. I'm not entirely sure?
cc #6623 , this is one of the bigger footguns when it comes to refactoring, especially in combination with import aliases people tend to rename items coming from a crates dependency which this prevents.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-04-19 07:57:40 +00:00
Lukas Wirth
c447a795ab
Prevent being able to rename items that are not part of the workspace
2021-04-18 12:44:00 +02:00
Chayim Refael Friedman
6c287e1504
Accept E<error_number>
notation in doctests
...
```compile_fail,E0000
```
The code was stolen from rustdoc at 392ba2ba1a/src/librustdoc/html/markdown.rs (L866-L867)
2021-04-18 06:15:40 +03:00
Jonas Schievink
ff858376aa
Include path in unresolved-macro-call
diagnostic
2021-04-16 15:48:03 +02:00
Jonas Schievink
30aae2cefb
Move cursor position when using item movers
2021-04-14 00:03:04 +02:00
Jonas Schievink
43071e81a6
internal: follow test style guide in typing.rs
2021-04-13 14:31:05 +02:00
bors[bot]
03e0bf7f55
Merge #8354
...
8354: Distinguishing between different operators in semantic highlighting r=matklad a=chetankhilosiya
Co-authored-by: Chetan Khilosiya <chetan.khilosiya@gmail.com>
2021-04-13 11:46:23 +00:00
bors[bot]
0c02208fd8
Merge #8489
...
8489: Indent block expressions on enter r=matklad a=jonas-schievink
This improves on https://github.com/rust-analyzer/rust-analyzer/pull/8388 by also indenting the created block expression on enter.
![on enter](https://user-images.githubusercontent.com/1786438/114444123-cb38d600-9bce-11eb-8af2-8e8d1c0f9908.gif )
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-04-13 10:06:36 +00:00
bors[bot]
d8120ed1a0
Merge #8500
...
8500: internal: fix flakiness of accidentally quadratic test r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-04-13 09:56:45 +00:00
Aleksey Kladov
327323ad25
internal: fix flakiness of accidentally quadratic test
2021-04-13 12:56:24 +03:00
Aleksey Kladov
db2a989565
internal: don't use #[should_panic]
for tests
2021-04-13 12:21:59 +03:00
Aleksey Kladov
06a633ff42
feat: improve performance by delaying computation of fixes for diagnostics
2021-04-13 12:09:04 +03:00
Aleksey Kladov
04b5fcfdb2
Ensure that listing&resolving code actions use the same set of actions
2021-04-13 11:27:00 +03:00
Jonas Schievink
a8ca4666f1
Add a cov_mark
2021-04-13 00:51:10 +02:00
Jonas Schievink
89f015ead9
Simplify multiline check
2021-04-12 21:41:44 +02:00
Jonas Schievink
dd1832c016
Indent block expressions on enter
2021-04-12 20:35:38 +02:00
Jakub Kądziołka
2f60cec3ac
Fix typo: liner -> linear
...
🙈
2021-04-12 20:20:25 +02:00
Aleksey Kladov
426d098bd6
internal: prepare for lazy diagnostics
2021-04-12 17:58:01 +03:00
Jonas Schievink
e2c1da36f5
Support macros in pattern position
2021-04-11 01:25:50 +02:00
Aleksey Kladov
e012efca27
Let's try testing for "is not quadratic" condition
2021-04-10 12:43:07 +03:00
Jonas Schievink
ac980e96e5
Shrink unlinked-file
diagnostic to 3 characters
2021-04-09 14:22:38 +02:00
bors[bot]
354151df35
Merge #8429
...
8429: 8425: Added documentation for on enter covering //! doc comments. r=jonas-schievink a=chetankhilosiya
Also added passing test case.
Co-authored-by: Chetan Khilosiya <chetan.khilosiya@gmail.com>
2021-04-08 23:33:36 +00:00
Chetan Khilosiya
4a9dd149aa
8024: Added the trait modifier for assoc types.
2021-04-09 01:00:35 +05:30
Chetan Khilosiya
a8b5400cc6
8425: Added documentation for on enter covering //! doc comments.
...
Also added passing test case.
2021-04-09 00:31:07 +05:30
Chetan Khilosiya
b232549653
8279: Fix the not operator use and test case fix.
2021-04-08 22:58:26 +05:30
Chetan Khilosiya
1735b3ef6a
8279: Added initial implementation for
...
Operator semantic highlighting.
2021-04-08 22:58:26 +05:30
bors[bot]
94d9fc2a28
Merge #8421
...
8421: Reduce allocations in "Expand macro" formatter r=edwin0cheng a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-04-08 15:43:30 +00:00
Laurențiu Nicola
48b946bde1
Reduce allocations in Expand macro
2021-04-08 17:37:43 +03:00
Lukas Wirth
4b555ab1d9
Emit folding ranges for multiline array literals
2021-04-08 00:12:11 +02:00
Jonas Schievink
d789cf8f31
Document }
insertion
2021-04-07 17:19:42 +02:00
Jonas Schievink
39d59fb06f
Make better use of stdx::always
2021-04-07 16:44:25 +02:00
Jonas Schievink
3f599ae4ed
Rewrite, reparse modified file
2021-04-07 16:38:04 +02:00