aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Burke <rich.g.burke@gmail.com>2016-05-08 14:05:25 +0100
committerRichard Burke <rich.g.burke@gmail.com>2016-05-08 14:06:13 +0100
commitcd89f1c9898ae02033faab34d72f2e14981088ec (patch)
treeeab55a7cb24659167dab682eae75fb5dbedb591a
parentc15076cd44fa89b3ee9f4411ea43b8cdf14f45f8 (diff)
downloadvis-cd89f1c9898ae02033faab34d72f2e14981088ec.tar.gz
vis-cd89f1c9898ae02033faab34d72f2e14981088ec.tar.xz
Fix autoindent when using O
-rw-r--r--main.c6
-rw-r--r--vis.c4
-rw-r--r--vis.h3
3 files changed, 12 insertions, 1 deletions
diff --git a/main.c b/main.c
index 266ee1e..4297c62 100644
--- a/main.c
+++ b/main.c
@@ -1947,7 +1947,11 @@ static const char *openline(Vis *vis, const char *keys, const Arg *arg) {
vis_motion(vis, VIS_MOVE_LINE_END);
vis_keys_feed(vis, "<insert-newline>");
} else {
- vis_motion(vis, VIS_MOVE_LINE_BEGIN);
+ if (vis_get_autoindent(vis)) {
+ vis_motion(vis, VIS_MOVE_LINE_START);
+ } else {
+ vis_motion(vis, VIS_MOVE_LINE_BEGIN);
+ }
vis_keys_feed(vis, "<insert-newline><Up>");
}
return keys;
diff --git a/vis.c b/vis.c
index 811b39d..9787338 100644
--- a/vis.c
+++ b/vis.c
@@ -1363,3 +1363,7 @@ View *vis_view(Vis *vis) {
Win *vis_window(Vis *vis) {
return vis->win;
}
+
+bool vis_get_autoindent(const Vis *vis) {
+ return vis->autoindent;
+} \ No newline at end of file
diff --git a/vis.h b/vis.h
index 387a8dc..b751063 100644
--- a/vis.h
+++ b/vis.h
@@ -449,4 +449,7 @@ Win *vis_window(Vis*);
bool vis_theme_load(Vis*, const char *name);
+/* Get value of autoindent */
+bool vis_get_autoindent(const Vis*);
+
#endif