Commit Graph

984 Commits

Author SHA1 Message Date
Aleksey Kladov
6da22ed975 Redner self as param for call infor for assoc fn call 2020-07-16 18:24:26 +02:00
Aleksey Kladov
a4e9681c79 Better module structure 2020-07-16 18:13:43 +02:00
Aleksey Kladov
29832b8c3d Reduce visibility 2020-07-16 18:07:53 +02:00
Aleksey Kladov
ff0312fa32 Semantical call info 2020-07-16 18:03:04 +02:00
Aleksey Kladov
b5ce84b170 Align CallableDefId naming with other ids 2020-07-16 13:16:34 +02:00
Aleksey Kladov
1d6cf33663 Simplify 2020-07-16 11:37:26 +02:00
Aleksey Kladov
bb2613ed4d Move type 2020-07-16 10:29:21 +02:00
Aleksey Kladov
1d63b3efc9 simplify 2020-07-16 10:25:36 +02:00
Leander Tentrup
119e71d9ea Add new Punctuation highlight tag 2020-07-15 16:42:47 +02:00
Leander Tentrup
33832d43fc Highlight punctuation as HighlightTag::Operator 2020-07-15 16:40:38 +02:00
Aleksey Kladov
0908318171 Show fewer syntax errors 2020-07-15 16:06:04 +02:00
bors[bot]
6f3c8dc11d
Merge #5345
5345: Semantic Highlighting: Emit mutable modifier for 'self' when applicable r=matklad a=Veykril

This PR implements emitting the mutable modifier for the self keyword when applicable for semantic highlighting as mentioned in #5041. The rendered highlighting test html file:
![firefox_5lbsFNBqsT](https://user-images.githubusercontent.com/3757771/87346245-a5a07280-c551-11ea-9051-e5901255f8c9.png)
As you can see it does not emit the modifier when `self` is not used in a mutable context even if it is declared mutably in the enclosing function. I'm not sure if this is actually something wanted or not.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-07-15 10:00:10 +00:00
Aleksey Kladov
fac1b0def1 Off by one error when determining the active param
closes #3615
2020-07-15 10:14:23 +02:00
Aleksey Kladov
1f411f87ea Refactor CallInfo tests 2020-07-15 10:09:10 +02:00
Jonas Schievink
2163ceb7ef Fix classify_name_ref on multi-path macro calls 2020-07-14 17:23:33 +02:00
Aleksey Kladov
f7f4ea633b Don't duplicate parens in patterns 2020-07-14 13:51:43 +02:00
Aleksey Kladov
f823386db8 Add mark 2020-07-14 13:46:29 +02:00
Yuki Okushi
6f423466d1
Add a license field to all the crates 2020-07-14 10:57:26 +09:00
Lukas Wirth
91b35d8827 Semantic Highlighting: Emit mutable modifier for 'self' when applicable 2020-07-13 21:39:01 +02:00
Aleksei Trifonov
e78d468b22 Fix ignore attribute autocompletion 2020-07-12 11:17:15 +03:00
Aleksey Kladov
b34cdf7bf4 Implementations lens for unions
closes #4728
2020-07-11 22:53:31 +02:00
Aleksey Kladov
e1d6b7f7c4 Use dedicated semantic highlight tag for parameters
closes #5106
2020-07-11 14:51:41 +02:00
Aleksey Kladov
8c4919c9fd Fix goto definition for type alias type parameters
closes https://github.com/rust-analyzer/rust-analyzer/issues/5042
2020-07-11 12:45:30 +02:00
bors[bot]
6c1546c3a4
Merge #4996
4996: Correctly generate new struct field in file containing struct def r=matklad a=TimoFreiberg

WIP because the test doesn't pass.
Testing the fix by hand looked good, although quickfixes seem to not support setting the editor cursor yet, which i think we want for "generate missing defs from usage" fixes.


Co-authored-by: Timo Freiberg <timo.freiberg@gmail.com>
2020-07-11 09:51:31 +00:00
Aleksey Kladov
a36ff4a100 Speed up completion 2020-07-11 01:26:24 +02:00
Timo Freiberg
43079ba80d Correctly generate new struct field in file containing struct def 2020-07-10 19:16:41 +02:00
Aleksey Kladov
3558736582 Better name 2020-07-10 17:56:55 +02:00
Aleksey Kladov
2d20c8f218 Don't add braces after struct
Unit structs are a thing
2020-07-10 17:42:18 +02:00
Aleksey Kladov
e4983daa5e Better complete expression keywords 2020-07-10 17:41:43 +02:00
Aleksey Kladov
51dd06566e Complete params in nested fns 2020-07-10 16:29:14 +02:00
Aleksey Kladov
d02aabe633 Complete parameters more aggressively 2020-07-10 16:07:12 +02:00
Aleksey Kladov
74d376763c Refresh tests 2020-07-10 16:05:01 +02:00
Aleksey Kladov
075380dd56 Look through Arc for goto type definition 2020-07-10 14:42:26 +02:00
Aleksey Kladov
cd4502fd47 Simplify tests 2020-07-10 14:39:05 +02:00
Aleksey Kladov
b85042601d Goto type definition works for self 2020-07-10 14:08:35 +02:00
yihuang
17ff67dd7e
Only take first 500 syntax errors
Too many syntax errors make some editor/ide slow, fix #3434.
2020-07-10 17:30:57 +08:00
Aleksey Kladov
68706b59c9 Don't mess with cursor position when adding hashes 2020-07-09 19:21:41 +02:00
bors[bot]
1fb92d791e
Merge #5284
5284: Fold struct literals r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-09 16:49:44 +00:00
Aleksey Kladov
ca8969a104 Fold struct literals 2020-07-09 18:49:17 +02:00
bors[bot]
89c7c55995
Merge #5270
5270: Add argument count mismatch diagnostic r=matklad a=jonas-schievink

Closes https://github.com/rust-analyzer/rust-analyzer/issues/4025.

This currently has one false positive on this line, where `max` is resolved to `Iterator::max` instead of `Ord::max`:

8aa10c00a4/crates/expect/src/lib.rs (L263)

(I have no idea why it thinks that `usize` is an `Iterator`)

TODO:
* [x] Tests
* [x] Improve diagnostic text for method calls

Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-07-09 15:34:43 +00:00
Aleksey Kladov
65d9966a4f Always put config first 2020-07-09 16:12:53 +02:00
Jonas Schievink
73327c647d Remove unnecessary DiagnosticSink handlers 2020-07-09 15:50:35 +02:00
Aleksey Kladov
117392e879 Remove insta from ra_ide 2020-07-09 14:33:57 +02:00
Aleksey Kladov
fb0bc941a5 Cleanup diagnostics tests 2020-07-09 14:33:03 +02:00
Aleksey Kladov
ea68a1d0c9 Reduce code duplication 2020-07-09 13:59:49 +02:00
Jonas Schievink
63ce2c7b5f Add argument count mismatch diagnostic 2020-07-09 12:16:29 +02:00
Aleksey Kladov
4399eff2d0 Re-enable IDE features for incomplete impl blocs 2020-07-09 12:14:26 +02:00
Aleksey Kladov
2aa27d612e expect should be a dev dep 2020-07-09 10:59:41 +02:00
Aleksey Kladov
c66812193e Prettier rendering 2020-07-09 10:31:12 +02:00
Aleksey Kladov
e7c47eb7f5 Streamline 2020-07-09 10:19:37 +02:00