UNPKG

@inst/vscode-bin-darwin

Version:

BINARY ONLY - VSCode binary deployment for macOS

90 lines (89 loc) 4.55 kB
"use strict"; /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const vscode = require("vscode"); const vscode_nls_1 = require("vscode-nls"); const localize = vscode_nls_1.loadMessageBundle(__filename); class MergeConflictCodeLensProvider { constructor(context, trackerService) { this.context = context; this.tracker = trackerService.createTracker('codelens'); } begin(config) { this.config = config; if (this.config.enableCodeLens) { this.registerCodeLensProvider(); } } configurationUpdated(updatedConfig) { if (updatedConfig.enableCodeLens === false && this.codeLensRegistrationHandle) { this.codeLensRegistrationHandle.dispose(); this.codeLensRegistrationHandle = null; } else if (updatedConfig.enableCodeLens === true && !this.codeLensRegistrationHandle) { this.registerCodeLensProvider(); } this.config = updatedConfig; } dispose() { if (this.codeLensRegistrationHandle) { this.codeLensRegistrationHandle.dispose(); this.codeLensRegistrationHandle = null; } } provideCodeLenses(document, token) { return __awaiter(this, void 0, void 0, function* () { if (!this.config || !this.config.enableCodeLens) { return null; } let conflicts = yield this.tracker.getConflicts(document); if (!conflicts || conflicts.length === 0) { return null; } let items = []; conflicts.forEach(conflict => { let acceptCurrentCommand = { command: 'merge-conflict.accept.current', title: localize(0, null), arguments: ['known-conflict', conflict] }; let acceptIncomingCommand = { command: 'merge-conflict.accept.incoming', title: localize(1, null), arguments: ['known-conflict', conflict] }; let acceptBothCommand = { command: 'merge-conflict.accept.both', title: localize(2, null), arguments: ['known-conflict', conflict] }; let diffCommand = { command: 'merge-conflict.compare', title: localize(3, null), arguments: [conflict] }; items.push(new vscode.CodeLens(conflict.range, acceptCurrentCommand), new vscode.CodeLens(conflict.range.with(conflict.range.start.with({ character: conflict.range.start.character + 1 })), acceptIncomingCommand), new vscode.CodeLens(conflict.range.with(conflict.range.start.with({ character: conflict.range.start.character + 2 })), acceptBothCommand), new vscode.CodeLens(conflict.range.with(conflict.range.start.with({ character: conflict.range.start.character + 3 })), diffCommand)); }); return items; }); } registerCodeLensProvider() { this.codeLensRegistrationHandle = vscode.languages.registerCodeLensProvider([ { scheme: 'file' }, { scheme: 'untitled' }, ], this); } } exports.default = MergeConflictCodeLensProvider; //# sourceMappingURL=https://ticino.blob.core.windows.net/sourcemaps/b813d12980308015bcd2b3a2f6efa5c810c33ba5/extensions/merge-conflict/out/codelensProvider.js.map