29 lines
952 B
TypeScript
29 lines
952 B
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as ts from 'typescript';
|
|
import * as workerpool from 'workerpool';
|
|
import { StaticLanguageServiceHost } from './staticLanguageServiceHost';
|
|
|
|
let service: ts.LanguageService | undefined;
|
|
|
|
function findRenameLocations(
|
|
projectPath: string,
|
|
fileName: string,
|
|
position: number,
|
|
): readonly ts.RenameLocation[] {
|
|
if (!service) {
|
|
service = ts.createLanguageService(new StaticLanguageServiceHost(projectPath));
|
|
}
|
|
|
|
return service.findRenameLocations(fileName, position, false, false, {
|
|
providePrefixAndSuffixTextForRename: true,
|
|
}) ?? [];
|
|
}
|
|
|
|
workerpool.worker({
|
|
findRenameLocations
|
|
});
|