zsh-workers
 help / color / mirror / code / Atom feed
* RE: Patch available for 3.0.6-pre-5
@ 1999-06-21  9:47 Sven Wischnowsky
  0 siblings, 0 replies; 9+ messages in thread
From: Sven Wischnowsky @ 1999-06-21  9:47 UTC (permalink / raw)
  To: zsh-workers


Andrej Borsenkow wrote:

> So - what should I put in ZLS_COLORS to get colored listing?

For starters, you can just try an empty string (I've added default
values -- those that are mentioned in my GNU-ls manual).

Otherwise it looks termacapish: a colon-separated list of `<cap>=<val>'.
Where <val> is a number (on a vt* terminal or xterm):

  1 for bold
  4 for underlined
  7 for standout
  3[0-7] for foreground colours
  4[0-7] for background colours

...for the colours you need an xterm that can display them, of course.

The rest form the ls-manual I have:

       You can override the default colors by defining the  envi-
       ronment variable LS_COLORS (or LS_COLOURS).  The format of
       this variable is reminicent of the termcap(5) file format;
       a   colon-separated   list  of  expressions  of  the  form
       "xx=string", where "xx" is a two-character variable  name.
       The variables with their associated defaults are:

         no       0       Normal (non-filename) text
         fi       0       Regular file
         di       32      Directory
         ln       36      Symbolic link
         pi       31      Named pipe (FIFO)
         so       33      Socket
         bd       44;37   Block device
         cd       44;37   Character device
         ex       35      Executable file
         mi       (none)  Missing file (defaults to fi)
         or       (none)  Orphanned symbolic link (defaults to ln)
         lc       \e[    Left code
         rc       m       Right code
         ec       (none)  End code (replaces lc+no+rc)

       You  only need to include the variables you want to change
       from the default.

       File names can also be colorized based on filename  exten-
       sion.   This  is specified in the LS_COLORS variable using
       the syntax "*ext=string".  For  example,  using  ISO  6429
       codes, to color all C-language source files blue you would
       specify "*.c=34".  This would color all files ending in .c
       in blue (34) color.

       Control  characters  can  be  written  either  in  C-style
       \-escaped notation, or in stty-like  ^-notation.   The  C-
       style  notation  adds \e for Escape, \_ for a normal space
       characer, and \? for Delete.  In addition,  the  \  escape
       character  can be used to override the default interpreta-
       tion of \, ^, : and =.

       Each file will be written as <lc> <color code> <rc> <file-
       name>  <ec>.   If the <ec> code is undefined, the sequence
       <lc> <no> <rc> will be used instead.   This  is  generally
       more convenient to use, but less general.  The left, right
       and end codes are provided so you don't have to type  com-
       mon  parts over and over again and to support weird termi-
       nals; you will generally not need to change  them  at  all
       unless your terminal does not use ISO 6429 color sequences
       but a different system.

       If your terminal does use ISO 6429 color  codes,  you  can
       compose the type codes (i.e. all except the lc, rc, and ec



FSF                     GNU File Utilities                      5





LS(1)                                                       LS(1)


       codes) from numerical commands  separated  by  semicolons.
       The most common commands are:

          0     to restore default color
          1     for brighter colors
          4     for underlined text
          5     for flashing text
         30     for black foreground
         31     for red foreground
         32     for green foreground
         33     for yellow (or brown) foreground
         34     for blue foreground
         35     for purple foreground
         36     for cyan foreground
         37     for white (or gray) foreground
         40     for black background
         41     for red background
         42     for green background
         43     for yellow (or brown) background
         44     for blue background
         45     for purple background
         46     for cyan background
         47     for white (or gray) background

       Not  all  commands  will  work  on  all systems or display
       devices.

       A few terminal programs do not recognize the  default  end
       code  properly.  If all text gets colorized after you do a
       directory listing, try changing the no and fi codes from 0
       to  the  numerical codes for your standard fore- and back-
       ground colors.


Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Patch available for 3.0.6-pre-5
@ 1999-06-21 10:56 Sven Wischnowsky
  0 siblings, 0 replies; 9+ messages in thread
From: Sven Wischnowsky @ 1999-06-21 10:56 UTC (permalink / raw)
  To: zsh-workers


Andrej Borsenkow wrote:

> > - the `menu-select' widget which is a bit like `menu-complete' but
> >   displays the list and then lets you use cursor-movement keys to
> >   navigate in the list; to return to line editing, you can use
> >   `accept-line' or `send-break'; `accept-and-hold' leaves the match
> >   inserted in place and continues selecting matches from the list
> >   (i.e. it's like `accept-and-menu-complete')
> 
> Wow! I was tempted to ask for it long long time ... but I always had a feeling,
> that zsh-workers are more of the old Unix teletype guys :-)

