summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-12-13 17:35:16 +1100
committerMaxime Coste <mawww@kakoune.org>2018-12-13 17:35:16 +1100
commit0e1e0fc57b9e876f3a450ffaaa5669edfba2f801 (patch)
tree44e11cfef7ede2f3aa1a30294ec1590f948beca6
parentf7ab129e5352f641dd6a0868468c9b8465bf972f (diff)
Improve deindent behaviour with mixed indent
-rw-r--r--src/normal.cc2
-rw-r--r--test/regression/0-deindent-on-mixed-indent-line/cmd1
-rw-r--r--test/regression/0-deindent-on-mixed-indent-line/in1
-rw-r--r--test/regression/0-deindent-on-mixed-indent-line/out1
4 files changed, 4 insertions, 1 deletions
diff --git a/src/normal.cc b/src/normal.cc
index 49cc90f6..0a4e4c86 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -1207,7 +1207,7 @@ void deindent(Context& context, NormalParams params)
sels.emplace_back(line, BufferCoord{line, column-1});
break;
}
- if (width == indent_width)
+ if (width >= indent_width)
{
sels.emplace_back(line, BufferCoord{line, column});
break;
diff --git a/test/regression/0-deindent-on-mixed-indent-line/cmd b/test/regression/0-deindent-on-mixed-indent-line/cmd
new file mode 100644
index 00000000..c72cbb66
--- /dev/null
+++ b/test/regression/0-deindent-on-mixed-indent-line/cmd
@@ -0,0 +1 @@
+<lt>
diff --git a/test/regression/0-deindent-on-mixed-indent-line/in b/test/regression/0-deindent-on-mixed-indent-line/in
new file mode 100644
index 00000000..c67c4f4e
--- /dev/null
+++ b/test/regression/0-deindent-on-mixed-indent-line/in
@@ -0,0 +1 @@
+ fo%(o)
diff --git a/test/regression/0-deindent-on-mixed-indent-line/out b/test/regression/0-deindent-on-mixed-indent-line/out
new file mode 100644
index 00000000..27be8730
--- /dev/null
+++ b/test/regression/0-deindent-on-mixed-indent-line/out
@@ -0,0 +1 @@
+ foo