UNPKG

atom-languageclient

Version:
57 lines 7.27 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const convert_1 = require("../convert"); class RenameAdapter { static canAdapt(serverCapabilities) { return serverCapabilities.renameProvider === true; } static getRename(connection, editor, point, newName) { return __awaiter(this, void 0, void 0, function* () { const edit = yield connection.rename(RenameAdapter.createRenameParams(editor, point, newName)); if (edit === null) { return null; } if (edit.documentChanges) { return RenameAdapter.convertDocumentChanges(edit.documentChanges); } else if (edit.changes) { return RenameAdapter.convertChanges(edit.changes); } else { return null; } }); } static createRenameParams(editor, point, newName) { return { textDocument: convert_1.default.editorToTextDocumentIdentifier(editor), position: convert_1.default.pointToPosition(point), newName, }; } static convertChanges(changes) { const result = new Map(); Object.keys(changes).forEach((uri) => { result.set(convert_1.default.uriToPath(uri), convert_1.default.convertLsTextEdits(changes[uri])); }); return result; } static convertDocumentChanges(documentChanges) { const result = new Map(); documentChanges.forEach((documentEdit) => { result.set(convert_1.default.uriToPath(documentEdit.textDocument.uri), convert_1.default.convertLsTextEdits(documentEdit.edits)); }); return result; } } exports.default = RenameAdapter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvYWRhcHRlcnMvcmVuYW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSx3Q0FBZ0M7QUFVaEMsTUFBcUIsYUFBYTtJQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFzQztRQUMzRCxPQUFPLGtCQUFrQixDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUE7SUFDbkQsQ0FBQztJQUVNLE1BQU0sQ0FBTyxTQUFTLENBQzNCLFVBQW9DLEVBQ3BDLE1BQWtCLEVBQ2xCLEtBQVksRUFDWixPQUFlOztZQUVmLE1BQU0sSUFBSSxHQUFHLE1BQU0sVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO1lBQzlGLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUE7YUFDWjtZQUVELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsT0FBTyxhQUFhLENBQUMsc0JBQXNCLENBQXFCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTthQUN0RjtpQkFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZCLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUE7YUFDWjtRQUNILENBQUM7S0FBQTtJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFrQixFQUFFLEtBQVksRUFBRSxPQUFlO1FBQ2hGLE9BQU87WUFDTCxZQUFZLEVBQUUsaUJBQU8sQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLENBQUM7WUFDNUQsUUFBUSxFQUFFLGlCQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUN4QyxPQUFPO1NBQ1IsQ0FBQTtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQXNDO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGlCQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5RSxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxlQUFtQztRQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ3hCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUM5RyxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBaERELGdDQWdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgYXRvbUlkZSBmcm9tIFwiYXRvbS1pZGUtYmFzZVwiXG5pbXBvcnQgQ29udmVydCBmcm9tIFwiLi4vY29udmVydFwiXG5pbXBvcnQgeyBQb2ludCwgVGV4dEVkaXRvciB9IGZyb20gXCJhdG9tXCJcbmltcG9ydCB7XG4gIExhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbixcbiAgUmVuYW1lUGFyYW1zLFxuICBTZXJ2ZXJDYXBhYmlsaXRpZXMsXG4gIFRleHREb2N1bWVudEVkaXQsXG4gIFRleHRFZGl0LFxufSBmcm9tIFwiLi4vbGFuZ3VhZ2VjbGllbnRcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZW5hbWVBZGFwdGVyIHtcbiAgcHVibGljIHN0YXRpYyBjYW5BZGFwdChzZXJ2ZXJDYXBhYmlsaXRpZXM6IFNlcnZlckNhcGFiaWxpdGllcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZXJ2ZXJDYXBhYmlsaXRpZXMucmVuYW1lUHJvdmlkZXIgPT09IHRydWVcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0UmVuYW1lKFxuICAgIGNvbm5lY3Rpb246IExhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbixcbiAgICBlZGl0b3I6IFRleHRFZGl0b3IsXG4gICAgcG9pbnQ6IFBvaW50LFxuICAgIG5ld05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPE1hcDxhdG9tSWRlLklkZVVyaSwgYXRvbUlkZS5UZXh0RWRpdFtdPiB8IG51bGw+IHtcbiAgICBjb25zdCBlZGl0ID0gYXdhaXQgY29ubmVjdGlvbi5yZW5hbWUoUmVuYW1lQWRhcHRlci5jcmVhdGVSZW5hbWVQYXJhbXMoZWRpdG9yLCBwb2ludCwgbmV3TmFtZSkpXG4gICAgaWYgKGVkaXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgaWYgKGVkaXQuZG9jdW1lbnRDaGFuZ2VzKSB7XG4gICAgICByZXR1cm4gUmVuYW1lQWRhcHRlci5jb252ZXJ0RG9jdW1lbnRDaGFuZ2VzKDxUZXh0RG9jdW1lbnRFZGl0W10+ZWRpdC5kb2N1bWVudENoYW5nZXMpXG4gICAgfSBlbHNlIGlmIChlZGl0LmNoYW5nZXMpIHtcbiAgICAgIHJldHVybiBSZW5hbWVBZGFwdGVyLmNvbnZlcnRDaGFuZ2VzKGVkaXQuY2hhbmdlcylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZVJlbmFtZVBhcmFtcyhlZGl0b3I6IFRleHRFZGl0b3IsIHBvaW50OiBQb2ludCwgbmV3TmFtZTogc3RyaW5nKTogUmVuYW1lUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dERvY3VtZW50OiBDb252ZXJ0LmVkaXRvclRvVGV4dERvY3VtZW50SWRlbnRpZmllcihlZGl0b3IpLFxuICAgICAgcG9zaXRpb246IENvbnZlcnQucG9pbnRUb1Bvc2l0aW9uKHBvaW50KSxcbiAgICAgIG5ld05hbWUsXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb252ZXJ0Q2hhbmdlcyhjaGFuZ2VzOiB7IFt1cmk6IHN0cmluZ106IFRleHRFZGl0W10gfSk6IE1hcDxhdG9tSWRlLklkZVVyaSwgYXRvbUlkZS5UZXh0RWRpdFtdPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcCgpXG4gICAgT2JqZWN0LmtleXMoY2hhbmdlcykuZm9yRWFjaCgodXJpKSA9PiB7XG4gICAgICByZXN1bHQuc2V0KENvbnZlcnQudXJpVG9QYXRoKHVyaSksIENvbnZlcnQuY29udmVydExzVGV4dEVkaXRzKGNoYW5nZXNbdXJpXSkpXG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbnZlcnREb2N1bWVudENoYW5nZXMoZG9jdW1lbnRDaGFuZ2VzOiBUZXh0RG9jdW1lbnRFZGl0W10pOiBNYXA8YXRvbUlkZS5JZGVVcmksIGF0b21JZGUuVGV4dEVkaXRbXT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXAoKVxuICAgIGRvY3VtZW50Q2hhbmdlcy5mb3JFYWNoKChkb2N1bWVudEVkaXQpID0+IHtcbiAgICAgIHJlc3VsdC5zZXQoQ29udmVydC51cmlUb1BhdGgoZG9jdW1lbnRFZGl0LnRleHREb2N1bWVudC51cmkpLCBDb252ZXJ0LmNvbnZlcnRMc1RleHRFZGl0cyhkb2N1bWVudEVkaXQuZWRpdHMpKVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXX0=