Подсчет длины видимой пользователем строки для командной строки zsh

Я хочу поместить мою текущую ветку gitв мою многострочную подсказку ZSH. Однако это портит две строки - я бы хотел, чтобы они выстроились красиво.


┌─(simont@charmander:s000)─[master *]────────────────
───(~  )─┐  
└─(127:15:44)──                       ──(Sat,May12)─┘

должно быть:


┌─(simont@charmander:s000)─[master *]─────────(~  )─┐  
└─(127:15:44)──                       ──(Sat,May12)─┘

Ветка gitберется из функции oh-my-zsh, git_prompt_info(), которая дает мне ветку , грязный статус и куча подсказок, чтобы красиво раскрасить вещи.

Как подсчитать символы, которые будут явновставлены в приглашение ZSH, а не в escape-последовательности приглашения?

14
задан simont 12 May 2012 в 13:49
поделиться