I, at least, am. That's why I'm not planning to give this real support.

> Is it possible to transparently use menu-select instead of menu-complete? I
> mean, I currently have TAB bound to complete-word with additional stuff like
> menu et al governed by configuration keys. Can I still use menu-select in this
> case? Some configuration key to use menu-select instead of menu-complete
> transparently ...

Switching on menu-select instead of menu-complete: no. This was at
least half-intentional because menu-select takes over control
completely. You can, however, go from normal menu completion to
menu-select and back again (if you have it bound to a key).
And of course you can use menu-select as one of the styles to use for
the new completion system (after loading collist).

Doing this with an option or configuration key is currently not
possible because zle/comp1/compctl don't know about collist. And I
would like to have some more feedback before I start thinking about
ways to support this. Ok?

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Patch available for 3.0.6-pre-5
  1999-06-21  9:38 Sven Wischnowsky
@ 1999-06-21  9:55 ` Andrej Borsenkow
  0 siblings, 0 replies; 9+ messages in thread
From: Andrej Borsenkow @ 1999-06-21  9:55 UTC (permalink / raw)
  To: Sven Wischnowsky, zsh-workers

> - the `menu-select' widget which is a bit like `menu-complete' but
>   displays the list and then lets you use cursor-movement keys to
>   navigate in the list; to return to line editing, you can use
>   `accept-line' or `send-break'; `accept-and-hold' leaves the match
>   inserted in place and continues selecting matches from the list
>   (i.e. it's like `accept-and-menu-complete')
>

Wow! I was tempted to ask for it long long time ... but I always had a feeling,
that zsh-workers are more of the old Unix teletype guys :-)

Is it possible to transparently use menu-select instead of menu-complete? I
mean, I currently have TAB bound to complete-word with additional stuff like
menu et al governed by configuration keys. Can I still use menu-select in this
case? Some configuration key to use menu-select instead of menu-complete
transparently ...

/andrej


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Patch available for 3.0.6-pre-5
@ 1999-06-21  9:38 Sven Wischnowsky
  1999-06-21  9:55 ` Andrej Borsenkow
  0 siblings, 1 reply; 9+ messages in thread
From: Sven Wischnowsky @ 1999-06-21  9:38 UTC (permalink / raw)
  To: zsh-workers


I wrote:

> [ ... collist ... ]

This one is even weirder... (if memory serves, Peter once talked about 
this).

It adds:
- the `ma' capability to collist; it is used during menucompletion to
  highlight the match inserted (note that you still have to set
  `ZLS_COLO(|U)RS' to see this -- an empty string will suffice)
- the `menu-select' widget which is a bit like `menu-complete' but
  displays the list and then lets you use cursor-movement keys to
  navigate in the list; to return to line editing, you can use
  `accept-line' or `send-break'; `accept-and-hold' leaves the match
  inserted in place and continues selecting matches from the list
  (i.e. it's like `accept-and-menu-complete')

Dunno if this is interesting to anyone, so I haven't written a manual
for this. (sorry :-}

Bye
 Sven

diff -u -r oos/Zle/collist.c Src/Zle/collist.c
--- oos/Zle/collist.c	Mon Jun 21 11:07:11 1999
+++ Src/Zle/collist.c	Mon Jun 21 11:32:27 1999
@@ -30,6 +30,8 @@
 #include "collist.mdh"
 #include "collist.pro"
 
+static Widget w_menuselect;
+
 /* We use the parameters ZLS_COLORS and ZLS_COLOURS in the same way as
  * the color ls does. It's just that we don't support the `or' file
  * type. */
@@ -50,21 +52,22 @@
 #define COL_LC 10
 #define COL_RC 11
 #define COL_EC 12
+#define COL_MA 13
 
-#define NUM_COLS 13
+#define NUM_COLS 14
 
 /* Names of the terminal strings. */
 
 static char *colnames[] = {
     "no", "fi", "di", "ln", "pi", "so", "bd", "cd", "ex", "mi",
-    "lc", "rc", "ec", NULL
+    "lc", "rc", "ec", "ma", NULL
 };
 
 /* Default values. */
 
 static char *defcols[] = {
     "0", "0", "32", "36", "31", "33", "44;37", "44;37", "35", NULL,
-    "\033[", "m", NULL
+    "\033[", "m", NULL, "7"
 };
 
 /* This describes a terminal string for a filename extension. */
@@ -200,9 +203,13 @@
     int i;
 
     if (!(s = getsparam("ZLS_COLORS")) &&
-	!(s = getsparam("ZLS_COLOURS")))
+	!(s = getsparam("ZLS_COLOURS"))) {
+	for (i = 0; i < NUM_COLS; i++)
+	    c->cols[i] = "";
+	
+	c->exts = NULL;
 	return 1;
-
+    }
     /* We have one of the parameters, use it. */
     memset(c, 0, sizeof(*c));
     s = dupstring(s);
