aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorRichard Burke <rich.g.burke@gmail.com>2016-10-11 22:25:25 +0100
committerRichard Burke <rich.g.burke@gmail.com>2016-10-11 22:33:17 +0100
commit68037c567f3c8d9bf5fda429a5542182d20891bf (patch)
tree7e09d1dbd567cf39f1662de47d630150ccec5009 /main.c
parentb0c9b0063d0b9ed9a7f93c69779749130b353ff1 (diff)
downloadvis-68037c567f3c8d9bf5fda429a5542182d20891bf.tar.gz
vis-68037c567f3c8d9bf5fda429a5542182d20891bf.tar.xz
File completion updates
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/main.c b/main.c
index 8e76429..b2d364a 100644
--- a/main.c
+++ b/main.c
@@ -2103,11 +2103,11 @@ static const char *open_file_under_cursor(Vis *vis, const char *keys, const Arg
return keys;
}
-static char *get_completion_prefix(Vis *vis) {
+static char *get_completion_prefix(Vis *vis, Filerange (*text_object)(Text *, size_t)) {
View *view = vis_view(vis);
Text *txt = vis_text(vis);
- Filerange r = text_object_word(txt, view_cursor_get(view)-1);
+ Filerange r = text_object(txt, view_cursor_get(view)-1);
r = text_range_inner(txt, &r);
size_t size = text_range_size(&r);
if (size == 0) {
@@ -2140,7 +2140,7 @@ static const char *complete_word(Vis *vis, const char *keys, const Arg *arg) {
Text *txt = vis_text(vis);
Buffer cmd;
buffer_init(&cmd);
- char *prefix = get_completion_prefix(vis);
+ char *prefix = get_completion_prefix(vis, text_object_word);
if (prefix && buffer_printf(&cmd, VIS_COMPLETE " --word '%s'", prefix)) {
Filerange all = text_range_new(0, text_size(txt));
insert_dialog_selection(vis, &all, (const char*[]){ buffer_content0(&cmd), NULL });
@@ -2153,7 +2153,7 @@ static const char *complete_word(Vis *vis, const char *keys, const Arg *arg) {
static const char *complete_filename(Vis *vis, const char *keys, const Arg *arg) {
Buffer cmd;
buffer_init(&cmd);
- char *prefix = get_completion_prefix(vis);
+ char *prefix = get_completion_prefix(vis, text_object_filename);
if (prefix && buffer_printf(&cmd, VIS_COMPLETE " --file '%s'", prefix)) {
Filerange empty = text_range_new(0, 0);
insert_dialog_selection(vis, &empty, (const char*[]){ buffer_content0(&cmd), NULL });