提交 60efc2e4 编写于 作者: P Pedro Fernandes 提交者: Alex Dima

Added displayBlankLastLineNumber handling to getLineRenderLineNumber()

上级 cfcd1568
...@@ -23,6 +23,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay { ...@@ -23,6 +23,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
private _lineHeight: number; private _lineHeight: number;
private _renderLineNumbers: RenderLineNumbersType; private _renderLineNumbers: RenderLineNumbersType;
private _renderCustomLineNumbers: ((lineNumber: number) => string) | null; private _renderCustomLineNumbers: ((lineNumber: number) => string) | null;
private _displayBlankLastLineNumber: boolean;
private _lineNumbersLeft: number; private _lineNumbersLeft: number;
private _lineNumbersWidth: number; private _lineNumbersWidth: number;
private _lastCursorModelPosition: Position; private _lastCursorModelPosition: Position;
...@@ -44,6 +45,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay { ...@@ -44,6 +45,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
this._lineHeight = config.lineHeight; this._lineHeight = config.lineHeight;
this._renderLineNumbers = config.viewInfo.renderLineNumbers; this._renderLineNumbers = config.viewInfo.renderLineNumbers;
this._renderCustomLineNumbers = config.viewInfo.renderCustomLineNumbers; this._renderCustomLineNumbers = config.viewInfo.renderCustomLineNumbers;
this._displayBlankLastLineNumber = config.viewInfo.displayBlankLastLineNumber;
this._lineNumbersLeft = config.layoutInfo.lineNumbersLeft; this._lineNumbersLeft = config.layoutInfo.lineNumbersLeft;
this._lineNumbersWidth = config.layoutInfo.lineNumbersWidth; this._lineNumbersWidth = config.layoutInfo.lineNumbersWidth;
} }
...@@ -92,11 +94,22 @@ export class LineNumbersOverlay extends DynamicViewOverlay { ...@@ -92,11 +94,22 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
private _getLineRenderLineNumber(viewLineNumber: number): string { private _getLineRenderLineNumber(viewLineNumber: number): string {
const modelPosition = this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new Position(viewLineNumber, 1)); const modelPosition = this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new Position(viewLineNumber, 1));
if (modelPosition.column !== 1) { if (modelPosition.column !== 1) {
return ''; return '';
} }
let modelLineNumber = modelPosition.lineNumber; let modelLineNumber = modelPosition.lineNumber;
if (!this._displayBlankLastLineNumber) {
const lineCount = this._context.model.getLineCount();
const lineContent = this._context.model.getLineContent(modelLineNumber);
if (modelLineNumber === lineCount && lineContent === '') {
return '';
}
}
if (this._renderCustomLineNumbers) { if (this._renderCustomLineNumbers) {
return this._renderCustomLineNumbers(modelLineNumber); return this._renderCustomLineNumbers(modelLineNumber);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册