Leander Tentrup
c4b3db0c2f
Syntactic highlighting of NAME_REF for injections
...
This commit adds a function that tries to determine the syntax highlighting class of NAME_REFs based on the usage.
It is used for highlighting injections (such as highlighting of doctests) as the semantic logic will most of the time result in unresolved references.
It also adds a color to unresolved references in HTML encoding.
2020-06-15 22:13:53 +02:00
bors[bot]
5b013e5665
Merge #4877
...
4877: Fix syntax highlighting of recursive macros r=matklad a=ltentrup
Add syntax highlighting for the BANG (`!`) token if the parent is `MACRO_CALL`.
Before:
<img width="514" alt="before" src="https://user-images.githubusercontent.com/201808/84595030-11f65c00-ae56-11ea-9bb2-b1abe2236990.png ">
After:
<img width="516" alt="recursive-macro" src="https://user-images.githubusercontent.com/201808/84594981-d196de00-ae55-11ea-8636-f877d5d795ff.png ">
Fixes #4694 .
Co-authored-by: Leander Tentrup <leander.tentrup@gmail.com>
2020-06-15 13:44:46 +00:00
Leander Tentrup
06f89e5f3a
Fix syntax highlighting of recursive macros
...
Add syntax highlighting for the BANG (`!`) token if the parent is `MACRO_CALL`.
2020-06-15 15:03:13 +02:00
Aleksey Kladov
52a220cece
Deprecate hir::Path::from_ast
2020-06-15 10:55:48 +02:00
Benjamin Coenen
36d9105d0e
display Doctest code lens before comment #4785
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-06-14 21:50:24 +02:00
bors[bot]
d00ca86da4
Merge #4868
...
4868: Fix if and while postfix completions r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-13 12:12:08 +00:00
Aleksey Kladov
7dafe951d4
Fix if and while postfix completions
2020-06-13 14:06:13 +02:00
Aleksey Kladov
b99b4953c9
More concise completion tests
2020-06-13 13:57:18 +02:00
Aleksey Kladov
ef70076f1d
Cleanup
2020-06-13 13:47:30 +02:00
Mikhail Rakhmanov
912f38200f
Add keywords completions on source file position
2020-06-13 10:43:39 +02:00
Mikhail Rakhmanov
16bbf4ab7f
Merge branch 'master' into keyword_completion
...
# Conflicts:
# docs/user/generated_features.adoc
2020-06-13 08:42:15 +02:00
Mikhail Rakhmanov
eeb8b9e236
Fix tests and remove unused methods
2020-06-13 01:21:48 +02:00
Mikhail Rakhmanov
6feb52c12a
Add more patterns, tests and fix keywords
2020-06-13 00:55:21 +02:00
Mikhail Rakhmanov
3576671043
Rewrite snapshot checks
2020-06-12 20:30:57 +02:00
Timo Freiberg
f5ac313000
Add quickfix to add a struct field
2020-06-12 18:52:44 +02:00
OptimalStrategy
591b5ec2c1
simplify determining whether the field is a tuple field
2020-06-12 10:16:19 -04:00
Mikhail Rakhmanov
42a719ad25
Remove comment and incorrect assert
2020-06-12 13:14:53 +02:00
Mikhail Rakhmanov
d38bf1624d
Return snapshots to tests
2020-06-12 13:09:42 +02:00
Mikhail Rakhmanov
f123539ad2
More assert refactoring
2020-06-12 12:15:53 +02:00
Mikhail Rakhmanov
4c92f2d190
Add more pattern tests
2020-06-12 10:12:15 +02:00
Mikhail Rakhmanov
396167eadb
New testing approach for keywords
2020-06-12 08:49:12 +02:00
OptimalStrategy
59f195a323
Fix invalid shorthand initialization diagnostic for tuple structs
2020-06-12 01:11:54 -04:00
Mikhail Rakhmanov
a2b4385f16
Add few smoke tests for patterns and refactoring
2020-06-12 00:17:30 +02:00
Mikhail Rakhmanov
f46bc12199
Add more patterns and keywords
2020-06-11 23:25:58 +02:00
bors[bot]
bd61ad756c
Merge #4849
...
4849: Make known paths use `core` instead of `std` r=matklad a=jonas-schievink
I'm not sure if this causes problems today, but it seems like it easily could, if rust-analyzer processes the libstd sources for the right `--target` and that target is a `#![no_std]`-only target.
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-06-11 15:30:05 +00:00
Jonas Schievink
215e229dd1
Update wrap return tests
...
Update "no diagnostic" tests, use `()` instead of `String`
2020-06-11 17:28:32 +02:00
Aleksey Kladov
279a1ae564
Indent chain .
even if there's more stuff afterwards
2020-06-11 17:13:24 +02:00
Jonas Schievink
90331ea035
Make known paths use core
instead of std
2020-06-11 16:23:20 +02:00
Mikhail Rakhmanov
eb4004fdb8
Add todo
2020-06-11 14:32:14 +02:00
Mikhail Rakhmanov
9f91901f7e
Add more keywords
2020-06-11 14:16:35 +02:00
Aleksey Kladov
db1cadd444
In field patterns, don't highlight local binding as a field
2020-06-10 12:34:23 +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
Aleksey Kladov
2a42904680
Simplify
2020-06-08 21:48:23 +02:00
Aleksey Kladov
3b4d000250
Better unsafe highlihgting tests
2020-06-08 15:23:03 +02:00
Aleksey Kladov
c476f71bdf
Highlight only the unsafe operator itself
2020-06-08 15:03:14 +02:00
bors[bot]
83fd0fb355
Merge #4775
...
4775: Add goto def for enum variant field r=matklad a=unexge
Closes #4764 . I'm not familiar with ra codebase, there might be better ways to do that 😄
Co-authored-by: unexge <unexge@gmail.com>
2020-06-08 12:46:12 +00:00
unexge
48b6dd0b33
Use explicit match for extracting def from classify_name
2020-06-08 15:38:10 +03:00
bors[bot]
db36a25839
Merge #4683
...
4683: Implement syntax highlighting for doctests r=ltentrup a=ltentrup
The implementation is more complicated than the previous injection logic as the doctest comments consist of multiple ranges. The implementation extracts the doctests together with an offset-mapping, applies the syntax highlighting, and updates the text ranges.
<img width="478" alt="Bildschirmfoto 2020-06-01 um 15 45 25" src="https://user-images.githubusercontent.com/201808/83415249-1f0b5800-a41f-11ea-8fa6-c282434d6ff7.png ">
Part of #4170 .
Co-authored-by: Leander Tentrup <leander.tentrup@gmail.com>
2020-06-08 12:26:33 +00:00
Leander Tentrup
4a2efb2f42
Implement syntax highlighting for doctests
2020-06-08 14:18:16 +02:00
unexge
c5d5d21858
Add FieldShorthand
variant to NameClass
2020-06-08 14:46:58 +03:00
bors[bot]
6e4fca5882
Merge #4773
...
4773: Run|Debug hover actions. r=matklad a=vsrs
![hover_actions_run](https://user-images.githubusercontent.com/62505555/83335644-dfc1f780-a2b6-11ea-820b-ccaa82290e7d.gif )
This hover actions work exactly like corresponding lenses.
Co-authored-by: vsrs <vit@conrlab.com>
2020-06-08 11:29:35 +00:00
vsrs
b7db9f058a
Apply suggestions from code review
2020-06-08 14:19:40 +03:00
bors[bot]
d8552d114c
Merge #4781
...
4781: Remove redundancy in syntax highlighting tests r=matklad a=ltentrup
Follow up from #4683 . Improves syntax highlighting testing by introducing a function that contains the boilerplate comparison code. Keeps the `ra_fixture` argument in the first position, thus, the editor syntax highlighting injection still works.
Co-authored-by: Leander Tentrup <leander.tentrup@gmail.com>
2020-06-08 09:48:38 +00:00
Leander Tentrup
3aaaf924cb
Fix bug in lexer for format specifier where the type
and width
were not correctly distinguished
2020-06-07 22:57:24 +02:00
Leander Tentrup
65943c0585
Remove redundancy in syntax highlighting tests
2020-06-07 14:50:02 +02:00
unexge
73684a4ae2
Add goto def for enum variant field
2020-06-06 22:16:59 +03:00
vsrs
46084f8a96
Disable runnables lookup in macro-generated code.
2020-06-06 20:10:36 +03:00
vsrs
3434f1dd2c
Add Run|Debug hover actions
2020-06-06 18:17:52 +03:00
vsrs
de74c0dcab
Preliminary runnables refactoring
2020-06-06 18:17:52 +03:00
Florian Diebold
a4a4a1854e
Fix type parameter defaults
...
They should not be applied in expression or pattern contexts, unless there are
other explicitly given type args.
2020-06-05 20:09:13 +02:00