Merge pull request #9104 from joseramonc/master

autoindent lines with moveLineUp/moveLineDown
This commit is contained in:
Max Brunsfeld
2015-11-03 10:41:29 -08:00
2 changed files with 33 additions and 0 deletions

View File

@@ -4191,6 +4191,37 @@ describe "TextEditor", ->
"""
expect(editor.getSelectedBufferRange()).toEqual [[13, 0], [14, 2]]
describe ".moveLineUp()", ->
it "moves line up", ->
editor.setCursorBufferPosition([1, 0])
editor.moveLineUp()
expect(editor.getTextInBufferRange([[0, 0], [0, 30]])).toBe " var sort = function(items) {"
expect(editor.indentationForBufferRow(0)).toBe 1
expect(editor.indentationForBufferRow(1)).toBe 0
it "update indentation when config editor.autoIndent is true", ->
atom.config.set('editor.autoIndent', true)
editor.setCursorBufferPosition([1, 0])
editor.moveLineUp()
expect(editor.indentationForBufferRow(0)).toBe 0
expect(editor.indentationForBufferRow(1)).toBe 0
describe ".moveLineDown()", ->
it "moves line down", ->
editor.setCursorBufferPosition([0, 0])
editor.moveLineDown()
expect(editor.getTextInBufferRange([[1, 0], [1, 31]])).toBe "var quicksort = function () {"
expect(editor.indentationForBufferRow(0)).toBe 1
expect(editor.indentationForBufferRow(1)).toBe 0
it "update indentation when config editor.autoIndent is true", ->
atom.config.set('editor.autoIndent', true)
editor.setCursorBufferPosition([0, 0])
editor.moveLineDown()
expect(editor.indentationForBufferRow(0)).toBe 1
expect(editor.indentationForBufferRow(1)).toBe 2
describe ".shouldPromptToSave()", ->
it "returns false when an edit session's buffer is in use by more than one session", ->
jasmine.unspy(editor, 'shouldPromptToSave')

View File

@@ -918,6 +918,7 @@ class TextEditor extends Model
@foldBufferRow(foldedRow)
@setSelectedBufferRange(selection.translate([-insertDelta]), preserveFolds: true, autoscroll: true)
@autoIndentSelectedRows() if @shouldAutoIndent()
# Move lines intersecting the most recent selection down by one row in screen
# coordinates.
@@ -974,6 +975,7 @@ class TextEditor extends Model
@foldBufferRow(foldedRow)
@setSelectedBufferRange(selection.translate([insertDelta]), preserveFolds: true, autoscroll: true)
@autoIndentSelectedRows() if @shouldAutoIndent()
# Duplicate the most recent cursor's current line.
duplicateLines: ->