######################################################################
function selector-history () {
- selector --bash -u -c 7,4,0,3 -q <(history)
+ selector --bash -j -u -c 7,4,0,3 -q <(history)
}
######################################################################
function selector-cd-search () {
PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
- selector -u -t "cd" -l 1000 -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY}
+ selector -j -u -t "cd" -l 1000 -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY}
NEW_PATH="$(cat ${PATH_TEMP} | sed -e 's!~!'${HOME}'!')"
if [[ -s "${NEW_PATH}" ]]; then
selector-cd "$(cat ${PATH_TEMP} | sed -e 's!^~!'${HOME}'!')"
char *title = 0;
int error_flash = 0;
int upper_caps_makes_case_sensitive = 0;
+int show_long_lines = 0;
int attr_modeline, attr_focus_line, attr_error;
fprintf(out, " start in regexp mode\n");
fprintf(out, " -a, --case-sensitive\n");
fprintf(out, " start in case sensitive mode\n");
+ fprintf(out, " -j, --show-long-lines\n");
+ fprintf(out, " print three dots at the end of truncated lines\n");
fprintf(out, " -u, --upper-case-makes-case-sensitive\n");
fprintf(out, " using an upper case character in the matching string makes\n");
fprintf(out, " the matching case-sensitive\n");
/* Highlight the highlighted line ... */
if(l == new_focus_line) {
- while(k < console_width) {
- buffer[k++] = ' ';
+ if(show_long_lines && k >= console_width) {
+ if(console_width >= 4) {
+ buffer[console_width - 4] = ' ';
+ buffer[console_width - 3] = '.';
+ buffer[console_width - 2] = '.';
+ buffer[console_width - 1] = '.';
+ }
+ } else {
+ while(k < console_width) {
+ buffer[k++] = ' ';
+ }
}
attron(attr_focus_line);
addnstr(buffer, console_width);
attroff(attr_focus_line);
} else {
- buffer[k++] = '\n';
- buffer[k++] = '\0';
+ if(show_long_lines && k >= console_width) {
+ if(console_width >= 4) {
+ buffer[console_width - 4] = ' ';
+ buffer[console_width - 3] = '.';
+ buffer[console_width - 2] = '.';
+ buffer[console_width - 1] = '.';
+ }
+ } else {
+ buffer[k++] = '\n';
+ buffer[k++] = '\0';
+ }
/* clrtoeol(); */
addnstr(buffer, console_width);
}
{ "remove-duplicates", no_argument, 0, 'd' },
{ "regexp", no_argument, 0, 'e' },
{ "case-sensitive", no_argument, 0, 'a' },
+ { "show-long-lines", no_argument, 0, 'j'},
{ "upper-case-makes-case-sensitive", no_argument, 0, 'u' },
{ "title", 1, 0, 't' },
{ "number-of-lines", 1, 0, 'l' },
strcpy(output_filename, "");
- while ((c = getopt_long(argc, argv, "o:s:x:vwmqf:ibzdeaunt:l:c:-h",
+ while ((c = getopt_long(argc, argv, "o:s:x:vwmqf:ibzdeajunt:l:c:-h",
long_options, NULL)) != -1) {
switch(c) {
case_sensitive = 1;
break;
+ case 'j':
+ show_long_lines = 1;
+ break;
+
case 'u':
upper_caps_makes_case_sensitive = 1;
break;