void update_screen(int *current_line, int *temporary_line, int motion,
int nb_lines, char **lines,
- char *pattern_list) {
+ char *pattern) {
char buffer[buffer_size];
matcher_t matcher;
- initialize_matcher(use_regexp, &matcher, pattern_list);
+ initialize_matcher(use_regexp, &matcher, pattern);
// We now take care of printing the lines per se
sprintf(buffer, "%d/%d pattern: %s%s",
nb_printed_lines,
nb_lines,
- pattern_list,
+ pattern,
use_regexp ? " [regexp]" : "");
for(int k = strlen(buffer); k < console_width; k++) buffer[k] = ' ';
if(show_help || error) {
cerr << "Selector version " << VERSION << "-R" << REVISION_NUMBER
<< endl
- << "Written by Francois Fleuret <francois@fleuret.org>"
+ << "Written by Francois Fleuret <francois@fleuret.org>."
+ << endl
<< endl
<< argv[0]
<< " [-h]"
}
}
- char patterns[buffer_size];
- patterns[0] = '\0';
- int patterns_point;
- patterns_point = 0;
+ char pattern[buffer_size];
+ pattern[0] = '\0';
+ int pattern_point;
+ pattern_point = 0;
initscr();
int key;
int current_line = 0, temporary_line = 0;
- update_screen(¤t_line, &temporary_line, 0, nb_lines, lines, patterns);
+ update_screen(¤t_line, &temporary_line, 0, nb_lines, lines, pattern);
do {
int motion = 0;
if(key >= ' ' && key <= '~') {
- patterns[patterns_point++] = key;
- patterns[patterns_point] = '\0';
+ pattern[pattern_point++] = key;
+ pattern[pattern_point] = '\0';
}
else if(key == KEY_BACKSPACE || key == '\b' || key == '\7f' ||
key == KEY_DC || key == '\ 4') {
- if(patterns_point > 0) {
- patterns_point--;
- patterns[patterns_point] = '\0';
+ if(pattern_point > 0) {
+ pattern_point--;
+ pattern[pattern_point] = '\0';
}
}
motion = -10;
}
+ else if(key == KEY_DOWN || key == '\ e') {
+ motion = 1;
+ }
+
else if(key == KEY_UP || key == '\10') {
motion = -1;
}
}
else if(key == '\15') {
- patterns_point = 0;
- patterns[patterns_point] = '\0';
- }
-
- else if(key == KEY_DOWN || key == '\ e') {
- motion = 1;
+ pattern_point = 0;
+ pattern[pattern_point] = '\0';
}
update_screen(¤t_line, &temporary_line, motion,
- nb_lines, lines, patterns);
+ nb_lines, lines, pattern);
} while(key != '\n' && key != KEY_ENTER && key != '\a');