X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Fcompletion.c;h=2ddae2e0b37e6252c60b9adb02403d00e182ba33;hp=95c3e5d5edcc21a14493a79b984323ae17e41704;hb=0884d8bbae6d76a603ec1385ada2938f88981c5c;hpb=b6adf09c4d2cc3f1d0285950c151b1fd7688ec67 diff --git a/fish/completion.c b/fish/completion.c index 95c3e5d..2ddae2e 100644 --- a/fish/completion.c +++ b/fish/completion.c @@ -65,6 +65,9 @@ static const char *const commands[] = { "is-launching", "is-busy", "get-state", + "set-memsize", + "memsize", + "get-memsize", "mount", "sync", "touch", @@ -176,6 +179,34 @@ static const char *const commands[] = { "find", "e2fsck-f", "sleep", + "ntfs-3g-probe", + "sh", + "sh-lines", + "glob-expand", + "scrub-device", + "scrub-file", + "scrub-freespace", + "mkdtemp", + "wc-l", + "wc-w", + "wc-c", + "head", + "head-n", + "tail", + "tail-n", + "df", + "df-h", + "du", + "initrd-list", + "mount-loop", + "mkswap", + "mkswap-L", + "mkswap-U", + "mknod", + "mkfifo", + "mknod-b", + "mknod-c", + "umask", NULL }; @@ -190,6 +221,8 @@ generator (const char *text, int state) len = strlen (text); } + rl_attempted_completion_over = 1; + while ((name = commands[index]) != NULL) { index++; if (strncasecmp (name, text, len) == 0) @@ -206,8 +239,12 @@ char **do_completion (const char *text, int start, int end) char **matches = NULL; #ifdef HAVE_LIBREADLINE + rl_completion_append_character = ' '; + if (start == 0) matches = rl_completion_matches (text, generator); + else if (complete_dest_paths) + matches = rl_completion_matches (text, complete_dest_paths_generator); #endif return matches;