From 3c1125cb80fff83daeb8e385362c74b82cb41e20 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 2 Nov 2014 21:20:25 +0100 Subject: TAB-completion for EC command behaves just like ^T in string arguments. later we might add special Bash-completion support --- src/cmdline.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cmdline.cpp b/src/cmdline.cpp index 668638c..f6d7831 100644 --- a/src/cmdline.cpp +++ b/src/cmdline.cpp @@ -206,8 +206,18 @@ process_edit_cmd(gchar key) case '\t': if (States::is_file()) { gchar complete = escape_char == '{' ? ' ' : escape_char; - gchar *new_chars = filename_complete(strings[0], - complete); + gchar *new_chars = filename_complete(strings[0], complete); + + *insert = '\0'; + if (new_chars) + g_stpcpy(insert, new_chars); + g_free(new_chars); + } else if (States::current == &States::executecommand) { + /* + * In the EC command, completes files just like ^T + */ + const gchar *filename = last_occurrence(strings[0]); + gchar *new_chars = filename_complete(filename); *insert = '\0'; if (new_chars) @@ -225,6 +235,7 @@ process_edit_cmd(gchar key) g_stpcpy(insert, new_chars); g_free(new_chars); } + break; case '\x1B': -- cgit v1.2.3