From 68037c567f3c8d9bf5fda429a5542182d20891bf Mon Sep 17 00:00:00 2001 From: Richard Burke Date: Tue, 11 Oct 2016 22:25:25 +0100 Subject: File completion updates --- main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'main.c') 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 }); -- cgit v1.2.3