X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Fdestpaths.c;h=3c90517393118f55fdd892f6aea442b1470dfef5;hb=25454b83082a4cfed4f1664d2f9cdfcb222ba7c2;hp=403fe7f5b4353336b3aca524bdaff9e4767c793c;hpb=53c3b9d2b03fa5cb0ac7e86a5a51f2a18a2b91c1;p=libguestfs.git diff --git a/fish/destpaths.c b/fish/destpaths.c index 403fe7f..3c90517 100644 --- a/fish/destpaths.c +++ b/fish/destpaths.c @@ -155,6 +155,9 @@ complete_dest_paths_generator (const char *text, int state) strs = guestfs_lvs (g); APPEND_STRS_AND_FREE; + + strs = guestfs_list_dm_devices (g); + APPEND_STRS_AND_FREE; } if (len < 1 || text[0] == '/') { @@ -230,7 +233,20 @@ complete_dest_paths_generator (const char *text, int state) word = &words[index]; index++; - if (STRCASEEQLEN (word->name, text, len)) { + /* Whether we should match case insensitively here or not is + * determined by the value of the completion-ignore-case readline + * variable. Default to case insensitive. (See: RHBZ#582993). + */ + char *cic_var = rl_variable_value ("completion-ignore-case"); + int cic = 1; + if (cic_var && STREQ (cic_var, "off")) + cic = 0; + + int matches = + cic ? STRCASEEQLEN (word->name, text, len) + : STREQLEN (word->name, text, len); + + if (matches) { if (word->is_dir) rl_completion_append_character = '/';