From da53eeb80dbe3e06a683032b61b8f1a24977a44f Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 28 Feb 2012 19:02:26 -0700 Subject: [PATCH] Folds can start at the beginning of a line --- spec/atom/line-folder-spec.coffee | 5 +++++ src/atom/line-folder.coffee | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/atom/line-folder-spec.coffee b/spec/atom/line-folder-spec.coffee index af0d453f3..6b82a98bb 100644 --- a/spec/atom/line-folder-spec.coffee +++ b/spec/atom/line-folder-spec.coffee @@ -173,6 +173,11 @@ describe "LineFolder", -> expect(event.oldRange).toEqual [[7, 0], [7, 28]] expect(event.newRange).toEqual [[7, 0], [8, 56]] + describe "when the fold is at the beginning of the line", -> + it "renders a placeholder at the beginning of the line", -> + folder.createFold(new Range([4, 0], [7, 4])) + expect(folder.lineForScreenRow(4).text).toBe '...}' + describe "when the buffer changes", -> [fold1, fold2] = [] beforeEach -> diff --git a/src/atom/line-folder.coffee b/src/atom/line-folder.coffee index e2c42d14e..719e4b24b 100644 --- a/src/atom/line-folder.coffee +++ b/src/atom/line-folder.coffee @@ -95,10 +95,10 @@ class LineFolder screenLine = @highlighter.lineForScreenRow(bufferRow).splitAt(startColumn)[1] for fold in @foldsForBufferRow(bufferRow) { start, end } = fold.getRange() - if start.column > startColumn + if start.column >= startColumn prefix = screenLine.splitAt(start.column - startColumn)[0] suffix = @buildLineForBufferRow(end.row, end.column) - return _.flatten([prefix, @buildFoldPlaceholder(fold), suffix]) + return _.compact(_.flatten([prefix, @buildFoldPlaceholder(fold), suffix])) screenLine buildFoldPlaceholder: (fold) ->