The --bash option now mimics also -l ${HISTSIZE}
authorFrancois Fleuret <francois@fleuret.org>
Mon, 28 Jun 2010 16:32:33 +0000 (18:32 +0200)
committerFrancois Fleuret <francois@fleuret.org>
Mon, 28 Jun 2010 16:32:33 +0000 (18:32 +0200)
selector.c

index b0f30ce..e2f8f79 100644 (file)
@@ -25,7 +25,7 @@
 /*
 
   To use it as a super-history-search for bash:
-  selector --bash -l ${HISTSIZE} <(history)
+  selector --bash <(history)
 
 */
 
@@ -191,7 +191,7 @@ void usage(FILE *out) {
   fprintf(out, " -q, --no-beep\n");
   fprintf(out, "         make a flash instead of a beep on an edition error\n");
   fprintf(out, " --bash\n");
-  fprintf(out, "         setting for bash history search, same as -b -i -d -v -w\n");
+  fprintf(out, "         setting for bash history search, same as -b -i -d -v -w -l ${HISTSIZE}\n");
   fprintf(out, " --, --rest-are-files\n");
   fprintf(out, "         all following arguments are filenames\n");
   fprintf(out, " -t <title>, --title <title>\n");
@@ -855,6 +855,7 @@ int main(int argc, char **argv) {
   char **lines, **labels;
   int nb_lines;
   struct hash_table_t *hash_table;
+  char *bash_histsize;
 
   if(!isatty(STDIN_FILENO)) {
     fprintf(stderr, "selector: The standard input is not a tty.\n");
@@ -967,6 +968,10 @@ int main(int argc, char **argv) {
       remove_duplicates = 1;
       output_to_vt_buffer = 1;
       add_control_qs = 1;
+      bash_histsize = getenv("HISTSIZE");
+      if(bash_histsize) {
+        str_to_positive_integers(bash_histsize, &nb_lines_max, 1);
+      }
       break;
 
     default: