From cd89f1c9898ae02033faab34d72f2e14981088ec Mon Sep 17 00:00:00 2001 From: Richard Burke Date: Sun, 8 May 2016 14:05:25 +0100 Subject: Fix autoindent when using O --- main.c | 6 +++++- vis.c | 4 ++++ vis.h | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) 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, ""); } 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, ""); } 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 -- cgit v1.2.3