Revert "When a decoration and injected text refer to the same model position,...

Revert "When a decoration and injected text refer to the same model position, injected text is preferred. This resolves a conflict with gitlens."

This reverts commit 351409e3.
上级 351409e3
......@@ -118,12 +118,12 @@ export class CoordinatesConverter implements ICoordinatesConverter {
// Model -> View conversion and related methods
public convertModelPositionToViewPosition(modelPosition: Position, affinity?: PositionAffinity): Position {
return this._lines.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column, affinity);
public convertModelPositionToViewPosition(modelPosition: Position): Position {
return this._lines.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column);
}
public convertModelRangeToViewRange(modelRange: Range, affinity?: PositionAffinity): Range {
return this._lines.convertModelRangeToViewRange(modelRange, affinity);
public convertModelRangeToViewRange(modelRange: Range): Range {
return this._lines.convertModelRangeToViewRange(modelRange);
}
public modelPositionIsVisible(modelPosition: Position): boolean {
......@@ -886,12 +886,9 @@ export class SplitLinesCollection implements IViewModelLinesCollection {
return r;
}
/**
* @param affinity The affinity in case of an empty range. Has no effect for non-empty ranges.
*/
public convertModelRangeToViewRange(modelRange: Range, affinity: PositionAffinity = PositionAffinity.Left): Range {
public convertModelRangeToViewRange(modelRange: Range): Range {
if (modelRange.isEmpty()) {
const start = this.convertModelPositionToViewPosition(modelRange.startLineNumber, modelRange.startColumn, affinity);
const start = this.convertModelPositionToViewPosition(modelRange.startLineNumber, modelRange.startColumn, PositionAffinity.Left);
return Range.fromPositions(start);
} else {
const start = this.convertModelPositionToViewPosition(modelRange.startLineNumber, modelRange.startColumn, PositionAffinity.Right);
......
......@@ -82,11 +82,8 @@ export interface ICoordinatesConverter {
validateViewRange(viewRange: Range, expectedModelRange: Range): Range;
// Model -> View conversion and related methods
convertModelPositionToViewPosition(modelPosition: Position, affinity?: PositionAffinity): Position;
/**
* @param affinity Only has an effect if the range is empty.
*/
convertModelRangeToViewRange(modelRange: Range, affinity?: PositionAffinity): Range;
convertModelPositionToViewPosition(modelPosition: Position): Position;
convertModelRangeToViewRange(modelRange: Range): Range;
modelPositionIsVisible(modelPosition: Position): boolean;
getModelLineViewLineCount(modelLineNumber: number): number;
}
......
......@@ -7,7 +7,7 @@ import { IDisposable } from 'vs/base/common/lifecycle';
import { Position } from 'vs/editor/common/core/position';
import { Range } from 'vs/editor/common/core/range';
import * as editorCommon from 'vs/editor/common/editorCommon';
import { IModelDecoration, ITextModel, PositionAffinity } from 'vs/editor/common/model';
import { IModelDecoration, ITextModel } from 'vs/editor/common/model';
import { IViewModelLinesCollection } from 'vs/editor/common/viewModel/splitLinesCollection';
import { ICoordinatesConverter, InlineDecoration, InlineDecorationType, ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
import { filterValidationDecorations } from 'vs/editor/common/config/editorOptions';
......@@ -81,13 +81,11 @@ export class ViewModelDecorations implements IDisposable {
const options = modelDecoration.options;
let viewRange: Range;
if (options.isWholeLine) {
const start = this._coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.startLineNumber, 1), PositionAffinity.Left);
const end = this._coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.endLineNumber, this.model.getLineMaxColumn(modelRange.endLineNumber)), PositionAffinity.Right);
const start = this._coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.startLineNumber, 1));
const end = this._coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.endLineNumber, this.model.getLineMaxColumn(modelRange.endLineNumber)));
viewRange = new Range(start.lineNumber, start.column, end.lineNumber, end.column);
} else {
// For backwards compatibility reasons, we want injected text before any decoration.
// Thus, move decorations to the right.
viewRange = this._coordinatesConverter.convertModelRangeToViewRange(modelRange, PositionAffinity.Right);
viewRange = this._coordinatesConverter.convertModelRangeToViewRange(modelRange);
}
r = new ViewModelDecoration(viewRange, options);
this._decorationsCache[id] = r;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册