From 796e24f278afb33dbc5ff4d69a0f450eb36eae4c Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 27 Feb 2012 10:31:37 -0700 Subject: [PATCH] Add Editor.linesForScreenRows and .getScreenLines These just abstract the line wrapper as the source of the screen lines. --- src/atom/editor.coffee | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/atom/editor.coffee b/src/atom/editor.coffee index 13c506951..26ca5cd40 100644 --- a/src/atom/editor.coffee +++ b/src/atom/editor.coffee @@ -132,9 +132,15 @@ class Editor extends View renderLines: -> @lines.empty() - for screenLine in @lineWrapper.getLines() + for screenLine in @getScreenLines() @lines.append @buildLineElement(screenLine) + getScreenLines: -> + @lineWrapper.getLines() + + linesForScreenRows: (start, end) -> + @lineWrapper.linesForScreenRows(start, end) + setBuffer: (@buffer) -> @highlighter = new Highlighter(@buffer) @lineFolder = new LineFolder(@highlighter) @@ -151,7 +157,7 @@ class Editor extends View @lineWrapper.on 'change', (e) => { oldRange, newRange } = e - screenLines = @lineWrapper.linesForScreenRows(newRange.start.row, newRange.end.row) + screenLines = @linesForScreenRows(newRange.start.row, newRange.end.row) if newRange.end.row > oldRange.end.row # update, then insert elements for row in [newRange.start.row..newRange.end.row]