mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-13 19:11:36 -04:00
* Fix initial build breaks from 1.67 merge (#2514) * Update yarn lock files * Update build scripts * Fix tsconfig * Build breaks * WIP * Update yarn lock files * Misc breaks * Updates to package.json * Breaks * Update yarn * Fix breaks * Breaks * Build breaks * Breaks * Breaks * Breaks * Breaks * Breaks * Missing file * Breaks * Breaks * Breaks * Breaks * Breaks * Fix several runtime breaks (#2515) * Missing files * Runtime breaks * Fix proxy ordering issue * Remove commented code * Fix breaks with opening query editor * Fix post merge break * Updates related to setup build and other breaks (#2516) * Fix bundle build issues * Update distro * Fix distro merge and update build JS files * Disable pipeline steps * Remove stats call * Update license name * Make new RPM dependencies a warning * Fix extension manager version checks * Update JS file * Fix a few runtime breaks * Fixes * Fix runtime issues * Fix build breaks * Update notebook tests (part 1) * Fix broken tests * Linting errors * Fix hygiene * Disable lint rules * Bump distro * Turn off smoke tests * Disable integration tests * Remove failing "activate" test * Remove failed test assertion * Disable other broken test * Disable query history tests * Disable extension unit tests * Disable failing tasks
55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as vscode from 'vscode';
|
|
|
|
export default class MergeConflictContentProvider implements vscode.TextDocumentContentProvider, vscode.Disposable {
|
|
|
|
static scheme = 'merge-conflict.conflict-diff';
|
|
|
|
constructor(private context: vscode.ExtensionContext) {
|
|
}
|
|
|
|
begin() {
|
|
this.context.subscriptions.push(
|
|
vscode.workspace.registerTextDocumentContentProvider(MergeConflictContentProvider.scheme, this)
|
|
);
|
|
}
|
|
|
|
dispose() {
|
|
}
|
|
|
|
async provideTextDocumentContent(uri: vscode.Uri): Promise<string | null> {
|
|
try {
|
|
const { scheme, ranges } = JSON.parse(uri.query) as { scheme: string; ranges: [{ line: number; character: number }[], { line: number; character: number }[]][] };
|
|
|
|
// complete diff
|
|
const document = await vscode.workspace.openTextDocument(uri.with({ scheme, query: '' }));
|
|
|
|
let text = '';
|
|
let lastPosition = new vscode.Position(0, 0);
|
|
|
|
ranges.forEach(rangeObj => {
|
|
let [conflictRange, fullRange] = rangeObj;
|
|
const [start, end] = conflictRange;
|
|
const [fullStart, fullEnd] = fullRange;
|
|
|
|
text += document.getText(new vscode.Range(lastPosition.line, lastPosition.character, fullStart.line, fullStart.character));
|
|
text += document.getText(new vscode.Range(start.line, start.character, end.line, end.character));
|
|
lastPosition = new vscode.Position(fullEnd.line, fullEnd.character);
|
|
});
|
|
|
|
let documentEnd = document.lineAt(document.lineCount - 1).range.end;
|
|
text += document.getText(new vscode.Range(lastPosition.line, lastPosition.character, documentEnd.line, documentEnd.character));
|
|
|
|
return text;
|
|
}
|
|
catch (ex) {
|
|
await vscode.window.showErrorMessage('Unable to show comparison');
|
|
return null;
|
|
}
|
|
}
|
|
}
|