ash,hush: allow builtins to be tab-completed, closes 7532
function old new delta complete_cmd_dir_file 678 830 +152 get_builtin_name - 35 +35 optschanged 125 132 +7 hush_main 1069 1076 +7 save_command_ps_at_cur_history 76 78 +2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 4/0 up/down: 203/0) Total: 203 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
committed by
Denys Vlasenko
parent
1ff7002b1d
commit
9e2a5668fd
@ -813,18 +813,29 @@ static NOINLINE unsigned complete_cmd_dir_file(const char *command, int type)
|
||||
}
|
||||
pf_len = strlen(pfind);
|
||||
|
||||
# if ENABLE_FEATURE_SH_STANDALONE && NUM_APPLETS != 1
|
||||
if (type == FIND_EXE_ONLY && !dirbuf) {
|
||||
# if ENABLE_FEATURE_SH_STANDALONE && NUM_APPLETS != 1
|
||||
const char *p = applet_names;
|
||||
|
||||
while (*p) {
|
||||
if (strncmp(pfind, p, pf_len) == 0)
|
||||
add_match(xstrdup(p));
|
||||
while (*p++ != '\0')
|
||||
continue;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
# if EDITING_HAS_get_exe_name
|
||||
if (state->get_exe_name) {
|
||||
i = 0;
|
||||
for (;;) {
|
||||
const char *b = state->get_exe_name(i++);
|
||||
if (!b)
|
||||
break;
|
||||
if (strncmp(pfind, b, pf_len) == 0)
|
||||
add_match(xstrdup(b));
|
||||
}
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
for (i = 0; i < npaths; i++) {
|
||||
DIR *dir;
|
||||
|
Reference in New Issue
Block a user