Kolorowa biblioteka wyjściowa skryptu powłoki

Szukam definitywnego sposobu tworzenia skryptów powłoki, które generują kolorowe wydruki.

Niestety trudno mi znaleźć odpowiednią bibliotekę lub dobrą technikę do tego. Znalazłem wiele pomocnych, ale prostych przykładówto. Najbardziej wszechstronnym przewodnikiem, jaki znalazłem do tej pory, jest równieżten.

Zanim zacznę pisać własną bibliotekę, chcę sprawdzić, czy ktoś już ją napisał

Jeśli twoje rozwiązanie nie pasuje do poniższych obserwacji, nie stanowi to problemu. Chciałbym również przeczytać, aby mógł mi pomóc, jeśli zdecyduję się napisać własne rozwiązanie

Moje główne obawy / spostrzeżenia:

Musi być bezpieczny. Chcesz uniknąć wyrzucania śmieci, ponieważ nie wszystkie terminale lub pagery / edytory (jak mniej, więcej, vim itd.) Obsługują kolorowe wyjście lub więcej stylizowanych danych wyjściowych (pogrubienie, miganie, kursywa itp.)Musi być łatwy i czytelny. Za pomocąANSI kody ucieczki bezpośrednio jest okropne:echo -e '\033[32mthis is ugly and \033[1;32mvery green\033[0m'Musi dać mi dostęp do całej palety kolorów i stylów dla tekstu pierwszego planu i tła. Większość znalezionych przeze mnie przykładów wykorzystuje tylko podstawowe kolory tylko dla tekstu pierwszego planu.Lepiej używać tylko prostych poleceń jak bash lub prostsze powłoki wbudowane w polecenia i / lub wspólne polecenia, które można znaleźć w większości systemów operacyjnych. Na przykład mogę użyćkolorować ale potrzebowałbym ruby ​​(to jest trochę ok) i zainstalowany colorize gem (nie w porządku)Tput wydaje się być dobrym rozwiązaniem ponieważ może całkiem dobrze manipulować kursorem powłoki, ale jest nieco prostszy / mniej elastycznyEdytować

Po kilku badaniach nad kontrolą terminala i formatowaniem wyjścia piszęten sens który próbuje to osiągnąć. Jak dotąd ma się całkiem dobrze

questionAnswers(6)

yourAnswerToTheQuestion