projects
/
selector.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cosmetics.
[selector.git]
/
selector.cc
diff --git
a/selector.cc
b/selector.cc
index
7422fd6
..
568da6e
100644
(file)
--- a/
selector.cc
+++ b/
selector.cc
@@
-388,6
+388,12
@@
void update_screen(int *current_line, int *temporary_line, int motion,
//////////////////////////////////////////////////////////////////////
int main(int argc, char **argv) {
//////////////////////////////////////////////////////////////////////
int main(int argc, char **argv) {
+
+ if(!ttyname(STDIN_FILENO)) {
+ cerr << "The standard input is not a tty." << endl;
+ exit(1);
+ }
+
char buffer[buffer_size];
int color_fg_modeline, color_bg_modeline;
int color_fg_highlight, color_bg_highlight;
char buffer[buffer_size];
int color_fg_modeline, color_bg_modeline;
int color_fg_highlight, color_bg_highlight;
@@
-562,6
+568,8
@@
int main(int argc, char **argv) {
lines[nb_lines] = new char[strlen(s) + 1];
strcpy(lines[nb_lines], s);
} else {
lines[nb_lines] = new char[strlen(s) + 1];
strcpy(lines[nb_lines], s);
} else {
+ // We do not allocate a new string but use the pointer to the
+ // first occurence of it
lines[nb_lines] = lines[dup];
lines[dup] = 0;
}
lines[nb_lines] = lines[dup];
lines[dup] = 0;
}
@@
-572,6
+580,8
@@
int main(int argc, char **argv) {
delete[] hash_table;
delete[] hash_table;
+ // Now remove the null strings
+
int n = 0;
for(int k = 0; k < nb_lines; k++) {
if(lines[k]) {
int n = 0;
for(int k = 0; k < nb_lines; k++) {
if(lines[k]) {
@@
-593,8
+603,19
@@
int main(int argc, char **argv) {
int pattern_point;
pattern_point = 0;
int pattern_point;
pattern_point = 0;
+ //////////////////////////////////////////////////////////////////////
+ // Here we start to display with curse
+
initscr();
initscr();
+ noecho();
+
+ // Hide the cursor
+ curs_set(0);
+
+ // So that the arrow keys work
+ keypad(stdscr, TRUE);
+
if(with_colors) {
if(has_colors()) {
start_color();
if(with_colors) {
if(has_colors()) {
start_color();
@@
-615,10
+636,6
@@
int main(int argc, char **argv) {
}
}
}
}
- noecho();
- curs_set(0); // Hide the cursor
- keypad(stdscr, TRUE); // So that the arrow keys work
-
int key;
int current_line = 0, temporary_line = 0;
int key;
int current_line = 0, temporary_line = 0;
@@
-685,6
+702,9
@@
int main(int argc, char **argv) {
curs_set(1);
endwin();
curs_set(1);
endwin();
+ //////////////////////////////////////////////////////////////////////
+ // Here we come back to standard display
+
if((key == KEY_ENTER || key == '\n')) {
if(output_to_vt_buffer) {
if((key == KEY_ENTER || key == '\n')) {
if(output_to_vt_buffer) {