Skip to content

Commit c13c34b

Browse files
committed
fix generic type rename
1 parent bc72d51 commit c13c34b

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

crates/emmylua_code_analysis/src/compilation/analyzer/doc/infer_type.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,13 @@ fn infer_generic_type(analyzer: &mut DocAnalyzer, generic_type: &LuaDocGenericTy
236236
generic_params.push(param_type);
237237
}
238238
}
239+
if let Some(name_type) = generic_type.get_name_type() {
240+
analyzer.db.get_reference_index_mut().add_type_reference(
241+
analyzer.file_id,
242+
id.clone(),
243+
name_type.get_range(),
244+
);
245+
}
239246

240247
return LuaType::Generic(LuaGenericType::new(id, generic_params).into());
241248
}

crates/emmylua_ls/src/handlers/test/rename_test.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,19 @@ mod tests {
6868
);
6969
assert!(result);
7070
}
71+
72+
#[test]
73+
fn test_rename_generic_type() {
74+
let mut ws = ProviderVirtualWorkspace::new();
75+
let result = ws.check_rename(
76+
r#"
77+
---@class Params<T>
78+
79+
---@type Para<??>ms<number>
80+
"#,
81+
"Params1".to_string(),
82+
2,
83+
);
84+
assert!(result);
85+
}
7186
}

0 commit comments

Comments
 (0)