30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.register = register;
|
|
const cancellation_1 = require("../utils/cancellation");
|
|
const dedupe = require("../utils/dedupe");
|
|
const transform_1 = require("../utils/transform");
|
|
function register(context) {
|
|
return async (oldUri, newUri, token = cancellation_1.NoneCancellationToken) => {
|
|
for (const plugin of context.plugins) {
|
|
if (context.disabledServicePlugins.has(plugin[1])) {
|
|
continue;
|
|
}
|
|
if (token.isCancellationRequested) {
|
|
break;
|
|
}
|
|
if (!plugin[1].provideFileRenameEdits) {
|
|
continue;
|
|
}
|
|
const workspaceEdit = await plugin[1].provideFileRenameEdits(oldUri, newUri, token);
|
|
if (workspaceEdit) {
|
|
const result = (0, transform_1.transformWorkspaceEdit)(workspaceEdit, context, 'fileName');
|
|
if (result?.documentChanges) {
|
|
result.documentChanges = dedupe.withDocumentChanges(result.documentChanges);
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
//# sourceMappingURL=provideFileRenameEdits.js.map
|