Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 5d013a7

Browse files
committed
exclude '
1 parent 5f1796f commit 5d013a7

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

crates/ide/src/rename.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use ide_db::{
1313
};
1414
use itertools::Itertools;
1515
use stdx::{always, never};
16-
use syntax::{ast, AstNode, SyntaxNode};
16+
use syntax::{ast, AstNode, SyntaxNode, TextRange, TextSize};
1717

1818
use text_edit::TextEdit;
1919

@@ -48,7 +48,13 @@ pub(crate) fn prepare_rename(
4848
frange.range.contains_inclusive(position.offset)
4949
&& frange.file_id == position.file_id
5050
);
51-
Ok(frange.range)
51+
52+
Ok(match name_like {
53+
ast::NameLike::Lifetime(_) => {
54+
TextRange::new(frange.range.start() + TextSize::from(1), frange.range.end())
55+
}
56+
_ => frange.range,
57+
})
5258
})
5359
.reduce(|acc, cur| match (acc, cur) {
5460
// ensure all ranges are the same
@@ -407,7 +413,7 @@ mod tests {
407413
#[test]
408414
fn test_prepare_rename_namelikes() {
409415
check_prepare(r"fn name$0<'lifetime>() {}", expect![[r#"3..7: name"#]]);
410-
check_prepare(r"fn name<'lifetime$0>() {}", expect![[r#"8..17: 'lifetime"#]]);
416+
check_prepare(r"fn name<'lifetime$0>() {}", expect![[r#"9..17: lifetime"#]]);
411417
check_prepare(r"fn name<'lifetime>() { name$0(); }", expect![[r#"23..27: name"#]]);
412418
}
413419

0 commit comments

Comments
 (0)