Skip to content

Commit d533c2b

Browse files
Razmo99JustinGrote
authored andcommitted
implemented prepar rename symbol
1 parent d26601e commit d533c2b

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

src/features/RenameSymbol.ts

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ interface IRenameSymbolRequestArguments {
1010
FileName?:string
1111
Line?:number
1212
Column?:number
13-
RenameTo:string
13+
RenameTo?:string
14+
}
15+
interface IPrepareRenameSymbolRequestArguments {
16+
FileName?:string
17+
Line?:number
18+
Column?:number
19+
RenameTo?:string
1420
}
1521

1622
// eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -31,7 +37,12 @@ interface IRenameSymbolRequestResponse {
3137
changes : ModifiedFileResponse[]
3238
}
3339

40+
interface IPrepareRenameSymbolRequestResponse {
41+
message : string
42+
}
43+
3444
export const RenameSymbolRequestType = new RequestType<IRenameSymbolRequestArguments, IRenameSymbolRequestResponse, void>("powerShell/renameSymbol");
45+
export const PrepareRenameSymbolRequestType = new RequestType<IPrepareRenameSymbolRequestArguments, IPrepareRenameSymbolRequestResponse, void>("powerShell/PrepareRenameSymbol");
3546

3647
export class RenameSymbolFeature extends LanguageClientConsumer implements RenameProvider {
3748
private command: vscode.Disposable;
@@ -77,5 +88,28 @@ export class RenameSymbolFeature extends LanguageClientConsumer implements Renam
7788
return undefined;
7889
}
7990
}
91+
public async prepareRename(document: vscode.TextDocument, position: vscode.Position, _token: vscode.CancellationToken): Promise<vscode.Range | {
92+
range: vscode.
93+
Range; placeholder: string;
94+
} | null | undefined> {
95+
96+
const req:IRenameSymbolRequestArguments = {
97+
FileName : document.fileName,
98+
Line: position.line,
99+
Column : position.character,
100+
};
101+
102+
try {
103+
const response = await this.languageClient?.sendRequest(PrepareRenameSymbolRequestType, req);
104+
105+
if (!response) {
106+
return undefined;
107+
}
108+
return Promise.reject(response.message);
109+
110+
}catch (error) {
111+
return undefined;
112+
}
113+
}
80114

81115
}

0 commit comments

Comments
 (0)