Aleksey Kladov
a1c187eef3
Rename ra_syntax -> syntax
2020-08-12 18:30:53 +02:00
Aleksey Kladov
208b7bd7ba
Rename ra_prof -> profile
2020-08-12 16:35:29 +02:00
bors[bot]
5b8fdfe231
Merge #5553
...
5553: Add fix ranges for diagnostics r=matklad a=SomeoneToIgnore
A follow-up of https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Less.20red.20in.20the.20code
Now diagnostics can apply fixes in a range that's different from the range used to highlight the diagnostics.
Previous logic did not consider the fix range, having both ranges equal, which could cause a lot of red noise in the editor.
Now, the fix range gets used with the fix, the diagnostics range is used for everything else which allows to improve the error highlighting.
before:
<img width="191" alt="image" src="https://user-images.githubusercontent.com/2690773/88590727-df9a6a00-d063-11ea-97ed-9809c1c5e6e6.png ">
after:
<img width="222" alt="image" src="https://user-images.githubusercontent.com/2690773/88590734-e1fcc400-d063-11ea-9b7c-25701cbd5352.png ">
`MissingFields` and `MissingPatFields` diagnostics now have the fix range as `ast::RecordFieldList` of the expression with an error (as it was before this PR), and the diagnostics range as a `ast::Path` of the expression, if it's present (do you have any example of `ast::Expr::RecordLit` that has no path btw?).
The rest of the diagnostics have both ranges equal, same as it was before this PR.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-08-12 13:44:13 +00:00
Kirill Bulatov
db12ccee96
Better naming and docs
2020-08-11 17:52:05 +03:00
Kirill Bulatov
c8cad76d25
Improve the ide diagnostics trait API
2020-08-11 15:09:08 +03:00
Kirill Bulatov
29fbc8e021
Move the DiagnosticsWithFix trait on the ide level
2020-08-11 15:09:08 +03:00
Kirill Bulatov
9368619939
Make the fix AST source Optional
2020-08-11 15:09:08 +03:00
Kirill Bulatov
9963f43d51
Refactor the diagnostics
2020-08-11 15:09:08 +03:00
Kirill Bulatov
ee1586c1ed
Better naming
2020-08-11 15:09:08 +03:00
Paul Daniel Faria
2199d0cda9
Fix type names broken by rebase, redo expected test because of rebase
2020-08-10 08:46:34 -04:00
Paul Daniel Faria
61dff939f9
Move unsafe semantics methods into SemanticsImpl
and reference them in Semantics
2020-08-10 08:46:34 -04:00
Paul Daniel Faria
39fdd41df4
Return bool from is_unsafe_method_call and cleanup usages
2020-08-10 08:46:34 -04:00
Paul Daniel Faria
a6af0272f7
Move semantic logic into Semantics, fix missing tag for safe amp operator, using functional methods rather than clunky inline closure
2020-08-10 08:46:34 -04:00
Paul Daniel Faria
08182aa9fa
Move unsafe packed ref logic to Semantics, use Attrs::by_key
to simplify repr attr lookup
2020-08-10 08:44:54 -04:00
Paul Daniel Faria
6cde0b1aa0
Add support for extern crate
...
This adds syntax highlighting, hover and goto def
functionality for extern crate
2020-08-08 14:14:18 -04:00
Aleksey Kladov
9818108798
Rename BindPat -> IdentPat
2020-07-31 20:12:10 +02:00
Aleksey Kladov
14cb96ec0e
Allign RecordPat with RecordExpr
2020-07-31 20:00:48 +02:00
Aleksey Kladov
c5798c4d75
Finalize impl Grammar
2020-07-30 18:28:28 +02:00
Aleksey Kladov
c83467796b
Finalize Trait grammar
2020-07-30 18:17:28 +02:00
Aleksey Kladov
3cd4112bdc
Finalize const&static grammar
2020-07-30 18:02:20 +02:00
Aleksey Kladov
1766aae145
Rename EnumVariant -> Variant
2020-07-30 17:56:53 +02:00
Aleksey Kladov
609680ef97
Rename EnumDef -> Enum
2020-07-30 17:52:53 +02:00
Aleksey Kladov
216a5344c8
Rename StructDef -> Struct
2020-07-30 17:50:40 +02:00
Aleksey Kladov
1ae4721c9c
Finalize union grammar
2020-07-30 17:38:52 +02:00
Aleksey Kladov
0a9e3ccc26
Rename FieldDef -> Field
2020-07-30 16:49:13 +02:00
Aleksey Kladov
6f8aa75329
Rename RecordLit -> RecordExpr
2020-07-30 16:21:30 +02:00
Aleksey Kladov
eb2f806344
Rename TypeAliasDef -> TypeAlias
2020-07-30 15:25:46 +02:00
Aleksey Kladov
1142112c70
Rename FnDef -> Fn
2020-07-30 15:16:05 +02:00
Aleksey Kladov
a432f87d66
Cache macro expansion in semantics
...
#5497 accidentally made syntax highlighting quadratic, due to
repeated tokentreeizing of macros.
2020-07-24 14:12:13 +02:00
Aleksey Kladov
b9ef6cf295
Add missing cancellation point
2020-07-24 13:51:27 +02:00
Aleksey Kladov
c0d8921148
Add profiling call
2020-07-24 13:13:36 +02:00
Aleksey Kladov
ff0312fa32
Semantical call info
2020-07-16 18:03:04 +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
Aleksey Kladov
3fc4916b53
Reduce visibility
2020-07-11 12:31:50 +02:00
Aleksey Kladov
a36ff4a100
Speed up completion
2020-07-11 01:26:24 +02:00
Aleksey Kladov
f4147f6a34
Dont expose ID
2020-07-10 14:11:31 +02:00
Aleksey Kladov
9c54537ecf
Rename
2020-07-10 14:09:31 +02:00
Aleksey Kladov
b85042601d
Goto type definition works for self
2020-07-10 14:08:35 +02:00
Laurențiu Nicola
d89827f9e0
Make less code generic
2020-07-01 14:38:42 +03:00
Laurențiu Nicola
e8505f14d4
Try to reduce Semantics monomorphisations
2020-07-01 14:38:42 +03:00
Laurențiu Nicola
5953cbd7ae
Make SemanticsScope non-generic
2020-07-01 09:34:45 +03:00
Timo Freiberg
f5ac313000
Add quickfix to add a struct field
2020-06-12 18:52:44 +02:00
Aleksey Kladov
fac7b0e252
Don't guess macro expansion crate
2020-06-11 12:13:14 +02:00
Hasan Ali
bb78d314e1
Add doc comment for resolve_hir_path_qualifier
2020-05-16 20:40:58 +01:00
Hasan Ali
001a86dc03
Fix completion and hover for module and function of same name
2020-05-16 01:09:04 +01:00
Edwin Cheng
44f5e2048c
Remove lower_path from AssistCtx to Semantic
2020-05-01 20:05:12 +08:00
Jonas Schievink
15233a467d
?
2020-04-30 00:10:30 +02:00
Jonas Schievink
cafa7a780a
Use or-patterns more
2020-04-30 00:10:30 +02:00
Jonas Schievink
3e41483932
Remove .clone()
2020-04-30 00:10:30 +02:00
Jonas Schievink
3cb73da949
Rename to associated_type_shorthand_candidates
2020-04-30 00:10:30 +02:00