From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12900 invoked from network); 12 Mar 2000 17:36:28 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 12 Mar 2000 17:36:28 -0000 Received: (qmail 17127 invoked by alias); 12 Mar 2000 17:36:16 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 10091 Received: (qmail 17119 invoked from network); 12 Mar 2000 17:36:15 -0000 Date: Sun, 12 Mar 2000 19:35:29 +0200 (EET) From: Juhapekka Tolvanen To: Bart Schaefer cc: zsh-workers@sunsite.auc.dk Subject: Re: Good documentation about literal escape sequences in prompt? In-Reply-To: <1000312000522.ZM26743@candle.brasslantern.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT On Sun, 12 Mar 2000, Bart Schaefer wrote: > On Mar 12, 1:41am, Juhapekka Tolvanen wrote: > } Subject: Good documentation about literal escape sequences in prompt? > } > } %{...%} > } Include a string as a literal escape sequence. The > } string within the braces should not change the cursor > } position. Brace pairs can nest. > } > } Hey, come on! Do you really think that is enough? Why don't you provide some > } good examples? I know you can do it better! > > It's an acknowledged problem that the docs need more examples. Care to > provide any? I can't write documentation about things i can't do myself. Can you? > } For example this does not work: > } > } PS1="%{\e[1;31m%}$PS1%{\e[1m%}" > ^^^^^^^^ > The doc says LITERAL escape sequence; the substring \e is not LITERALLY the > character with ASCII value decimal-27. What other part of the doc gave you > the idea that prompting would replace \e with something else? Why docs does not tell, what those so called literal escape sequences mean and how they they differ from other kind of escape sequences? > } Color-codes were found from /usr/share/zsh/functions/colors > > Well, then. What you want to do is (1) run that function `colors' to set > up the $fg_bold array, etc., and then (2) set your prompt like this: > > PS1="%{$fg_bold[red]%}$PS1%{$reset_color%}" Well, let's see: 1663 | p6 | juhtolv@heresy : /home/juhtolv % . /usr/share/zsh/functions/colors 1664 | p6 | juhtolv@heresy : /home/juhtolv % PS1="%{$fg_bold[red]%}$PS1%{$reset_color%}" [red]1665 | p6 | juhtolv@heresy : /home/juhtolv % And whole prompt is now cyan-colored. > } I tried to understand other files in /usr/share/zsh/functions, like _prompt > } and promptinit but even it was the real pain in the ass. > > It's also true that there's no doc for the prompts stuff yet. You type > > autoload -U promptinit > promptinit > > And then you can get a little bit of help from `prompt -h'. I can use those commands and I can load those pre-determined prompts, but that is not exactly the thing I want to do. I just want to add some escape sequences to my PS1 so i can add some colors to it. The biggest unanswered question that still remains is this: When I find some escape sequences from /usr/share/zsh/functions/colors, how can I "convert" them so, that I can put them to my PS1 between %{...%} ? At least that question should be answered somewhere in docs. But it would be better to list all escape sequences in such format, that can be added to PS1 between %{...%}. -- -- Juhapekka "naula" Tolvanen * * * U of Jyväskylä * * juhtolv@st.jyu.fi -- -- http://www.cc.jyu.fi/~juhtolv/ * * * * " STRAIGHT BUT NOT NARROW !! " -- --------------------------------------------------------------------------- "I don't want to run a company. I'm not good at managing people. You have a problem with the guy in the next cubicle? I don't care. Shoot him or something." Marc Andreessen, founder of Netscape, in Rolling Stone, May '97