@@ -5,7 +5,7 @@ mod rename_type;
55use std:: collections:: HashMap ;
66
77use emmylua_code_analysis:: { LuaCompilation , LuaSemanticDeclId , SemanticDeclLevel , SemanticModel } ;
8- use emmylua_parser:: { LuaAstNode , LuaLiteralExpr , LuaSyntaxToken , LuaTableField , LuaTokenKind } ;
8+ use emmylua_parser:: { LuaAstNode , LuaLiteralExpr , LuaSyntaxNode , LuaSyntaxToken , LuaTokenKind } ;
99use lsp_types:: {
1010 ClientCapabilities , OneOf , PrepareRenameResponse , RenameOptions , RenameParams ,
1111 ServerCapabilities , TextDocumentPositionParams , WorkspaceEdit ,
@@ -54,7 +54,9 @@ pub async fn on_prepare_rename_handler(
5454 let token = match root. syntax ( ) . token_at_offset ( position_offset) {
5555 TokenAtOffset :: Single ( token) => token,
5656 TokenAtOffset :: Between ( left, right) => {
57- if left. kind ( ) == LuaTokenKind :: TkName . into ( ) {
57+ if left. kind ( ) == LuaTokenKind :: TkName . into ( )
58+ || left. kind ( ) == LuaTokenKind :: TkInt . into ( )
59+ {
5860 left
5961 } else {
6062 right
@@ -118,10 +120,7 @@ fn rename_references(
118120) -> Option < WorkspaceEdit > {
119121 let mut result = HashMap :: new ( ) ;
120122 let semantic_decl = match try_get_table_field ( token. clone ( ) ) {
121- Some ( table_field) => semantic_model. find_decl (
122- table_field. syntax ( ) . clone ( ) . into ( ) ,
123- SemanticDeclLevel :: NoTrace ,
124- ) ,
123+ Some ( node) => semantic_model. find_decl ( node. into ( ) , SemanticDeclLevel :: NoTrace ) ,
125124 None => semantic_model. find_decl ( token. into ( ) , SemanticDeclLevel :: NoTrace ) ,
126125 } ?;
127126
@@ -169,10 +168,10 @@ fn rename_references(
169168 } )
170169}
171170
172- fn try_get_table_field ( token : LuaSyntaxToken ) -> Option < LuaTableField > {
171+ fn try_get_table_field ( token : LuaSyntaxToken ) -> Option < LuaSyntaxNode > {
173172 let parent = token. parent ( ) ?;
174173 let literal_expr = LuaLiteralExpr :: cast ( parent) ?;
175- literal_expr. get_parent :: < LuaTableField > ( )
174+ literal_expr. syntax ( ) . parent ( )
176175}
177176
178177pub struct RenameCapabilities ;
0 commit comments