diff options
Diffstat (limited to 'atom/packages/vim-mode/lib/operators/indent-operators.coffee')
| -rw-r--r-- | atom/packages/vim-mode/lib/operators/indent-operators.coffee | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/atom/packages/vim-mode/lib/operators/indent-operators.coffee b/atom/packages/vim-mode/lib/operators/indent-operators.coffee new file mode 100644 index 0000000..0ad37e0 --- /dev/null +++ b/atom/packages/vim-mode/lib/operators/indent-operators.coffee @@ -0,0 +1,28 @@ +{Operator} = require './general-operators' + +class AdjustIndentation extends Operator + execute: (count=1) -> + mode = @vimState.mode + @motion.select(count) + {start} = @editor.getSelectedBufferRange() + + @indent() + + if mode isnt 'visual' + @editor.setCursorBufferPosition([start.row, 0]) + @editor.moveToFirstCharacterOfLine() + @vimState.activateCommandMode() + +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} |