@@ -216,6 +223,7 @@
     /* Default for missing files. */
     if (!c->cols[COL_MI])
 	c->cols[COL_MI] = c->cols[COL_FI];
+
     if (!c->cols[COL_EC]) {
 	char *e = (char *) zhalloc(strlen(c->cols[COL_LC]) +
 				   strlen(c->cols[COL_NO]) +
@@ -260,21 +268,27 @@
     return c->cols[COL_FI];
 }
 
+/* Information about the list shown. */
+
+static int noselect, mselect, mcol, mline, mcols, mlines;
+static Cmatch *mmatch, **mtab;
+static Cmgroup mgroup, *mgtab;
+
 /* List the matches. Most of this is just taken from ilistmatches(),
  * of course. */
 
-static int
-collistmatches(Hookdef dummy, Cmgroup amatches)
+static void
+icollistmatches(Cmgroup amatches, int mark)
 {
     Cmgroup g;
     Cmatch *p, m;
     Cexpl *e;
     int nlines = 0, ncols, nlist = 0, longest = 1, pnl = 0, opl = 0;
     int of = isset(LISTTYPES);
+    int mc, ml = 0, cc;
     struct listcols col;
 
-    if (getcols(&col))
-	return ilistmatches(dummy, amatches);
+    getcols(&col);
 
     /* Set the cursor below the prompt. */
     trashzle();
@@ -298,7 +312,7 @@
 		char *nlptr, *sptr;
 
 		g->flags |= CGF_LINES;
-		
+		noselect = 1;
 		while ((sptr = *pp)) {
 		    while (sptr && *sptr) {
 			nlines += (nlptr = strchr(sptr, '\n'))
@@ -363,6 +377,7 @@
     if ((complistmax && nlist > complistmax) ||
 	(!complistmax && nlines >= lines)) {
 	int qup;
+	noselect = 1;
 	zsetterm();
 	qup = printfmt("zsh: do you wish to see all %n possibilities? ", nlist, 1);
 	fflush(shout);
@@ -375,7 +390,6 @@
 		tcmultout(TCUP, TCMULTUP, nlnct);
 	    } else
 		putc('\n', shout);
-	    return 0;
 	}
 	if (clearflag) {
 	    putc('\r', shout);
@@ -386,7 +400,20 @@
 	    putc('\n', shout);
 	settyinfo(&shttyinfo);
     }
+    if (mselect >= 0) {
+	int i;
 
+	mark = mselect;
+	i = ncols * nlines;
+	free(mtab);
+	mtab = (Cmatch **) zalloc(i * sizeof(Cmatch **));
+	memset(mtab, 0, i * sizeof(Cmatch **));
+	free(mgtab);
+	mgtab = (Cmgroup *) zalloc(i * sizeof(Cmgroup));
+	memset(mgtab, 0, i * sizeof(Cmgroup));
+	mcols = ncols;
+	mlines = nlines;
+    }
     /* Now print the matches. */
     g = amatches;
     while (g) {
@@ -398,8 +425,9 @@
 		    if (pnl) {
 			putc('\n', shout);
 			pnl = 0;
+			ml++;
 		    }
-		    printfmt((*e)->str, (*e)->count, 1);
+		    ml += printfmt((*e)->str, (*e)->count, 1);
 		    pnl = 1;
 		}
 		e++;
@@ -409,6 +437,7 @@
 	    if (pnl) {
 		putc('\n', shout);
 		pnl = 0;
+		ml++;
 	    }
 	    if (g->flags & CGF_LINES) {
 		while (*pp) {
@@ -422,6 +451,7 @@
 
 		while (n && nl--) {
 		    i = ncols;
+		    mc = 0;
 		    pq = pp;
 		    while (n && i--) {
 			if (pq - g->ylist >= g->lcount)
@@ -435,8 +465,10 @@
 			pq += nc;
 			n--;
 		    }
-		    if (n)
+		    if (n) {
 			putc('\n', shout);
+			ml++;
+		    }
 		    pp++;
 		}
 	    }
@@ -448,9 +480,11 @@
 	    if (n && pnl) {
 		putc('\n', shout);
 		pnl = 0;
+		ml++;
 	    }
 	    for (p = skipnolist(g->matches); n && nl--;) {
 		i = ncols;
+		mc = 0;
 		q = p;
 		while (n && i--) {
 		    fputs(col.cols[COL_LC], shout);
@@ -463,6 +497,18 @@
 			fputs(col.cols[COL_EC], shout);
 			break;
 		    }
+		    if (mselect >= 0) {
+			mtab[mc + (ncols * ml)] = q;
+			mgtab[mc + (ncols * ml)] = g;
+		    }
+		    if (m->gnum == mark) {
+			mcol = mc;
+			mline = ml;
+			mmatch = q;
+			mgroup = g;
+			cc = COL_MA;
+		    } else
+			cc = -1;
 		    if (m->flags & CMF_FILE) {
 			struct stat buf;
 			char *pb;
@@ -472,7 +518,10 @@
 			sprintf(pb, "%s%s", (m->prpre ? m->prpre : "./"),
 				m->str);
 
-			if ((zt = ztat(pb, &buf, 1)))
+			zt = ztat(pb, &buf, 1);
+			if (cc >= 0)
+			    fputs(col.cols[cc], shout);
+			else if (zt)
 			    fputs(col.cols[COL_NO], shout);
 			else
 			    fputs(getcolstr(&col, pb, buf.st_mode), shout);
@@ -483,7 +532,7 @@
 			else
 			    putc(file_type(buf.st_mode), shout);
 		    } else {
-			fputs(col.cols[COL_NO], shout);
+			fputs(col.cols[cc >= 0 ? cc : COL_NO], shout);
 			fputs(col.cols[COL_RC], shout);
 			nicezputs(m->str, shout);
 			if (of)
@@ -503,6 +552,7 @@
 		    if (--n)
 			for (j = nc; j && *q; j--)
 			    q = skipnolist(q + 1);
+		    mc++;
 		}
 		if (i > 0) {
 		    fputs(col.cols[COL_LC], shout);
@@ -515,6 +565,7 @@
 		}
 		if (n) {
 		    putc('\n', shout);
+		    ml++;
 		    if (n && nl)
 			p = skipnolist(p + 1);
 		}
@@ -536,6 +587,179 @@
 	    clearflag = 0, putc('\n', shout);
     } else
 	putc('\n', shout);
+}
+
+static int
+collistmatches(Hookdef dummy, Cmgroup amatches)
+{
+    icollistmatches(amatches, (menucur ? (*menucur)->gnum : -1));
+    return 0;
+}
+
+static int
+markcollistmatches(Hookdef dummy, void **m)
+{
+    if (listshown && menucur)
+	icollistmatches(((Cmgroup) m[0]), ((Cmatch) m[1])->gnum);
+    return 0;
+}
+
+static int
+menuselect(char **args)
+{
+    Cmatch **p;
+    Cmgroup *pg;
+    Thingy cmd;
+    int i = 0;
+
+    if (!menucur)
+	menucomplete(args);
+
+    if (!menucur)
+	return 1;
+
+    noselect = 0;
+    mselect = (*menucur)->gnum;
+    for (;;) {
+	showinglist = -2;
+	zrefresh();
+	if (noselect)
+	    break;
+	if (!i) {
+	    i = mcols * mlines;
+	    while (i--)
+		if (mtab[i])
+		    break;
+	    if (!i)
+		break;
+	    i = 1;
+	}
+	p = mtab + mcol + (mline * mcols);
+	pg = mgtab + mcol + (mline * mcols);
+	menucur = *p;
+	menugrp = *pg;
+
+    getk:
+
+	if (!(cmd = getkeycmd()) || cmd == Th(z_sendbreak) ||
+	    cmd == Th(z_acceptline))
+	    break;
+	else if (cmd == Th(z_acceptandhold)) {
+	    acceptlast();
+	} else if (cmd == Th(z_redisplay)) {
+	    redisplay(zlenoargs);
+	    continue;
+	} else if (cmd == Th(z_clearscreen)) {
+	    clearscreen(zlenoargs);
+	    continue;
+	} else if (cmd == Th(z_downhistory) ||
+		   cmd == Th(z_downlineorhistory) ||
+		   cmd == Th(z_downlineorsearch) ||
+		   cmd == Th(z_vidownlineorhistory)) {
+	    do {
+		if (mline == mlines - 1) {
+		    p -= mline * mcols;
+		    mline = 0;
+		} else {
+		    mline++;
+		    p += mcols;
+		}
+	    } while (!*p);
+	} else if (cmd == Th(z_uphistory) ||
+		   cmd == Th(z_uplineorhistory) ||
+		   cmd == Th(z_uplineorsearch) ||
+		   cmd == Th(z_viuplineorhistory)) {
+	    do {
+		if (!mline) {
+		    mline = mlines - 1;
+		    p += mline * mcols;
+		} else {
+		    mline--;
+		    p -= mcols;
+		}
+	    } while (!*p);
+	} else if (cmd == Th(z_forwardchar) || cmd == Th(z_viforwardchar)) {
+	    do {
+		if (mcol == mcols - 1) {
+		    p -= mcol;
+		    mcol = 0;
+		} else {
+		    mcol++;
+		    p++;
+		}
+	    } while (!*p);
+	} else if (cmd == Th(z_backwardchar) || cmd == Th(z_vibackwardchar)) {
+	    do {
+		if (!mcol) {
+		    mcol = mcols - 1;
+		    p += mcol;
+		} else {
+		    mcol--;
+		    p--;
+		}
+	    } while (!*p);
+	} else if (cmd == Th(z_beginningofbufferorhistory) ||
+		   cmd == Th(z_beginningofline) ||
+		   cmd == Th(z_beginningoflinehist) ||
+		   cmd == Th(z_vibeginningofline)) {
+	    p -= mcol;
+	    mcol = 0;
+	    while (!*p) {
+		mcol++;
+		p++;
+	    }
+	} else if (cmd == Th(z_endofbufferorhistory) ||
+		   cmd == Th(z_endofline) ||
+		   cmd == Th(z_endoflinehist) ||
+		   cmd == Th(z_viendofline)) {
+	    p += mcols - mcol - 1;
+	    mcol = mcols - 1;
+	    while (!*p) {
+		mcol--;
+		p--;
+	    }
+	} else if (cmd == Th(z_forwardword) ||
+		   cmd == Th(z_emacsforwardword) ||
+		   cmd == Th(z_viforwardword) ||
+		   cmd == Th(z_viforwardwordend)) {
+	    Cmgroup g = *pg;
+	    int ol = mline;
+
+	    do {
+		if (mline == mlines - 1) {
+		    p -= mline * mcols;
+		    pg -= mline * mcols;
+		    mline = 0;
+		} else {
+		    mline++;
+		    p += mcols;
+		    pg += mcols;
+		}
+	    } while (ol != mline && (*pg == g || !*pg));
+	} else if (cmd == Th(z_backwardword) ||
+		   cmd == Th(z_emacsbackwardword) ||
+		   cmd == Th(z_vibackwardword)) {
+	    Cmgroup g = *pg;
+	    int ol = mline;
+
+	    do {
+		if (!mline) {
+		    mline = mlines - 1;
+		    p += mline * mcols;
+		    pg += mline * mcols;
+		} else {
+		    mline--;
+		    p -= mcols;
+		    pg -= mcols;
+		}
+	    } while (ol != mline && (*pg == g || !*pg));
+	} else
+	    goto getk;
+
+	do_single(**p);
+	mselect = (**p)->gnum;
+    }
+    mselect = -1;
     return 0;
 }
 
@@ -543,7 +767,6 @@
 int
 setup_example(Module m)
 {
-    addhookfunc("list_matches", (Hookfn) collistmatches);
     return 0;
 }
 
@@ -551,6 +774,18 @@
 int
 boot_example(Module m)
 {
+    mtab = NULL;
+    mselect = -1;
+
+    w_menuselect = addzlefunction("menu-select", menuselect,
+                                    ZLE_MENUCMP|ZLE_KEEPSUFFIX|ZLE_ISCOMP);
+    if (!w_menuselect) {
+	zwarnnam(m->nam, "name clash when adding ZLE function `menu-select'",
+		 NULL, 0);
+	return -1;
+    }
+    addhookfunc("list_matches", (Hookfn) collistmatches);
+    addhookfunc("insert_match", (Hookfn) markcollistmatches);
     return 0;
 }
 
@@ -560,6 +795,11 @@
 int
 cleanup_example(Module m)
 {
+    free(mtab);
+
+    deletezlefunction(w_menuselect);
+    deletehookfunc("list_matches", (Hookfn) collistmatches);
+    deletehookfunc("insert_match", (Hookfn) markcollistmatches);
     return 0;
 }
 
@@ -567,7 +807,6 @@
 int
 finish_example(Module m)
 {
-    deletehookfunc("list_matches", (Hookfn) collistmatches);
     return 0;
 }
 
diff -u -r oos/Zle/zle_main.c Src/Zle/zle_main.c
--- oos/Zle/zle_main.c	Mon Jun 21 11:07:12 1999
+++ Src/Zle/zle_main.c	Mon Jun 21 11:08:00 1999
@@ -959,6 +959,7 @@
 /**/
 struct hookdef zlehooks[] = {
     HOOKDEF("list_matches", ilistmatches, 0),
+    HOOKDEF("insert_match", NULL, HOOKF_ALL),
 };
 
 /**/
diff -u -r oos/Zle/zle_tricky.c Src/Zle/zle_tricky.c
--- oos/Zle/zle_tricky.c	Mon Jun 21 11:07:12 1999
+++ Src/Zle/zle_tricky.c	Mon Jun 21 11:08:01 1999
@@ -113,8 +113,11 @@
 /* Pointers to the current position in the groups list and in the menu-    *
  * completion array (the one that was put in the command line last).       */
 
-static Cmgroup menugrp;
-static Cmatch *menucur;
+/**/
+Cmgroup menugrp;
+
+/**/
+Cmatch *menucur;
 
 /* menupos is the point (in the command line) where the menu-completion   *
  * strings are inserted.  menulen is the length of the string that was    *
@@ -541,7 +544,8 @@
  * with the next completions. This gives you a way to   *
  * accept several selections from the list of matches.  */
 
-static void
+/**/
+void
 acceptlast(void)
 {
     if (brbeg && *brbeg) {
@@ -7513,7 +7517,7 @@
 /* Insert a single match in the command line. */
 
 /**/
-static void
+void
 do_single(Cmatch m)
 {
     int l, sr = 0, scs;
@@ -7669,6 +7673,17 @@
 
     if ((menucmp && !menuwe) || !movetoend)
 	cs = menuend;
+    {
+	void *data[2];
+	Cmatch *om = menucur;
+
+	if (menucmp)
+	    menucur = &m;
+	data[0] = (void *) amatches;
+	data[1] = (void *) m;
+	runhookdef(zlehooks + 1, (void *) data);
+	menucur = om;
+    }
 }
 
 /* This maps the value in v into the range [0,m-1], decrementing v

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Patch available for 3.0.6-pre-5
  1999-06-21  9:05 Sven Wischnowsky
@ 1999-06-21  9:35 ` Andrej Borsenkow
  0 siblings, 0 replies; 9+ messages in thread
From: Andrej Borsenkow @ 1999-06-21  9:35 UTC (permalink / raw)
  To: Sven Wischnowsky, zsh-workers

>
> This adds the `collist' module (there may be a better name). If you
> load/link it and set `ZLS_COLORS' or `ZLS_COLOURS' to a string as the
> one used by the colour ls, you get colourised completion lists.
>

Ahem ... I've never used GNU ls, so, what should I put in there? I believe, it
is better be described in Zsh doc.

I just looked fileutils-4.0. Man page for ls says nothing; info has entry for
dircolors that just tells, that it's output should be assigned to LS_COLORS
variables and suggests running dircolors --print-database for more info :-) I
don't have fileutils (and won't have on this system)

So - what should I put in ZLS_COLORS to get colored listing?

/andrej


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Patch available for 3.0.6-pre-5
@ 1999-06-21  9:05 Sven Wischnowsky
  1999-06-21  9:35 ` Andrej Borsenkow
  0 siblings, 1 reply; 9+ messages in thread
From: Sven Wischnowsky @ 1999-06-21  9:05 UTC (permalink / raw)
  To: zsh-workers


Peter Stephenson wrote:

> "Bart Schaefer" wrote:
> > * After much consideration, taking into account the commentary elicited on
> >   the zsh-users list, I have decided that Greg Badros's ZLS_COLORS patches
> >   will have to wait for Peter to include them in 3.1.x.
> 
> I will put this in if I can get it and the permission to do so.

Errr... since you had announced that you wanted to work on the widget
stuff I had to find something else to work on at the weekend whenever
I was fed up with real work, so:

This adds the `collist' module (there may be a better name). If you
load/link it and set `ZLS_COLORS' or `ZLS_COLOURS' to a string as the
one used by the colour ls, you get colourised completion lists.

Some comments:
- I haven't checked if this behaves exactly like the colour-ls
  thing. Greg, could you test/modify this? One thing I know is
  different is that I didn't use the `or' capability (orphaned
  links). Also, I made the colour-codes be used for the filling-
  spaces after the names, too (looks better with coloured backgrounds, 
  I think).
- I haven't bothered to explain the parameters in the docs. Anyone who 
  will use this (I won't) is invited to improve the manual (it's in
  mod_collist.yo).
- we could enhance in several ways, of course...
- oh, and there is no GNU code used here (that's part of the reason
  why I'm not sure if it behaves like GNU-ls)

That was the uninteresting part. Here's the interesting one:

For this I had to keep zle_tricky.c from calling listmatches()
directly. The simple solution would be to add a function pointer
variable which is used for that, obviously. But this is an invitation
to module programmers, so there might be multiple modules that
save/set/restore this pointer and combinations of loading/unloading
modules that leave the pointer in an invalid state.
So I added support for (C-)hooks in module.c. This is currently very
simple (i.e. not very powerful), but it's enough for this purpose. See 
the description in zsh-development-guide if you are interested.

Bye
 Sven

begin 600 p-collist.gz
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
@1*M6I?)7YUJ*Y+4>M=FW;+G%:ZX@#/X!E1@+3(]O``!7
`
end

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Patch available for 3.0.6-pre-5
  1999-06-19  6:49 Bart Schaefer
  1999-06-19 21:14 ` Bart Schaefer
@ 1999-06-20 15:29 ` Peter Stephenson
  1 sibling, 0 replies; 9+ messages in thread
From: Peter Stephenson @ 1999-06-20 15:29 UTC (permalink / raw)
  To: zsh-workers

"Bart Schaefer" wrote:
> * After much consideration, taking into account the commentary elicited on
>   the zsh-users list, I have decided that Greg Badros's ZLS_COLORS patches
>   will have to wait for Peter to include them in 3.1.x.

I will put this in if I can get it and the permission to do so.

-- 
Peter Stephenson <pws@ibmth.df.unipi.it>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Patch available for 3.0.6-pre-5
  1999-06-19  6:49 Bart Schaefer
@ 1999-06-19 21:14 ` Bart Schaefer
  1999-06-20 15:29 ` Peter Stephenson
  1 sibling, 0 replies; 9+ messages in thread
From: Bart Schaefer @ 1999-06-19 21:14 UTC (permalink / raw)
  To: zsh-workers

On Jun 19,  6:49am, Bart Schaefer wrote:
}
} * Have I forgotten anything?

Wayne points out that the diff is missing the patch for Src/version.h.
I've noted that problem in ftp://ftp.brasslantern.com/pub/zsh/README;
there's no point in sending a diff for a one-character change.

Sorry about that.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Patch available for 3.0.6-pre-5
@ 1999-06-19  6:49 Bart Schaefer
  1999-06-19 21:14 ` Bart Schaefer
  1999-06-20 15:29 ` Peter Stephenson
  0 siblings, 2 replies; 9+ messages in thread
From: Bart Schaefer @ 1999-06-19  6:49 UTC (permalink / raw)
  To: zsh-workers

I've made up another pre-patch for 3.0.6, which carries the version number
3.0.6-pre-5.  The set is now:
        ftp://ftp.brasslantern.com/pub/zsh/zsh-3.0.5-3.0.6-pre-0.diff
        ftp://ftp.brasslantern.com/pub/zsh/zsh-3.0.6-pre-0-pre-1.diff
        ftp://ftp.brasslantern.com/pub/zsh/zsh-3.0.6-pre-1-pre-2.diff
        ftp://ftp.brasslantern.com/pub/zsh/zsh-3.0.6-pre-2-pre-3.diff
        ftp://ftp.brasslantern.com/pub/zsh/zsh-3.0.6-pre-3-pre-4.diff
        ftp://ftp.brasslantern.com/pub/zsh/zsh-3.0.6-pre-4-pre-5.diff

Remember that after applying patches to 3.0.5, you must "touch stamp-h.in"
before running configure to prevent make from attempting to rerun autoconf
and autoheader.

Checksums on the latest diff:

(BSD)  61167   137
(SYSV) 60127 273 zsh-3.0.6-pre-4-pre-5.diff

The big change here is the 64-bit and large file support (thanks, Peter).
If you have a system where this is useful, please check this if you can.

This is the last "pre" release.  I plan to make a test release through
the official FTP site before the end of the month; if all goes well with
that, the final release will be in mid-July.

Remarks about this patch:

* After much consideration, taking into account the commentary elicited on
  the zsh-users list, I have decided that Greg Badros's ZLS_COLORS patches
  will have to wait for Peter to include them in 3.1.x.  Sorry, Greg; it
  did seem that there's enough support for it to be worth getting a GPL
  exemption from the FSF, but I'm swayed by the argument that fewer new
  features is better in the case of 3.0, so I've tried to pick up only bug
  fixes (including compatibility ones) since -pre-4.

* For the same reasons, I did not adapt Sven's PS4-promptpercent patch,
  though I waffled a lot about it.

* This patch is a unified diff (previously I've been doing context diffs)
  because it's 40% smaller that way.  It's still the largest patch in the
  set so far ....

* There are two primary reasons the patch is so big:
  1. 64-bit support makes many small changes in lots of files.
  2. I upgraded to autoconf 2.13, which exaggerates the configure diff.

* I haven't updated the META-FAQ, but will before the final release.  I'm
  also expecting Sven to fix the bug I reported in 6722.  Otherwise I do
  not plan on making any more changes before the test release, and of
  course only bugfixes after.

* Have I forgotten anything?

Here are the new ChangeLog entries since -pre-4:

+1999-06-19 05:16  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/exec.c: Permit shell constructs such as loops to be
+        suspended; Sven, 6707.
+
+1999-06-19 05:11  Bart Schaefer <schaefer@zsh.org>
+
+	* Doc/zsh.texi, Doc/zshbuiltins.man, Src/builtin.c, Src/exec.c,
+	Src/init.c, Src/input.c, Src/parse.c, Src/zsh.h: Adapt Sven's and
+        PWS's patches for correct LINENO computation from 6693, 6705.
+
+1999-06-19 04:28  Bart Schaefer <schaefer@zsh.org>
+
+	* configure: Rerun autoconf for more 64-bit changes.
+
+	* Src/init.c: Issue an error for shell options with embedded
+        spaces; PWS, 6658.
+
+1999-06-16 08:38  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/zsh.h: Alternate formulation of zulong as introduced in
+        pws-22.
+
+1999-06-16 08:26  Bart Schaefer <schaefer@zsh.org>
+
+	* configure.in: Further 64-bit fixes covering 6570 and 6639,
+        adapted to 3.0.6 by PWS.
+
+1999-06-16 07:22  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/jobs.c: Relocate the extern decl for list_pipe, as we need it
+        in wider scope now.
+
+1999-06-16 07:13  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/jobs.c: Fix interrupt and reaping of builtin loop at the end
+        of a pipe when in a non-MONITOR-ing shell; Sven, zsh-users/2388.
+
+	* config.h.in, configure: Rerun autoheader and autoconf following
+	64-bit changes.
+
+1999-06-16 06:59  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/exec.c: Strip trailing whitespace when performing "#!"
+        execute-emulation; 6652.
+
+	* Src/hist.c: Fix crash when using shortcut history substitution
+        (^foo^bar) with an empty history list; 6651.
+
+1999-06-16 05:57  Bart Schaefer <schaefer@zsh.org>
+
+	* INSTALL, acconfig.h, aclocal.m4, configure.in, Src/builtin.c,
+	Src/math.c, Src/mem.c, Src/params.c, Src/subst.c, Src/utils.c,
+	Src/zsh.h: More patches from PWS for 64-bit support, in 6552, 6563,
+        6570, 6571, and 6626.
+
+1999-06-16 05:28  Bart Schaefer <schaefer@zsh.org>
+
+	* Doc/zsh.texi: Add an index entry for subscripts, as PWS did in
+        6563.
+
+1999-06-15 16:58  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/subst.c: Handle -0 as a dirstack element; Tanaka Akira, 6641.
+
+1999-06-15 04:44  Bart Schaefer <schaefer@zsh.org>
+
+	* Doc/zsh.texi, Doc/zshmisc.man, Src/lex.c: Adapt PWS's patch for
+        ksh function definition syntax, from 6618.
+
+1999-06-15 04:14  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/utils.c: Rework SIGWINCH and LINES/COLUMNS handling once
+        again; zsh-workers/6617.
+
+1999-06-13 19:13  Bart Schaefer <schaefer@zsh.org>
+
+	* Doc/zsh.texi: Fix one typo and change coordinator to PWS.
+
+1999-06-08 06:18  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/hashtable.c: Fix loss of newline in new code to output 64-bit
+        integer.
+
+1999-06-08 05:58  Bart Schaefer <schaefer@zsh.org>
+
+	* INSTALL, acconfig.h, aclocal.m4, config.h.in, configure,
+	configure.in, Src/builtin.c, Src/exec.c, Src/glob.c, Src/globals.h,
+	Src/hashtable.c, Src/init.c, Src/input.c, Src/math.c, Src/mem.c,
+	Src/params.c, Src/subst.c, Src/system.h, Src/utils.c, Src/zsh.h:
+	Handling for 64-bit integers on 32-bit systems where the compiler
+        supports them, including large file support; PWS, 6449.
+
+1999-06-07 03:14  Bart Schaefer <schaefer@zsh.org>
+
+	* configure.in: Fix for configure typo; Naoki Wakamatsu, 6477.
+
+1999-06-06 05:02  Bart Schaefer <schaefer@zsh.org>
+
+	* Doc/zsh.texi: Add missing description for `compctl -s'.
+
+1999-06-06 04:33  Bart Schaefer <schaefer@zsh.org>
+
+	* Src/hist.c: Ignore whitespace in history searches; from Wayne
+        Davison, 6476.
+

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~1999-06-21 10:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-06-21  9:47 Patch available for 3.0.6-pre-5 Sven Wischnowsky
  -- strict thread matches above, loose matches on Subject: below --
1999-06-21 10:56 Sven Wischnowsky
1999-06-21  9:38 Sven Wischnowsky
1999-06-21  9:55 ` Andrej Borsenkow
1999-06-21  9:05 Sven Wischnowsky
1999-06-21  9:35 ` Andrej Borsenkow
1999-06-19  6:49 Bart Schaefer
1999-06-19 21:14 ` Bart Schaefer
1999-06-20 15:29 ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).