Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Dynamic colored command in zsh



Hi Julien,

Which version of zsh are you using? If you are using 4.2.x, i.e. the default
version under Centos 5, you would have this problem because operator "=~" is not
defined. Even if you are able to get around this, you still cannot use my script
because "region_highlight" is not defined in 4.2.x too.

Roy

On Mon, Sep 13, 2010 at 03:25:09PM +0200, Julien Nicoulaud wrote:
> Wow, that would be great !
> 
> Roy, can you give us the options you use ? The "=~" equalities throw errors
> for me.
> 
> 2010/9/13 Roy Zuo <roylzuo@xxxxxxxxx>
> 
> > Yes, I tried today and made some progress. I can make the color for the
> > command
> > to change whenever I type a new character or delete one. However my ZLE
> > skill is
> > quite limited and someone else might be able to make this also work when
> > TAB is
> > pressed.
> >
> >    recolor-cmd() {
> >        args=(${(z)BUFFER})
> >        cmd=$args[1]
> >        res=$(builtin type $cmd 2>/dev/null)
> >        [ -z $res ]  && return
> >        if [ $res =~ 'reserved word' ]; then
> >            color="magenta"
> >        elif [ $res =~ 'an alias' ]; then
> >
> >            color="cyan"
> >        elif [ $res =~ 'shell builtin' ]; then
> >            color="yellow"
> >        elif [ $res =~ 'shell function' ]; then
> >            color='green'
> >        elif [ $res =~ "$cmd is" ]; then
> >            color="blue"
> >        else
> >            color="red"
> >        fi
> >        region_highlight=("0 ${#cmd} fg=${color},bold")
> >    }
> >
> >    check-cmd-self-insert() { zle .self-insert && recolor-cmd }
> >    check-cmd-backward-delete-char() { zle .backward-delete-char &&
> > recolor-cmd }
> >
> >    zle -N self-insert check-cmd-self-insert
> >    zle -N backward-delete-char check-cmd-backward-delete-char
> >
> > Regards,
> >
> > Roy
> >
> > On Sun, Sep 12, 2010 at 12:04:08PM +0200, Michel wrote:
> > > Hello,
> > >
> > > Is it possible to have the dynamic colored command in zsh as in fish ?
> > >
> > > By example : if I type "grep", for each caracter before the "p" the
> > > word is colored in red but when I type the last caractere the word is
> > > colored in green. The coloring should be appled on parameters, string
> > > (between 2 " or '), the color should be different if the word is
> > > alias, function or command.
> > >
> > > Thanks for your answer
> > >
> > > Nice day
> > > _____________________
> > > Michel BARRET
> > >
> >
> > --
> >  _________________________
> > < Murphy was an optimist. >
> >  -------------------------
> >       \   ,__,
> >        \  (oo)____
> >           (__)    )\
> >              ||--|| *
> >

-- 
 ______________________________________________________________________ 
/ MSDOS didn't get as bad as it is overnight -- it took over ten years \
| of careful development.                                              |
|                                                                      |
\ -- dmeggins@xxxxxxxxxxxxxxx                                          /
 ---------------------------------------------------------------------- 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *



Messages sorted by: Reverse Date, Date, Thread, Author