diff options
author | Lukas Holecek <hluk@email.cz> | 2014-11-17 15:32:33 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-11-18 10:03:41 +0100 |
commit | 0e83172b0b0d7890c02765653e3dbe4616c48c62 (patch) | |
tree | 3bedb3a0d04e2cbafd91cb53b3d92ea56d9a0dd3 /src/plugins/fakevim/fakevim_test.cpp | |
parent | 5881f6cb7908c72065f86c579573ff046e1bb826 (diff) |
FakeVim: Indent block correctly
In situation:
void f() {
// Cursor is HERE.
}
the code after ">i{" command is indented as (with shiftwidth=4):
void f() {
// Cursor is HERE.
}
Change-Id: I48283c91c32fc407bbdb24349f2491461e401ee9
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 9dd0bd82c8..adee06f428 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -1829,6 +1829,59 @@ void FakeVimPlugin::test_vim_indent() data.setText("abc"); KEYS(">>", "\t\t abc"); INTEGRITY(false); + + // indent inner block + data.doCommand("set expandtab"); + data.doCommand("set shiftwidth=2"); + data.setText("int main()" N + "{" N + "int i = 0;" N + X "return i;" N + "}" N + ""); + KEYS(">i{", + "int main()" N + "{" N + " " X "int i = 0;" N + " return i;" N + "}" N + ""); + KEYS(">i}", + "int main()" N + "{" N + " " X "int i = 0;" N + " return i;" N + "}" N + ""); + KEYS("<i}", + "int main()" N + "{" N + " " X "int i = 0;" N + " return i;" N + "}" N + ""); + + data.doCommand("set expandtab"); + data.doCommand("set shiftwidth=2"); + data.setText("int main() {" N + "return i;" N + X "}" N + ""); + KEYS("l>i{", + "int main() {" N + " " X "return i;" N + "}" N + ""); + KEYS("l>i}", + "int main() {" N + " " X "return i;" N + "}" N + ""); + KEYS("l<i}", + "int main() {" N + " " X "return i;" N + "}" N + ""); } void FakeVimPlugin::test_vim_marks() |