projects
/
selector.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added a visual feedback for impossible cursor motions.
[selector.git]
/
selector.cc
diff --git
a/selector.cc
b/selector.cc
index
36b7b9a
..
ebe528e
100644
(file)
--- a/
selector.cc
+++ b/
selector.cc
@@
-1,7
+1,7
@@
/*
/*
- * selector is a simple
shell command for selection of strings with a
- * dynamic pattern-matching.
+ * selector is a simple
command line utility for selection of strings
+ *
with a
dynamic pattern-matching.
*
* Copyright (c) 2009 Francois Fleuret
* Written by Francois Fleuret <francois@fleuret.org>
*
* Copyright (c) 2009 Francois Fleuret
* Written by Francois Fleuret <francois@fleuret.org>
@@
-107,6
+107,10
@@
int string_to_positive_integer(char *string) {
return result;
}
return result;
}
+void error_feedback() {
+ flash();
+}
+
//////////////////////////////////////////////////////////////////////
// A quick and dirty hash table
//////////////////////////////////////////////////////////////////////
// A quick and dirty hash table
@@
-243,7
+247,7
@@
void delete_char(char *buffer, int *position) {
buffer[c] = buffer[c+1];
c++;
}
buffer[c] = buffer[c+1];
c++;
}
- }
+ }
else error_feedback();
}
void backspace_char(char *buffer, int *position) {
}
void backspace_char(char *buffer, int *position) {
@@
-259,7
+263,7
@@
void backspace_char(char *buffer, int *position) {
}
(*position)--;
}
(*position)--;
- }
+ }
else error_feedback();
}
void insert_char(char *buffer, int *position, char character) {
}
void insert_char(char *buffer, int *position, char character) {
@@
-275,7
+279,7
@@
void insert_char(char *buffer, int *position, char character) {
c++;
buffer[c] = '\0';
buffer[(*position)++] = character;
c++;
buffer[c] = '\0';
buffer[(*position)++] = character;
- }
+ }
else error_feedback();
}
void kill_before_cursor(char *buffer, int *position) {
}
void kill_before_cursor(char *buffer, int *position) {
@@
-510,7
+514,7
@@
void update_screen(int *current_line, int *temporary_line, int motion,
if(case_sensitive) {
if(use_regexp) {
if(case_sensitive) {
if(use_regexp) {
- addstr("
");
+ addstr("
,
");
}
addstr("case");
}
}
addstr("case");
}
@@
-773,11
+777,6
@@
int main(int argc, char **argv) {
hash_table = new_hash_table(hash_table_size);
}
hash_table = new_hash_table(hash_table_size);
}
- // if(i == argc && !input_filename[0]) {
- // cerr << "You must provide a filename." << endl;
- // exit(1);
- // }
-
if(input_filename[0]) {
read_file(input_filename,
nb_lines_max, &nb_lines, lines,
if(input_filename[0]) {
read_file(input_filename,
nb_lines_max, &nb_lines, lines,
@@
-824,9
+823,6
@@
int main(int argc, char **argv) {
noecho();
noecho();
- // Hide the cursor
- // curs_set(0);
-
// So that the arrow keys work
keypad(stdscr, TRUE);
// So that the arrow keys work
keypad(stdscr, TRUE);
@@
-838,7
+834,6
@@
int main(int argc, char **argv) {
color_fg_highlight < 0 || color_bg_highlight >= COLORS ||
color_bg_highlight < 0 || color_bg_highlight >= COLORS) {
echo();
color_fg_highlight < 0 || color_bg_highlight >= COLORS ||
color_bg_highlight < 0 || color_bg_highlight >= COLORS) {
echo();
- // curs_set(1);
endwin();
cerr << "Color numbers have to be between 0 and " << COLORS - 1 << "." << endl;
exit(1);
endwin();
cerr << "Color numbers have to be between 0 and " << COLORS - 1 << "." << endl;
exit(1);
@@
-905,11
+900,13
@@
int main(int argc, char **argv) {
else if(key == KEY_LEFT ||
key == '\002') { // ^B
if(cursor_position > 0) cursor_position--;
else if(key == KEY_LEFT ||
key == '\002') { // ^B
if(cursor_position > 0) cursor_position--;
+ else error_feedback();
}
else if(key == KEY_RIGHT ||
key == '\006') { // ^F
if(pattern[cursor_position]) cursor_position++;
}
else if(key == KEY_RIGHT ||
key == '\006') { // ^F
if(pattern[cursor_position]) cursor_position++;
+ else error_feedback();
}
else if(key == '\001') { // ^A
}
else if(key == '\001') { // ^A
@@
-942,7
+939,6
@@
int main(int argc, char **argv) {
} while(key != '\n' && key != KEY_ENTER && key != '\007'); // ^G
echo();
} while(key != '\n' && key != KEY_ENTER && key != '\007'); // ^G
echo();
- // curs_set(1);
endwin();
//////////////////////////////////////////////////////////////////////
endwin();
//////////////////////////////////////////////////////////////////////