mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-10 10:12:34 -05:00
Merge from vscode a5cf1da01d5db3d2557132be8d30f89c38019f6c (#8525)
* Merge from vscode a5cf1da01d5db3d2557132be8d30f89c38019f6c * remove files we don't want * fix hygiene * update distro * update distro * fix hygiene * fix strict nulls * distro * distro * fix tests * fix tests * add another edit * fix viewlet icon * fix azure dialog * fix some padding * fix more padding issues
This commit is contained in:
@@ -129,9 +129,7 @@ export class CoordinatesConverter implements ICoordinatesConverter {
|
||||
}
|
||||
|
||||
public convertModelRangeToViewRange(modelRange: Range): Range {
|
||||
let start = this._lines.convertModelPositionToViewPosition(modelRange.startLineNumber, modelRange.startColumn);
|
||||
let end = this._lines.convertModelPositionToViewPosition(modelRange.endLineNumber, modelRange.endColumn);
|
||||
return new Range(start.lineNumber, start.column, end.lineNumber, end.column);
|
||||
return this._lines.convertModelRangeToViewRange(modelRange);
|
||||
}
|
||||
|
||||
public modelPositionIsVisible(modelPosition: Position): boolean {
|
||||
@@ -737,9 +735,9 @@ export class SplitLinesCollection implements IViewModelLinesCollection {
|
||||
public convertModelPositionToViewPosition(_modelLineNumber: number, _modelColumn: number): Position {
|
||||
this._ensureValidState();
|
||||
|
||||
let validPosition = this.model.validatePosition(new Position(_modelLineNumber, _modelColumn));
|
||||
let inputLineNumber = validPosition.lineNumber;
|
||||
let inputColumn = validPosition.column;
|
||||
const validPosition = this.model.validatePosition(new Position(_modelLineNumber, _modelColumn));
|
||||
const inputLineNumber = validPosition.lineNumber;
|
||||
const inputColumn = validPosition.column;
|
||||
|
||||
let lineIndex = inputLineNumber - 1, lineIndexChanged = false;
|
||||
while (lineIndex > 0 && !this.lines[lineIndex].isVisible()) {
|
||||
@@ -751,7 +749,7 @@ export class SplitLinesCollection implements IViewModelLinesCollection {
|
||||
// console.log('in -> out ' + inputLineNumber + ',' + inputColumn + ' ===> ' + 1 + ',' + 1);
|
||||
return new Position(1, 1);
|
||||
}
|
||||
let deltaLineNumber = 1 + (lineIndex === 0 ? 0 : this.prefixSumComputer.getAccumulatedValue(lineIndex - 1));
|
||||
const deltaLineNumber = 1 + (lineIndex === 0 ? 0 : this.prefixSumComputer.getAccumulatedValue(lineIndex - 1));
|
||||
|
||||
let r: Position;
|
||||
if (lineIndexChanged) {
|
||||
@@ -764,6 +762,19 @@ export class SplitLinesCollection implements IViewModelLinesCollection {
|
||||
return r;
|
||||
}
|
||||
|
||||
public convertModelRangeToViewRange(modelRange: Range): Range {
|
||||
let start = this.convertModelPositionToViewPosition(modelRange.startLineNumber, modelRange.startColumn);
|
||||
let end = this.convertModelPositionToViewPosition(modelRange.endLineNumber, modelRange.endColumn);
|
||||
if (modelRange.startLineNumber === modelRange.endLineNumber && start.lineNumber !== end.lineNumber) {
|
||||
// This is a single line range that ends up taking more lines due to wrapping
|
||||
if (end.column === this.getViewLineMinColumn(end.lineNumber)) {
|
||||
// the end column lands on the first column of the next line
|
||||
return new Range(start.lineNumber, start.column, end.lineNumber - 1, this.getViewLineMaxColumn(end.lineNumber - 1));
|
||||
}
|
||||
}
|
||||
return new Range(start.lineNumber, start.column, end.lineNumber, end.column);
|
||||
}
|
||||
|
||||
private _getViewLineNumberForModelPosition(inputLineNumber: number, inputColumn: number): number {
|
||||
let lineIndex = inputLineNumber - 1;
|
||||
if (this.lines[lineIndex].isVisible()) {
|
||||
|
||||
@@ -13,7 +13,7 @@ import { INewScrollPosition } from 'vs/editor/common/editorCommon';
|
||||
import { EndOfLinePreference, IActiveIndentGuideInfo, IModelDecorationOptions, TextModelResolvedOptions } from 'vs/editor/common/model';
|
||||
import { IViewEventListener } from 'vs/editor/common/view/viewEvents';
|
||||
import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/whitespaceComputer';
|
||||
import { IEditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ITheme } from 'vs/platform/theme/common/themeService';
|
||||
|
||||
export interface IViewWhitespaceViewportData {
|
||||
@@ -69,20 +69,8 @@ export interface IViewLayout {
|
||||
getWhitespaceAtVerticalOffset(verticalOffset: number): IViewWhitespaceViewportData | null;
|
||||
|
||||
// --------------- Begin vertical whitespace management
|
||||
changeWhitespace<T>(callback: (accessor: IWhitespaceChangeAccessor) => T): T;
|
||||
|
||||
/**
|
||||
* Reserve rendering space.
|
||||
* @return an identifier that can be later used to remove or change the whitespace.
|
||||
*/
|
||||
addWhitespace(afterLineNumber: number, ordinal: number, height: number, minWidth: number): string;
|
||||
/**
|
||||
* Change the properties of a whitespace.
|
||||
*/
|
||||
changeWhitespace(id: string, newAfterLineNumber: number, newHeight: number): boolean;
|
||||
/**
|
||||
* Remove rendering space
|
||||
*/
|
||||
removeWhitespace(id: string): boolean;
|
||||
/**
|
||||
* Get the layout information for whitespaces currently in the viewport
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user