summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--busybox.def.h3
-rw-r--r--cmdedit.c7
-rw-r--r--shell/cmdedit.c7
3 files changed, 17 insertions, 0 deletions
diff --git a/busybox.def.h b/busybox.def.h
index cb86412..eebe9b9 100644
--- a/busybox.def.h
+++ b/busybox.def.h
@@ -189,6 +189,9 @@
// Enable command line editing in the shell
#define BB_FEATURE_SH_COMMAND_EDITING
//
+// Enable tab completion in the shell (not yet working very well)
+//#define BB_FEATURE_SH_TAB_COMPLETION
+//
//Turn on extra fbset options
//#define BB_FEATURE_FBSET_FANCY
//
diff --git a/cmdedit.c b/cmdedit.c
index 2c16276..d15c694 100644
--- a/cmdedit.c
+++ b/cmdedit.c
@@ -177,6 +177,8 @@ void input_backspace(int outputFd, int *cursor, int *len)
}
}
+#ifdef BB_FEATURE_SH_TAB_COMPLETION
+
char** username_completion_matches(char* command, int *num_matches)
{
char **matches = (char **) NULL;
@@ -225,6 +227,7 @@ char** find_path_executable_n_cwd_matches(char* command, int *num_matches)
return (matches);
}
+#endif
/*
* This function is used to grab a character buffer
@@ -340,6 +343,7 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd,
}
break;
case '\t':
+#ifdef BB_FEATURE_SH_TAB_COMPLETION
{
/* Do TAB completion */
static int num_matches=0;
@@ -436,6 +440,9 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd,
}
break;
}
+#else
+ break;
+#endif
case '\b':
case DEL:
/* Backspace */
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 2c16276..d15c694 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -177,6 +177,8 @@ void input_backspace(int outputFd, int *cursor, int *len)
}
}
+#ifdef BB_FEATURE_SH_TAB_COMPLETION
+
char** username_completion_matches(char* command, int *num_matches)
{
char **matches = (char **) NULL;
@@ -225,6 +227,7 @@ char** find_path_executable_n_cwd_matches(char* command, int *num_matches)
return (matches);
}
+#endif
/*
* This function is used to grab a character buffer
@@ -340,6 +343,7 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd,
}
break;
case '\t':
+#ifdef BB_FEATURE_SH_TAB_COMPLETION
{
/* Do TAB completion */
static int num_matches=0;
@@ -436,6 +440,9 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd,
}
break;
}
+#else
+ break;
+#endif
case '\b':
case DEL:
/* Backspace */