aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.h9
-rw-r--r--cmdedit.c20
-rw-r--r--shell/cmdedit.c20
3 files changed, 20 insertions, 29 deletions
diff --git a/Config.h b/Config.h
index 3fffb673c..087c727c7 100644
--- a/Config.h
+++ b/Config.h
@@ -262,10 +262,9 @@
// Only relevant if BB_SH is enabled.
#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
//
-// Enable tab completion in the shell (not yet
-// working very well -- so don't turn this on)
-// Only relevant if BB_SH is enabled.
-#define BB_FEATURE_SH_TAB_COMPLETION
+// Enable tab completion in the shell. This is now working quite nicely.
+// This feature adds a bit over 4k. Only relevant if BB_SH is enabled.
+//#define BB_FEATURE_SH_TAB_COMPLETION
//
// Enable a simpler shell prompt of the form "path #"
// instead of the default "[username@hostname path]#"
@@ -277,7 +276,7 @@
#define BB_FEATURE_SH_SIMPLE_PROMPT
//
// Attempts to match usernames in a ~-prefixed path
-//#define BB_FEATURE_USERNAME_COMPLETION
+//#define BB_FEATURE_SH_USERNAME_COMPLETION
//
//Turn on extra fbset options
//#define BB_FEATURE_FBSET_FANCY
diff --git a/cmdedit.c b/cmdedit.c
index 6fd80fd21..097918925 100644
--- a/cmdedit.c
+++ b/cmdedit.c
@@ -41,12 +41,8 @@
#else
-#define BB_FEATURE_SH_COMMAND_EDITING
-#define BB_FEATURE_SH_TAB_COMPLETION
-#define BB_FEATURE_USERNAME_COMPLETION
-#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT
-#define BB_FEATURE_BASH_STYLE_PROMT
-#define BB_FEATURE_CLEAN_UP
+//#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT
+//#define BB_FEATURE_BASH_STYLE_PROMT
#define TRUE 1
#define FALSE 0
@@ -57,10 +53,10 @@
#ifdef BB_FEATURE_SH_COMMAND_EDITING
#ifndef BB_FEATURE_SH_TAB_COMPLETION
-#undef BB_FEATURE_USERNAME_COMPLETION
+#undef BB_FEATURE_SH_USERNAME_COMPLETION
#endif
-#if defined(BB_FEATURE_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT)
+#if defined(BB_FEATURE_SH_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT)
#define BB_FEATURE_GETUSERNAME_AND_HOMEDIR
#endif
@@ -626,7 +622,7 @@ static int is_execute(const struct stat *st)
return FALSE;
}
-#ifdef BB_FEATURE_USERNAME_COMPLETION
+#ifdef BB_FEATURE_SH_USERNAME_COMPLETION
static char **username_tab_completion(char *ud, int *num_matches)
{
@@ -688,7 +684,7 @@ static char **username_tab_completion(char *ud, int *num_matches)
return (matches);
}
}
-#endif /* BB_FEATURE_USERNAME_COMPLETION */
+#endif /* BB_FEATURE_SH_USERNAME_COMPLETION */
enum {
FIND_EXE_ONLY = 0,
@@ -785,7 +781,7 @@ static char **exe_n_cwd_tab_completion(char *command, int *num_matches,
strcpy(dirbuf, command);
/* set dir only */
dirbuf[(pfind - command) + 1] = 0;
-#ifdef BB_FEATURE_USERNAME_COMPLETION
+#ifdef BB_FEATURE_SH_USERNAME_COMPLETION
if (dirbuf[0] == '~') /* ~/... or ~user/... */
username_tab_completion(dirbuf, 0);
#endif
@@ -1066,7 +1062,7 @@ static void input_tab(int *lastWasTab)
/* Free up any memory already allocated */
input_tab(0);
-#ifdef BB_FEATURE_USERNAME_COMPLETION
+#ifdef BB_FEATURE_SH_USERNAME_COMPLETION
/* If the word starts with `~' and there is no slash in the word,
* then try completing this word as a username. */
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 6fd80fd21..097918925 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -41,12 +41,8 @@
#else
-#define BB_FEATURE_SH_COMMAND_EDITING
-#define BB_FEATURE_SH_TAB_COMPLETION
-#define BB_FEATURE_USERNAME_COMPLETION
-#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT
-#define BB_FEATURE_BASH_STYLE_PROMT
-#define BB_FEATURE_CLEAN_UP
+//#define BB_FEATURE_NONPRINTABLE_INVERSE_PUT
+//#define BB_FEATURE_BASH_STYLE_PROMT
#define TRUE 1
#define FALSE 0
@@ -57,10 +53,10 @@
#ifdef BB_FEATURE_SH_COMMAND_EDITING
#ifndef BB_FEATURE_SH_TAB_COMPLETION
-#undef BB_FEATURE_USERNAME_COMPLETION
+#undef BB_FEATURE_SH_USERNAME_COMPLETION
#endif
-#if defined(BB_FEATURE_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT)
+#if defined(BB_FEATURE_SH_USERNAME_COMPLETION) || defined(BB_FEATURE_BASH_STYLE_PROMT)
#define BB_FEATURE_GETUSERNAME_AND_HOMEDIR
#endif
@@ -626,7 +622,7 @@ static int is_execute(const struct stat *st)
return FALSE;
}
-#ifdef BB_FEATURE_USERNAME_COMPLETION
+#ifdef BB_FEATURE_SH_USERNAME_COMPLETION
static char **username_tab_completion(char *ud, int *num_matches)
{
@@ -688,7 +684,7 @@ static char **username_tab_completion(char *ud, int *num_matches)
return (matches);
}
}
-#endif /* BB_FEATURE_USERNAME_COMPLETION */
+#endif /* BB_FEATURE_SH_USERNAME_COMPLETION */
enum {
FIND_EXE_ONLY = 0,
@@ -785,7 +781,7 @@ static char **exe_n_cwd_tab_completion(char *command, int *num_matches,
strcpy(dirbuf, command);
/* set dir only */
dirbuf[(pfind - command) + 1] = 0;
-#ifdef BB_FEATURE_USERNAME_COMPLETION
+#ifdef BB_FEATURE_SH_USERNAME_COMPLETION
if (dirbuf[0] == '~') /* ~/... or ~user/... */
username_tab_completion(dirbuf, 0);
#endif
@@ -1066,7 +1062,7 @@ static void input_tab(int *lastWasTab)
/* Free up any memory already allocated */
input_tab(0);
-#ifdef BB_FEATURE_USERNAME_COMPLETION
+#ifdef BB_FEATURE_SH_USERNAME_COMPLETION
/* If the word starts with `~' and there is no slash in the word,
* then try completing this word as a username. */