Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/inlay_hints/chaining.rs')
-rw-r--r--crates/ide/src/inlay_hints/chaining.rs93
1 files changed, 85 insertions, 8 deletions
diff --git a/crates/ide/src/inlay_hints/chaining.rs b/crates/ide/src/inlay_hints/chaining.rs
index 1e1771259b..ce1e03a069 100644
--- a/crates/ide/src/inlay_hints/chaining.rs
+++ b/crates/ide/src/inlay_hints/chaining.rs
@@ -5,7 +5,7 @@ use syntax::{
Direction, NodeOrToken, SyntaxKind, T,
};
-use crate::{FileId, InlayHint, InlayHintsConfig, InlayKind};
+use crate::{FileId, InlayHint, InlayHintPosition, InlayHintsConfig, InlayKind};
use super::label_of_ty;
@@ -60,7 +60,11 @@ pub(super) fn hints(
acc.push(InlayHint {
range: expr.syntax().text_range(),
kind: InlayKind::Chaining,
- label: label_of_ty(famous_defs, config, ty)?,
+ label: label_of_ty(famous_defs, config, &ty)?,
+ text_edit: None,
+ position: InlayHintPosition::After,
+ pad_left: true,
+ pad_right: false,
});
}
}
@@ -103,6 +107,9 @@ fn main() {
[
InlayHint {
range: 147..172,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -120,9 +127,13 @@ fn main() {
},
"",
],
+ text_edit: None,
},
InlayHint {
range: 147..154,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -140,6 +151,7 @@ fn main() {
},
"",
],
+ text_edit: None,
},
]
"#]],
@@ -188,6 +200,9 @@ fn main() {
[
InlayHint {
range: 143..190,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -205,9 +220,13 @@ fn main() {
},
"",
],
+ text_edit: None,
},
InlayHint {
range: 143..179,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -225,6 +244,7 @@ fn main() {
},
"",
],
+ text_edit: None,
},
]
"#]],
@@ -257,6 +277,9 @@ fn main() {
[
InlayHint {
range: 143..190,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -274,9 +297,13 @@ fn main() {
},
"",
],
+ text_edit: None,
},
InlayHint {
range: 143..179,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -294,6 +321,7 @@ fn main() {
},
"",
],
+ text_edit: None,
},
]
"#]],
@@ -327,6 +355,9 @@ fn main() {
[
InlayHint {
range: 246..283,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -357,9 +388,13 @@ fn main() {
},
"<i32, bool>>",
],
+ text_edit: None,
},
InlayHint {
range: 246..265,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -390,6 +425,7 @@ fn main() {
},
"<i32, bool>>",
],
+ text_edit: None,
},
]
"#]],
@@ -425,6 +461,9 @@ fn main() {
[
InlayHint {
range: 174..241,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"impl ",
@@ -435,7 +474,7 @@ fn main() {
file_id: FileId(
1,
),
- range: 3415..3423,
+ range: 9332..9340,
},
),
tooltip: "",
@@ -448,16 +487,20 @@ fn main() {
file_id: FileId(
1,
),
- range: 3447..3451,
+ range: 9364..9368,
},
),
tooltip: "",
},
" = ()>",
],
+ text_edit: None,
},
InlayHint {
range: 174..224,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"impl ",
@@ -468,7 +511,7 @@ fn main() {
file_id: FileId(
1,
),
- range: 3415..3423,
+ range: 9332..9340,
},
),
tooltip: "",
@@ -481,16 +524,20 @@ fn main() {
file_id: FileId(
1,
),
- range: 3447..3451,
+ range: 9364..9368,
},
),
tooltip: "",
},
" = ()>",
],
+ text_edit: None,
},
InlayHint {
range: 174..206,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"impl ",
@@ -501,7 +548,7 @@ fn main() {
file_id: FileId(
1,
),
- range: 3415..3423,
+ range: 9332..9340,
},
),
tooltip: "",
@@ -514,16 +561,20 @@ fn main() {
file_id: FileId(
1,
),
- range: 3447..3451,
+ range: 9364..9368,
},
),
tooltip: "",
},
" = ()>",
],
+ text_edit: None,
},
InlayHint {
range: 174..189,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"&mut ",
@@ -541,6 +592,7 @@ fn main() {
},
"",
],
+ text_edit: None,
},
]
"#]],
@@ -573,6 +625,9 @@ fn main() {
[
InlayHint {
range: 124..130,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Type,
label: [
"",
@@ -590,9 +645,22 @@ fn main() {
},
"",
],
+ text_edit: Some(
+ TextEdit {
+ indels: [
+ Indel {
+ insert: ": Struct",
+ delete: 130..130,
+ },
+ ],
+ },
+ ),
},
InlayHint {
range: 145..185,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -610,9 +678,13 @@ fn main() {
},
"",
],
+ text_edit: None,
},
InlayHint {
range: 145..168,
+ position: After,
+ pad_left: true,
+ pad_right: false,
kind: Chaining,
label: [
"",
@@ -630,9 +702,13 @@ fn main() {
},
"",
],
+ text_edit: None,
},
InlayHint {
range: 222..228,
+ position: Before,
+ pad_left: false,
+ pad_right: true,
kind: Parameter,
label: [
InlayHintLabelPart {
@@ -648,6 +724,7 @@ fn main() {
tooltip: "",
},
],
+ text_edit: None,
},
]
"#]],