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

Re: Niggling little problem with a theme




> On Dec 11, 2019, at 3:35 PM, Lewis Butler <lbutler@xxxxxxxxxx> wrote:
> 
> I have a theme that is a modification of the candy.zsh-theme that uses an emoji for the prompt (I have a version for three different systems using the 🍰 and 🍎 for rPi and Macs as well as this one for my FreeBSD machines).
> 
> 👹 root@mail # cat ~/.oh-my-zsh/themes/bsd-candy.zsh-theme
> function toon {
>  echo -n "👹"
> }
> 
> 
> PROMPT=$'%{$fg[magenta]%}$(toon)%{$reset_color%} %{$fg_bold[green]%}%n@%m %{$fg_bold[blue]%}%#%{$reset_color%} '
> RPROMPT=$'%{$fg[blue]%}[%T] %{$reset_color%}%{$fg[white]%}[%~]%{$reset_color%} ‘
> ---EOF
> 
> Works fine in nearly all cases, but occasionally when I am trying to edit a command line, the space after the prompt disappears and it makes it quite difficult to edit as the command that appears on the screen is shifted one character off.
> 
> Is this just an artifact of using multi-byte character?
> 
> (My terminal is normally macOS’s Terminal.app, but this issue also happens when I am on the console on the freeBSD machine.

The one experiment I would do is use “script” … its a command that drops you into another shell and captures all the input and output into a file called “typescript”.  Its on Mac and I’d be shocked if it isn’t on BSD.

The first question would be can you recreate the problem while inside script?  And if so, then get out of script (with ^D) and look at the typescript file and see if you can figure out the differences between the working case and the non-working case.  For example, are some characters in the non-working case not bring sent out or perhaps some characters are written in a different order.  Looking at the typescript file can be hard.  I use emacs for that which tends to not get confused.  Another choice is to pass it through od.

The other thought / question is if COMBINING_CHARS on or off makes any difference.  /etc/zshrc on Catalina sets that on some cases.

Attachment: smime.p7s
Description: S/MIME cryptographic signature



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