blob: ba3c155efcff0436cc97ee4a4291b5d30f7e0231 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
_ = require 'underscore-plus'
{Operator} = require './general-operators'
class AdjustIndentation extends Operator
execute: (count) ->
mode = @vimState.mode
@motion.select(count)
originalRanges = @editor.getSelectedBufferRanges()
if mode is 'visual'
@editor.transact =>
_.times(count ? 1, => @indent())
else
@indent()
@editor.clearSelections()
@editor.getLastCursor().setBufferPosition([originalRanges.shift().start.row, 0])
for range in originalRanges
@editor.addCursorAtBufferPosition([range.start.row, 0])
@editor.moveToFirstCharacterOfLine()
@vimState.activateNormalMode()
class Indent extends AdjustIndentation
indent: ->
@editor.indentSelectedRows()
class Outdent extends AdjustIndentation
indent: ->
@editor.outdentSelectedRows()
class Autoindent extends AdjustIndentation
indent: ->
@editor.autoIndentSelectedRows()
module.exports = {Indent, Outdent, Autoindent}
|