From 4dc062958d1cb07bcbfba7ef372dd2e9f8f426f5 Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Tue, 24 Jul 2018 10:44:34 -0400 Subject: [PATCH] decorateMarker({type: 'line-number') only decorates the one true gutter --- src/text-editor-component.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/text-editor-component.js b/src/text-editor-component.js index e3878268c..fe5fb7e8f 100644 --- a/src/text-editor-component.js +++ b/src/text-editor-component.js @@ -154,7 +154,7 @@ class TextEditorComponent { foldableFlags: [] } this.decorationsToRender = { - lineNumbers: null, + lineNumbers: new Map(), lines: null, highlights: [], cursors: [], @@ -978,7 +978,7 @@ class TextEditorComponent { } queryDecorationsToRender () { - this.decorationsToRender.lineNumbers = [] + this.decorationsToRender.lineNumbers.clear() this.decorationsToRender.lines = [] this.decorationsToRender.overlays.length = 0 this.decorationsToRender.customGutter.clear() @@ -1041,7 +1041,17 @@ class TextEditorComponent { } addLineDecorationToRender (type, decoration, screenRange, reversed) { - const decorationsToRender = (type === 'line') ? this.decorationsToRender.lines : this.decorationsToRender.lineNumbers + let decorationsToRender + if (type === 'line') { + decorationsToRender = this.decorationsToRender.lines + } else { + const gutterName = decoration.gutterName || 'line-number' + decorationsToRender = this.decorationsToRender.lineNumbers.get(gutterName) + if (!decorationsToRender) { + decorationsToRender = [] + this.decorationsToRender.lineNumbers.set(gutterName, decorationsToRender) + } + } let omitLastRow = false if (screenRange.isEmpty()) { @@ -3147,7 +3157,7 @@ class GutterContainerComponent { screenRows: screenRows, softWrappedFlags: softWrappedFlags, foldableFlags: foldableFlags, - decorations: decorationsToRender.lineNumbers, + decorations: decorationsToRender.lineNumbers.get(gutter.name) || [], blockDecorations: decorationsToRender.blocks, didMeasureVisibleBlockDecoration: didMeasureVisibleBlockDecoration, height: scrollHeight,