Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/inlay_hints/param_name.rs')
-rw-r--r--crates/ide/src/inlay_hints/param_name.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/ide/src/inlay_hints/param_name.rs b/crates/ide/src/inlay_hints/param_name.rs
index 2e2a64c552..70d790efad 100644
--- a/crates/ide/src/inlay_hints/param_name.rs
+++ b/crates/ide/src/inlay_hints/param_name.rs
@@ -7,10 +7,13 @@ use std::fmt::Display;
use either::Either;
use hir::{Callable, Semantics};
-use ide_db::{base_db::FileRange, RootDatabase};
+use ide_db::RootDatabase;
use stdx::to_lower_snake_case;
-use syntax::ast::{self, AstNode, HasArgList, HasName, UnaryOp};
+use syntax::{
+ ast::{self, AstNode, HasArgList, HasName, UnaryOp},
+ ToSmolStr,
+};
use crate::{InlayHint, InlayHintLabel, InlayHintPosition, InlayHintsConfig, InlayKind};
@@ -45,7 +48,7 @@ pub(super) fn hints(
.filter(|(_, param_name, arg, _)| {
!should_hide_param_name_hint(sema, &callable, &param_name.text(), arg)
})
- .map(|(param, param_name, _, FileRange { range, .. })| {
+ .map(|(param, param_name, _, hir::FileRange { range, .. })| {
let linked_location = param.and_then(|name| sema.original_range_opt(name.syntax()));
let label = render_label(&param_name, config, linked_location);
@@ -67,11 +70,11 @@ pub(super) fn hints(
pub(super) fn render_label(
param_name: impl Display,
config: &InlayHintsConfig,
- linked_location: Option<FileRange>,
+ linked_location: Option<hir::FileRange>,
) -> InlayHintLabel {
let colon = if config.render_colons { ":" } else { "" };
- InlayHintLabel::simple(format!("{param_name}{colon}"), None, linked_location)
+ InlayHintLabel::simple(format!("{param_name}{colon}"), None, linked_location.map(Into::into))
}
fn get_callable(
@@ -118,7 +121,7 @@ fn should_hide_param_name_hint(
}
let fn_name = match callable.kind() {
- hir::CallableKind::Function(it) => Some(it.name(sema.db).to_smol_str()),
+ hir::CallableKind::Function(it) => Some(it.name(sema.db).display_no_db().to_smolstr()),
_ => None,
};
let fn_name = fn_name.as_deref();