+
#
# selector is a simple shell command for selection of strings with a
# dynamic pattern-matching.
.SH "DESCRIPTION"
.PP
\fBselector\fP is a command line dynamic string selection. A you type
-a list of strings separated by ';', the display is updated to show
-only the lines containing all the said strings.
+a list of strings separated by ';', the display is updated in real
+time to show only the lines containing all the said strings.
The main usage of selector is as an efficient search in the shell
command history. With the correct option, it will inject the selected
The Up and Down cursor keys move the selected line accordingly, and
PageUp and PageDown move by ten lines. The Home and End key move to
the top and the bottom of the list respectively. The return key
-selects the current line and quits.
+selects the current line and exits.
You can cancel the selection either by interrupting the command with
^C or by typing ^G.
inject the selected line into the tty input buffer
.IP "\fB-m\fP" 10
force the monochrome mode
-.IP "\fB-c <color fg modeline> <color bg modeline> <color fg highlight> <color bg highlight>\fP" 10
+.IP "\fB-c <fg modeline> <bg modeline> <fg highlight> <bg highlight>\fP" 10
select the display colors for the modeline and the highlighted line
.IP "\fB-o <output filename>\fP" 10
write the selected line into the specified file
selector -f ${HISTFILE} -v
+.SH "BUGS"
+
+Probably many. The main problem is the usage of Linux-specific ioctl()
+to put the selected line in the tty buffer.
+
.SH "AUTHOR"
.PP
Written by Francois Fleuret <francois@fleuret.org>. Permission is
char buffer[buffer_size];
char *lines[nb_lines_max];
int no_blink = 0;
+ int color_fg_modeline, color_bg_modeline;
+ int color_fg_highlight, color_bg_highlight;
- int color_fg_modeline = COLOR_WHITE;
- int color_bg_modeline = COLOR_BLACK;
- int color_fg_highlight = COLOR_BLACK;
- int color_bg_highlight = COLOR_YELLOW;
+ color_fg_modeline = COLOR_WHITE;
+ color_bg_modeline = COLOR_BLACK;
+ color_fg_highlight = COLOR_BLACK;
+ color_bg_highlight = COLOR_YELLOW;
setlocale(LC_ALL, "");
}
else if(strcmp(argv[i], "-c") == 0) {
- check_opt(argc, argv, i, 4, "<color fg modeline> <color bg modeline> <color fg highlight> <color bg highlight>");
+ check_opt(argc, argv, i, 4, "<fg modeline> <bg modeline> <fg highlight> <bg highlight>");
color_fg_modeline = atoi(argv[i+1]);
color_bg_modeline = atoi(argv[i+2]);
color_fg_highlight = atoi(argv[i+3]);
<< endl
<< argv[0]
<< " [-h]"
- << " [-b]"
<< " [-v]"
<< " [-m]"
- << " [-c <color fg modeline> <color bg modeline> <color fg highlight> <color bg highlight>]"
+ << " [-c <fg modeline> <bg modeline> <fg highlight> <bg highlight>]"
<< " [-o <output filename>]"
<< " [-s <pattern separator>]"
<< " [-l <max number of lines>]"