Skip to content

Commit 87702cf

Browse files
janicejlmarijnh
authored andcommitted
issue 5530
1 parent 59a2b03 commit 87702cf

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

keymap/vim.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
{ keys: 'd', type: 'operator', operator: 'delete' },
133133
{ keys: 'y', type: 'operator', operator: 'yank' },
134134
{ keys: 'c', type: 'operator', operator: 'change' },
135+
{ keys: '=', type: 'operator', operator: 'indentAuto' },
135136
{ keys: '>', type: 'operator', operator: 'indent', operatorArgs: { indentRight: true }},
136137
{ keys: '<', type: 'operator', operator: 'indent', operatorArgs: { indentRight: false }},
137138
{ keys: 'g~', type: 'operator', operator: 'changeCase' },
@@ -2188,6 +2189,10 @@
21882189
}
21892190
return motions.moveToFirstNonWhiteSpaceCharacter(cm, ranges[0].anchor);
21902191
},
2192+
indentAuto: function(cm, _args, ranges) {
2193+
cm.execCommand("indentAuto");
2194+
return motions.moveToFirstNonWhiteSpaceCharacter(cm, ranges[0].anchor);
2195+
},
21912196
changeCase: function(cm, args, ranges, oldAnchor, newHead) {
21922197
var selections = cm.getSelections();
21932198
var swapped = [];

test/vim_test.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,6 +1222,13 @@ testVim('<<', function(cm, vim, helpers) {
12221222
is(!register.linewise);
12231223
helpers.assertCursorAt(0, 1);
12241224
}, { value: ' word1\n word2\nword3 ', indentUnit: 2 });
1225+
testVim('=', function(cm, vim, helpers) {
1226+
cm.setCursor(0, 3);
1227+
helpers.doKeys('<C-v>', 'j', 'j');
1228+
var expectedValue = 'word1\nword2\nword3';
1229+
helpers.doKeys('=');
1230+
eq(expectedValue, cm.getValue());
1231+
}, { value: ' word1\n word2\n word3', indentUnit: 2 });
12251232

12261233
// Edit tests
12271234
function testEdit(name, before, pos, edit, after) {

0 commit comments

Comments
 (0)