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

Re: Count only visible characters?

Since you are using prompt expansion you should always escape the color codes 
with "%{...%}". That's the only way zsh can calculate the length of the prompt 
line correctly. Otherwise the cursor will not be positioned at the end of the 
visual end.


If you need to do manual counting you can use this 


The command replaces every escape %{...%} sequence prior to calculating the 

$ testing="%{%F{green}%}hello"
$ echo ${(S%%)#testing//\%\{*\%\}}

On Friday, 9. April 2010 00:38:05 Seth House wrote:
> Is there any way to count only visible characters?
>     testing="%F{green}hello"
>     echo ${(%)#testing}
> The number I'm interested in is 5 not 14.
> After an awful lot of Googling, I'm under the impression this isn't a
>  trivial problem. If that is true, I would certainly enjoy a little
>  exposition if someone has time.
> Thanks.
> - Seth

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