[PATCH] Autocomplete fix
Carlo Caione
carlo.caione at gmail.com
Thu Aug 25 19:40:36 EDT 2011
Autocomplete fixed: now working also to autocomplete file names as first
argument.
i.e.:
# ./en<TAB> completes to # ./env/
Signed-off-by: Carlo Caione <carlo.caione at gmail.com>
---
common/complete.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/common/complete.c b/common/complete.c
index 46ba871..543e649 100644
--- a/common/complete.c
+++ b/common/complete.c
@@ -71,6 +71,7 @@ static int command_complete(struct string_list *sl,
char *instr)
{
struct command *cmdtp;
char cmd[128];
+ int found = 0;
for_each_command(cmdtp) {
if (!strncmp(instr, cmdtp->name, strlen(instr))) {
@@ -78,10 +79,11 @@ static int command_complete(struct string_list *sl,
char *instr)
cmd[strlen(cmdtp->name)] = ' ';
cmd[strlen(cmdtp->name) + 1] = 0;
string_list_add(sl, cmd);
+ found = 1;
}
}
- return 0;
+ return(found);
}
static int tab_pressed = 0;
@@ -116,13 +118,16 @@ int complete(char *instr, char **outstr)
instr = t;
- /* get the completion possibilities */
if ((t = strrchr(t, ' '))) {
t++;
file_complete(&sl, t);
instr = t;
- } else
- command_complete(&sl, instr);
+ } else {
+ if(!command_complete(&sl, instr)){
+ file_complete(&sl, instr);
+ }
+ }
+
pos = strlen(instr);
--
1.7.6.1
More information about the barebox
mailing list