From ca3e09ab0e4ffc59ba170094421571ada871adbb Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Mon, 2 Jul 2012 18:49:50 +0200 Subject: [PATCH] Using the label separator \n indicates that labels and strings to return are on alternating lines. --- selector.1 | 13 ++++++------- selector.c | 33 +++++++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/selector.1 b/selector.1 index 17e867f..5b54665 100644 --- a/selector.1 +++ b/selector.1 @@ -140,7 +140,8 @@ specify the character to separate the substrings in the search pattern .TP \fB-x \fI\fR, \fB--label-separator \fI\fR specify the character to separate what to show to the user during the -selection from the line to return +selection from the line to return. If the provided separator is "\\n", +the lines to show to the user alternate with the lines to return .TP \fB-l \fI\fR, \fB--number-of-lines \fI\fR specify the maximum number of lines to take into account @@ -152,15 +153,13 @@ To use selector to search into your bash history .B selector -q --bash <(history) To show a list of directories and insert a cd command to the selected -one (using @ as a separator) +one -.B selector -v -x @ <(find . -type d | awk \(aq{print $0\(dq@cd \(dq$0}\(aq) +.B selector -v -x \(dq\\\\n\(dq <(find . -type d | awk \(aq{print $0\(dq\\\\ncd \(dq$0}\(aq) -To select a line in a long text and returns the line number (this -command uses ^A as a separator, hence there will be problems if the -file contains ^A) +To select a line in a long text and returns the line number -.B selector -v -x ^A <(awk < something.txt \(aq{ print $0\(dq^A\(dqNR }\(aq) +.B selector -v -x \(dq\\\\n\(dq <(awk < something.txt \(aq{ print $0\(dq\\\\n\(dqNR }\(aq) .SH "BUGS" diff --git a/selector.c b/selector.c index aafaf9d..77ab603 100644 --- a/selector.c +++ b/selector.c @@ -45,9 +45,9 @@ #include #include -#define VERSION "1.1.6" +#define VERSION "1.1.7" -#define BUFFER_SIZE 4096 +#define BUFFER_SIZE 16384 /* Yeah, global variables! */ @@ -216,7 +216,8 @@ void usage(FILE *out) { fprintf(out, " -s , --pattern-separator \n"); fprintf(out, " set the symbol to separate substrings in the pattern\n"); fprintf(out, " -x