27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.register = exports.renameInfoOptions = void 0;
|
||
|
const shared_1 = require("../shared");
|
||
|
/* typescript-language-features is hardcode true */
|
||
|
exports.renameInfoOptions = { allowRenameOfImportPath: true };
|
||
|
function register(ctx) {
|
||
|
return (uri, position) => {
|
||
|
const document = ctx.getTextDocument(uri);
|
||
|
if (!document)
|
||
|
return;
|
||
|
const fileName = ctx.uriToFileName(document.uri);
|
||
|
const offset = document.offsetAt(position);
|
||
|
const renameInfo = (0, shared_1.safeCall)(() => ctx.languageService.getRenameInfo(fileName, offset, exports.renameInfoOptions));
|
||
|
if (!renameInfo)
|
||
|
return;
|
||
|
if (!renameInfo.canRename) {
|
||
|
return { message: renameInfo.localizedErrorMessage };
|
||
|
}
|
||
|
return {
|
||
|
start: document.positionAt(renameInfo.triggerSpan.start),
|
||
|
end: document.positionAt(renameInfo.triggerSpan.start + renameInfo.triggerSpan.length),
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
exports.register = register;
|
||
|
//# sourceMappingURL=prepareRename.js.map
|