diff --git a/dist/ColorEcho.bash b/dist/ColorEcho.bash index 5791321..f031f85 100644 --- a/dist/ColorEcho.bash +++ b/dist/ColorEcho.bash @@ -2515,12 +2515,8 @@ function echo.LightSTBLBrown() { echo -e "\\033[9;5;9;38;5;52m$*\\033[m" } function echo.Rainbow() { - if command -v lolcat > /dev/null 2>&1; then - echo "$*" | lolcat - else - echo "$*" - fi + if command -v lolcat > /dev/null 2>&1; then echo "$*" | lolcat; else echo "$*"; fi } function echo.Reset() { - echo "$*" | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g" | xargs + echo $* | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g"; echo } diff --git a/dist/ColorEcho.fish b/dist/ColorEcho.fish index cf6bb89..5cec53b 100644 --- a/dist/ColorEcho.fish +++ b/dist/ColorEcho.fish @@ -2515,12 +2515,8 @@ function echo.LightSTBLBrown echo -e "\\033[9;5;9;38;5;52m$argv\\033[m" end function echo.Rainbow - if command -v lolcat > /dev/null - echo "$argv" | lolcat - else - echo "$argv" - end + if command -v lolcat > /dev/null; echo "$argv" | lolcat; else; echo "$argv"; end end function echo.Reset - echo "$argv" | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g" | xargs + echo $argv | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g"; echo end diff --git a/dist/ColorEcho.ksh b/dist/ColorEcho.ksh index 3a21863..f020a0a 100644 --- a/dist/ColorEcho.ksh +++ b/dist/ColorEcho.ksh @@ -2515,12 +2515,8 @@ function echoLightSTBLBrown { echo -e "\\033[9;5;9;38;5;52m$*\\033[m" } function echoRainbow { - if command -v lolcat 2> /dev/null >&2; then - echo "$*" | lolcat - else - echo "$*" - fi + if command -v lolcat 2> /dev/null >&2; then echo "$*" | lolcat; else echo "$*"; fi } function echoReset { - echo "$*" | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g" | xargs + echo $* | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g"; echo } diff --git a/dist/ColorEcho.sh b/dist/ColorEcho.sh index 68f6d87..e17d0c8 100644 --- a/dist/ColorEcho.sh +++ b/dist/ColorEcho.sh @@ -2522,12 +2522,8 @@ echoLightSTBLBrown() { $ECHO "\\033[9;5;9;38;5;52m$*\\033[m" } echoRainbow() { - if command -v lolcat > /dev/null 2>&1; then - echo "$*" | lolcat - else - echo "$*" - fi + if command -v lolcat > /dev/null 2>&1; then echo "$*" | lolcat; else echo "$*"; fi } echoReset() { - echo "$*" | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g" | xargs + echo $* | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g"; echo } diff --git a/dist/ColorEcho.tcsh b/dist/ColorEcho.tcsh new file mode 100644 index 0000000..c990cfd --- /dev/null +++ b/dist/ColorEcho.tcsh @@ -0,0 +1,1270 @@ +#!/usr/bin/env tcsh + +# ColorEchoForShell +# https://github.com/PeterDaveHello/ColorEchoForShell +# Copyright (C) 2015 ~ Peter Dave Hello +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +alias echo.Black 'echo "\033[30m\!*\033[m"' + +alias echo.BoldBlack 'echo "\033[1;30m\!*\033[m"' + +alias echo.IBlack 'echo "\033[3;30m\!*\033[m"' + +alias echo.ULBlack 'echo "\033[4;30m\!*\033[m"' + +alias echo.BLBlack 'echo "\033[5;30m\!*\033[m"' + +alias echo.STBlack 'echo "\033[9;30m\!*\033[m"' + +alias echo.BoldIBlack 'echo "\033[1;3;30m\!*\033[m"' + +alias echo.BoldULBlack 'echo "\033[1;4;30m\!*\033[m"' + +alias echo.BoldBLBlack 'echo "\033[1;5;30m\!*\033[m"' + +alias echo.BoldSTBlack 'echo "\033[1;9;30m\!*\033[m"' + +alias echo.IBoldBlack 'echo "\033[3;1;30m\!*\033[m"' + +alias echo.IULBlack 'echo "\033[3;4;30m\!*\033[m"' + +alias echo.IBLBlack 'echo "\033[3;5;30m\!*\033[m"' + +alias echo.ISTBlack 'echo "\033[3;9;30m\!*\033[m"' + +alias echo.ULBoldBlack 'echo "\033[4;1;30m\!*\033[m"' + +alias echo.ULIBlack 'echo "\033[4;3;30m\!*\033[m"' + +alias echo.ULBLBlack 'echo "\033[4;5;30m\!*\033[m"' + +alias echo.ULSTBlack 'echo "\033[4;9;30m\!*\033[m"' + +alias echo.BLBoldBlack 'echo "\033[5;1;30m\!*\033[m"' + +alias echo.BLIBlack 'echo "\033[5;3;30m\!*\033[m"' + +alias echo.BLULBlack 'echo "\033[5;4;30m\!*\033[m"' + +alias echo.BLSTBlack 'echo "\033[5;9;30m\!*\033[m"' + +alias echo.STBoldBlack 'echo "\033[9;1;30m\!*\033[m"' + +alias echo.STIBlack 'echo "\033[9;3;30m\!*\033[m"' + +alias echo.STULBlack 'echo "\033[9;4;30m\!*\033[m"' + +alias echo.STBLBlack 'echo "\033[9;5;30m\!*\033[m"' + +alias echo.LightBlack 'echo "\033[90m\!*\033[m"' + +alias echo.LightBoldBlack 'echo "\033[1;90m\!*\033[m"' + +alias echo.LightIBlack 'echo "\033[3;90m\!*\033[m"' + +alias echo.LightULBlack 'echo "\033[4;90m\!*\033[m"' + +alias echo.LightBLBlack 'echo "\033[5;90m\!*\033[m"' + +alias echo.LightSTBlack 'echo "\033[9;90m\!*\033[m"' + +alias echo.LightBoldIBlack 'echo "\033[1;3;90m\!*\033[m"' + +alias echo.LightBoldULBlack 'echo "\033[1;4;90m\!*\033[m"' + +alias echo.LightBoldBLBlack 'echo "\033[1;5;90m\!*\033[m"' + +alias echo.LightBoldSTBlack 'echo "\033[1;9;90m\!*\033[m"' + +alias echo.LightIBoldBlack 'echo "\033[3;1;90m\!*\033[m"' + +alias echo.LightIULBlack 'echo "\033[3;4;90m\!*\033[m"' + +alias echo.LightIBLBlack 'echo "\033[3;5;90m\!*\033[m"' + +alias echo.LightISTBlack 'echo "\033[3;9;90m\!*\033[m"' + +alias echo.LightULBoldBlack 'echo "\033[4;1;90m\!*\033[m"' + +alias echo.LightULIBlack 'echo "\033[4;3;90m\!*\033[m"' + +alias echo.LightULBLBlack 'echo "\033[4;5;90m\!*\033[m"' + +alias echo.LightULSTBlack 'echo "\033[4;9;90m\!*\033[m"' + +alias echo.LightBLBoldBlack 'echo "\033[5;1;90m\!*\033[m"' + +alias echo.LightBLIBlack 'echo "\033[5;3;90m\!*\033[m"' + +alias echo.LightBLULBlack 'echo "\033[5;4;90m\!*\033[m"' + +alias echo.LightBLSTBlack 'echo "\033[5;9;90m\!*\033[m"' + +alias echo.LightSTBoldBlack 'echo "\033[9;1;90m\!*\033[m"' + +alias echo.LightSTIBlack 'echo "\033[9;3;90m\!*\033[m"' + +alias echo.LightSTULBlack 'echo "\033[9;4;90m\!*\033[m"' + +alias echo.LightSTBLBlack 'echo "\033[9;5;90m\!*\033[m"' + +alias echo.Red 'echo "\033[31m\!*\033[m"' + +alias echo.BoldRed 'echo "\033[1;31m\!*\033[m"' + +alias echo.IRed 'echo "\033[3;31m\!*\033[m"' + +alias echo.ULRed 'echo "\033[4;31m\!*\033[m"' + +alias echo.BLRed 'echo "\033[5;31m\!*\033[m"' + +alias echo.STRed 'echo "\033[9;31m\!*\033[m"' + +alias echo.BoldIRed 'echo "\033[1;3;31m\!*\033[m"' + +alias echo.BoldULRed 'echo "\033[1;4;31m\!*\033[m"' + +alias echo.BoldBLRed 'echo "\033[1;5;31m\!*\033[m"' + +alias echo.BoldSTRed 'echo "\033[1;9;31m\!*\033[m"' + +alias echo.IBoldRed 'echo "\033[3;1;31m\!*\033[m"' + +alias echo.IULRed 'echo "\033[3;4;31m\!*\033[m"' + +alias echo.IBLRed 'echo "\033[3;5;31m\!*\033[m"' + +alias echo.ISTRed 'echo "\033[3;9;31m\!*\033[m"' + +alias echo.ULBoldRed 'echo "\033[4;1;31m\!*\033[m"' + +alias echo.ULIRed 'echo "\033[4;3;31m\!*\033[m"' + +alias echo.ULBLRed 'echo "\033[4;5;31m\!*\033[m"' + +alias echo.ULSTRed 'echo "\033[4;9;31m\!*\033[m"' + +alias echo.BLBoldRed 'echo "\033[5;1;31m\!*\033[m"' + +alias echo.BLIRed 'echo "\033[5;3;31m\!*\033[m"' + +alias echo.BLULRed 'echo "\033[5;4;31m\!*\033[m"' + +alias echo.BLSTRed 'echo "\033[5;9;31m\!*\033[m"' + +alias echo.STBoldRed 'echo "\033[9;1;31m\!*\033[m"' + +alias echo.STIRed 'echo "\033[9;3;31m\!*\033[m"' + +alias echo.STULRed 'echo "\033[9;4;31m\!*\033[m"' + +alias echo.STBLRed 'echo "\033[9;5;31m\!*\033[m"' + +alias echo.LightRed 'echo "\033[91m\!*\033[m"' + +alias echo.LightBoldRed 'echo "\033[1;91m\!*\033[m"' + +alias echo.LightIRed 'echo "\033[3;91m\!*\033[m"' + +alias echo.LightULRed 'echo "\033[4;91m\!*\033[m"' + +alias echo.LightBLRed 'echo "\033[5;91m\!*\033[m"' + +alias echo.LightSTRed 'echo "\033[9;91m\!*\033[m"' + +alias echo.LightBoldIRed 'echo "\033[1;3;91m\!*\033[m"' + +alias echo.LightBoldULRed 'echo "\033[1;4;91m\!*\033[m"' + +alias echo.LightBoldBLRed 'echo "\033[1;5;91m\!*\033[m"' + +alias echo.LightBoldSTRed 'echo "\033[1;9;91m\!*\033[m"' + +alias echo.LightIBoldRed 'echo "\033[3;1;91m\!*\033[m"' + +alias echo.LightIULRed 'echo "\033[3;4;91m\!*\033[m"' + +alias echo.LightIBLRed 'echo "\033[3;5;91m\!*\033[m"' + +alias echo.LightISTRed 'echo "\033[3;9;91m\!*\033[m"' + +alias echo.LightULBoldRed 'echo "\033[4;1;91m\!*\033[m"' + +alias echo.LightULIRed 'echo "\033[4;3;91m\!*\033[m"' + +alias echo.LightULBLRed 'echo "\033[4;5;91m\!*\033[m"' + +alias echo.LightULSTRed 'echo "\033[4;9;91m\!*\033[m"' + +alias echo.LightBLBoldRed 'echo "\033[5;1;91m\!*\033[m"' + +alias echo.LightBLIRed 'echo "\033[5;3;91m\!*\033[m"' + +alias echo.LightBLULRed 'echo "\033[5;4;91m\!*\033[m"' + +alias echo.LightBLSTRed 'echo "\033[5;9;91m\!*\033[m"' + +alias echo.LightSTBoldRed 'echo "\033[9;1;91m\!*\033[m"' + +alias echo.LightSTIRed 'echo "\033[9;3;91m\!*\033[m"' + +alias echo.LightSTULRed 'echo "\033[9;4;91m\!*\033[m"' + +alias echo.LightSTBLRed 'echo "\033[9;5;91m\!*\033[m"' + +alias echo.Green 'echo "\033[32m\!*\033[m"' + +alias echo.BoldGreen 'echo "\033[1;32m\!*\033[m"' + +alias echo.IGreen 'echo "\033[3;32m\!*\033[m"' + +alias echo.ULGreen 'echo "\033[4;32m\!*\033[m"' + +alias echo.BLGreen 'echo "\033[5;32m\!*\033[m"' + +alias echo.STGreen 'echo "\033[9;32m\!*\033[m"' + +alias echo.BoldIGreen 'echo "\033[1;3;32m\!*\033[m"' + +alias echo.BoldULGreen 'echo "\033[1;4;32m\!*\033[m"' + +alias echo.BoldBLGreen 'echo "\033[1;5;32m\!*\033[m"' + +alias echo.BoldSTGreen 'echo "\033[1;9;32m\!*\033[m"' + +alias echo.IBoldGreen 'echo "\033[3;1;32m\!*\033[m"' + +alias echo.IULGreen 'echo "\033[3;4;32m\!*\033[m"' + +alias echo.IBLGreen 'echo "\033[3;5;32m\!*\033[m"' + +alias echo.ISTGreen 'echo "\033[3;9;32m\!*\033[m"' + +alias echo.ULBoldGreen 'echo "\033[4;1;32m\!*\033[m"' + +alias echo.ULIGreen 'echo "\033[4;3;32m\!*\033[m"' + +alias echo.ULBLGreen 'echo "\033[4;5;32m\!*\033[m"' + +alias echo.ULSTGreen 'echo "\033[4;9;32m\!*\033[m"' + +alias echo.BLBoldGreen 'echo "\033[5;1;32m\!*\033[m"' + +alias echo.BLIGreen 'echo "\033[5;3;32m\!*\033[m"' + +alias echo.BLULGreen 'echo "\033[5;4;32m\!*\033[m"' + +alias echo.BLSTGreen 'echo "\033[5;9;32m\!*\033[m"' + +alias echo.STBoldGreen 'echo "\033[9;1;32m\!*\033[m"' + +alias echo.STIGreen 'echo "\033[9;3;32m\!*\033[m"' + +alias echo.STULGreen 'echo "\033[9;4;32m\!*\033[m"' + +alias echo.STBLGreen 'echo "\033[9;5;32m\!*\033[m"' + +alias echo.LightGreen 'echo "\033[92m\!*\033[m"' + +alias echo.LightBoldGreen 'echo "\033[1;92m\!*\033[m"' + +alias echo.LightIGreen 'echo "\033[3;92m\!*\033[m"' + +alias echo.LightULGreen 'echo "\033[4;92m\!*\033[m"' + +alias echo.LightBLGreen 'echo "\033[5;92m\!*\033[m"' + +alias echo.LightSTGreen 'echo "\033[9;92m\!*\033[m"' + +alias echo.LightBoldIGreen 'echo "\033[1;3;92m\!*\033[m"' + +alias echo.LightBoldULGreen 'echo "\033[1;4;92m\!*\033[m"' + +alias echo.LightBoldBLGreen 'echo "\033[1;5;92m\!*\033[m"' + +alias echo.LightBoldSTGreen 'echo "\033[1;9;92m\!*\033[m"' + +alias echo.LightIBoldGreen 'echo "\033[3;1;92m\!*\033[m"' + +alias echo.LightIULGreen 'echo "\033[3;4;92m\!*\033[m"' + +alias echo.LightIBLGreen 'echo "\033[3;5;92m\!*\033[m"' + +alias echo.LightISTGreen 'echo "\033[3;9;92m\!*\033[m"' + +alias echo.LightULBoldGreen 'echo "\033[4;1;92m\!*\033[m"' + +alias echo.LightULIGreen 'echo "\033[4;3;92m\!*\033[m"' + +alias echo.LightULBLGreen 'echo "\033[4;5;92m\!*\033[m"' + +alias echo.LightULSTGreen 'echo "\033[4;9;92m\!*\033[m"' + +alias echo.LightBLBoldGreen 'echo "\033[5;1;92m\!*\033[m"' + +alias echo.LightBLIGreen 'echo "\033[5;3;92m\!*\033[m"' + +alias echo.LightBLULGreen 'echo "\033[5;4;92m\!*\033[m"' + +alias echo.LightBLSTGreen 'echo "\033[5;9;92m\!*\033[m"' + +alias echo.LightSTBoldGreen 'echo "\033[9;1;92m\!*\033[m"' + +alias echo.LightSTIGreen 'echo "\033[9;3;92m\!*\033[m"' + +alias echo.LightSTULGreen 'echo "\033[9;4;92m\!*\033[m"' + +alias echo.LightSTBLGreen 'echo "\033[9;5;92m\!*\033[m"' + +alias echo.Yellow 'echo "\033[33m\!*\033[m"' + +alias echo.BoldYellow 'echo "\033[1;33m\!*\033[m"' + +alias echo.IYellow 'echo "\033[3;33m\!*\033[m"' + +alias echo.ULYellow 'echo "\033[4;33m\!*\033[m"' + +alias echo.BLYellow 'echo "\033[5;33m\!*\033[m"' + +alias echo.STYellow 'echo "\033[9;33m\!*\033[m"' + +alias echo.BoldIYellow 'echo "\033[1;3;33m\!*\033[m"' + +alias echo.BoldULYellow 'echo "\033[1;4;33m\!*\033[m"' + +alias echo.BoldBLYellow 'echo "\033[1;5;33m\!*\033[m"' + +alias echo.BoldSTYellow 'echo "\033[1;9;33m\!*\033[m"' + +alias echo.IBoldYellow 'echo "\033[3;1;33m\!*\033[m"' + +alias echo.IULYellow 'echo "\033[3;4;33m\!*\033[m"' + +alias echo.IBLYellow 'echo "\033[3;5;33m\!*\033[m"' + +alias echo.ISTYellow 'echo "\033[3;9;33m\!*\033[m"' + +alias echo.ULBoldYellow 'echo "\033[4;1;33m\!*\033[m"' + +alias echo.ULIYellow 'echo "\033[4;3;33m\!*\033[m"' + +alias echo.ULBLYellow 'echo "\033[4;5;33m\!*\033[m"' + +alias echo.ULSTYellow 'echo "\033[4;9;33m\!*\033[m"' + +alias echo.BLBoldYellow 'echo "\033[5;1;33m\!*\033[m"' + +alias echo.BLIYellow 'echo "\033[5;3;33m\!*\033[m"' + +alias echo.BLULYellow 'echo "\033[5;4;33m\!*\033[m"' + +alias echo.BLSTYellow 'echo "\033[5;9;33m\!*\033[m"' + +alias echo.STBoldYellow 'echo "\033[9;1;33m\!*\033[m"' + +alias echo.STIYellow 'echo "\033[9;3;33m\!*\033[m"' + +alias echo.STULYellow 'echo "\033[9;4;33m\!*\033[m"' + +alias echo.STBLYellow 'echo "\033[9;5;33m\!*\033[m"' + +alias echo.LightYellow 'echo "\033[93m\!*\033[m"' + +alias echo.LightBoldYellow 'echo "\033[1;93m\!*\033[m"' + +alias echo.LightIYellow 'echo "\033[3;93m\!*\033[m"' + +alias echo.LightULYellow 'echo "\033[4;93m\!*\033[m"' + +alias echo.LightBLYellow 'echo "\033[5;93m\!*\033[m"' + +alias echo.LightSTYellow 'echo "\033[9;93m\!*\033[m"' + +alias echo.LightBoldIYellow 'echo "\033[1;3;93m\!*\033[m"' + +alias echo.LightBoldULYellow 'echo "\033[1;4;93m\!*\033[m"' + +alias echo.LightBoldBLYellow 'echo "\033[1;5;93m\!*\033[m"' + +alias echo.LightBoldSTYellow 'echo "\033[1;9;93m\!*\033[m"' + +alias echo.LightIBoldYellow 'echo "\033[3;1;93m\!*\033[m"' + +alias echo.LightIULYellow 'echo "\033[3;4;93m\!*\033[m"' + +alias echo.LightIBLYellow 'echo "\033[3;5;93m\!*\033[m"' + +alias echo.LightISTYellow 'echo "\033[3;9;93m\!*\033[m"' + +alias echo.LightULBoldYellow 'echo "\033[4;1;93m\!*\033[m"' + +alias echo.LightULIYellow 'echo "\033[4;3;93m\!*\033[m"' + +alias echo.LightULBLYellow 'echo "\033[4;5;93m\!*\033[m"' + +alias echo.LightULSTYellow 'echo "\033[4;9;93m\!*\033[m"' + +alias echo.LightBLBoldYellow 'echo "\033[5;1;93m\!*\033[m"' + +alias echo.LightBLIYellow 'echo "\033[5;3;93m\!*\033[m"' + +alias echo.LightBLULYellow 'echo "\033[5;4;93m\!*\033[m"' + +alias echo.LightBLSTYellow 'echo "\033[5;9;93m\!*\033[m"' + +alias echo.LightSTBoldYellow 'echo "\033[9;1;93m\!*\033[m"' + +alias echo.LightSTIYellow 'echo "\033[9;3;93m\!*\033[m"' + +alias echo.LightSTULYellow 'echo "\033[9;4;93m\!*\033[m"' + +alias echo.LightSTBLYellow 'echo "\033[9;5;93m\!*\033[m"' + +alias echo.Blue 'echo "\033[34m\!*\033[m"' + +alias echo.BoldBlue 'echo "\033[1;34m\!*\033[m"' + +alias echo.IBlue 'echo "\033[3;34m\!*\033[m"' + +alias echo.ULBlue 'echo "\033[4;34m\!*\033[m"' + +alias echo.BLBlue 'echo "\033[5;34m\!*\033[m"' + +alias echo.STBlue 'echo "\033[9;34m\!*\033[m"' + +alias echo.BoldIBlue 'echo "\033[1;3;34m\!*\033[m"' + +alias echo.BoldULBlue 'echo "\033[1;4;34m\!*\033[m"' + +alias echo.BoldBLBlue 'echo "\033[1;5;34m\!*\033[m"' + +alias echo.BoldSTBlue 'echo "\033[1;9;34m\!*\033[m"' + +alias echo.IBoldBlue 'echo "\033[3;1;34m\!*\033[m"' + +alias echo.IULBlue 'echo "\033[3;4;34m\!*\033[m"' + +alias echo.IBLBlue 'echo "\033[3;5;34m\!*\033[m"' + +alias echo.ISTBlue 'echo "\033[3;9;34m\!*\033[m"' + +alias echo.ULBoldBlue 'echo "\033[4;1;34m\!*\033[m"' + +alias echo.ULIBlue 'echo "\033[4;3;34m\!*\033[m"' + +alias echo.ULBLBlue 'echo "\033[4;5;34m\!*\033[m"' + +alias echo.ULSTBlue 'echo "\033[4;9;34m\!*\033[m"' + +alias echo.BLBoldBlue 'echo "\033[5;1;34m\!*\033[m"' + +alias echo.BLIBlue 'echo "\033[5;3;34m\!*\033[m"' + +alias echo.BLULBlue 'echo "\033[5;4;34m\!*\033[m"' + +alias echo.BLSTBlue 'echo "\033[5;9;34m\!*\033[m"' + +alias echo.STBoldBlue 'echo "\033[9;1;34m\!*\033[m"' + +alias echo.STIBlue 'echo "\033[9;3;34m\!*\033[m"' + +alias echo.STULBlue 'echo "\033[9;4;34m\!*\033[m"' + +alias echo.STBLBlue 'echo "\033[9;5;34m\!*\033[m"' + +alias echo.LightBlue 'echo "\033[94m\!*\033[m"' + +alias echo.LightBoldBlue 'echo "\033[1;94m\!*\033[m"' + +alias echo.LightIBlue 'echo "\033[3;94m\!*\033[m"' + +alias echo.LightULBlue 'echo "\033[4;94m\!*\033[m"' + +alias echo.LightBLBlue 'echo "\033[5;94m\!*\033[m"' + +alias echo.LightSTBlue 'echo "\033[9;94m\!*\033[m"' + +alias echo.LightBoldIBlue 'echo "\033[1;3;94m\!*\033[m"' + +alias echo.LightBoldULBlue 'echo "\033[1;4;94m\!*\033[m"' + +alias echo.LightBoldBLBlue 'echo "\033[1;5;94m\!*\033[m"' + +alias echo.LightBoldSTBlue 'echo "\033[1;9;94m\!*\033[m"' + +alias echo.LightIBoldBlue 'echo "\033[3;1;94m\!*\033[m"' + +alias echo.LightIULBlue 'echo "\033[3;4;94m\!*\033[m"' + +alias echo.LightIBLBlue 'echo "\033[3;5;94m\!*\033[m"' + +alias echo.LightISTBlue 'echo "\033[3;9;94m\!*\033[m"' + +alias echo.LightULBoldBlue 'echo "\033[4;1;94m\!*\033[m"' + +alias echo.LightULIBlue 'echo "\033[4;3;94m\!*\033[m"' + +alias echo.LightULBLBlue 'echo "\033[4;5;94m\!*\033[m"' + +alias echo.LightULSTBlue 'echo "\033[4;9;94m\!*\033[m"' + +alias echo.LightBLBoldBlue 'echo "\033[5;1;94m\!*\033[m"' + +alias echo.LightBLIBlue 'echo "\033[5;3;94m\!*\033[m"' + +alias echo.LightBLULBlue 'echo "\033[5;4;94m\!*\033[m"' + +alias echo.LightBLSTBlue 'echo "\033[5;9;94m\!*\033[m"' + +alias echo.LightSTBoldBlue 'echo "\033[9;1;94m\!*\033[m"' + +alias echo.LightSTIBlue 'echo "\033[9;3;94m\!*\033[m"' + +alias echo.LightSTULBlue 'echo "\033[9;4;94m\!*\033[m"' + +alias echo.LightSTBLBlue 'echo "\033[9;5;94m\!*\033[m"' + +alias echo.Magenta 'echo "\033[35m\!*\033[m"' + +alias echo.BoldMagenta 'echo "\033[1;35m\!*\033[m"' + +alias echo.IMagenta 'echo "\033[3;35m\!*\033[m"' + +alias echo.ULMagenta 'echo "\033[4;35m\!*\033[m"' + +alias echo.BLMagenta 'echo "\033[5;35m\!*\033[m"' + +alias echo.STMagenta 'echo "\033[9;35m\!*\033[m"' + +alias echo.BoldIMagenta 'echo "\033[1;3;35m\!*\033[m"' + +alias echo.BoldULMagenta 'echo "\033[1;4;35m\!*\033[m"' + +alias echo.BoldBLMagenta 'echo "\033[1;5;35m\!*\033[m"' + +alias echo.BoldSTMagenta 'echo "\033[1;9;35m\!*\033[m"' + +alias echo.IBoldMagenta 'echo "\033[3;1;35m\!*\033[m"' + +alias echo.IULMagenta 'echo "\033[3;4;35m\!*\033[m"' + +alias echo.IBLMagenta 'echo "\033[3;5;35m\!*\033[m"' + +alias echo.ISTMagenta 'echo "\033[3;9;35m\!*\033[m"' + +alias echo.ULBoldMagenta 'echo "\033[4;1;35m\!*\033[m"' + +alias echo.ULIMagenta 'echo "\033[4;3;35m\!*\033[m"' + +alias echo.ULBLMagenta 'echo "\033[4;5;35m\!*\033[m"' + +alias echo.ULSTMagenta 'echo "\033[4;9;35m\!*\033[m"' + +alias echo.BLBoldMagenta 'echo "\033[5;1;35m\!*\033[m"' + +alias echo.BLIMagenta 'echo "\033[5;3;35m\!*\033[m"' + +alias echo.BLULMagenta 'echo "\033[5;4;35m\!*\033[m"' + +alias echo.BLSTMagenta 'echo "\033[5;9;35m\!*\033[m"' + +alias echo.STBoldMagenta 'echo "\033[9;1;35m\!*\033[m"' + +alias echo.STIMagenta 'echo "\033[9;3;35m\!*\033[m"' + +alias echo.STULMagenta 'echo "\033[9;4;35m\!*\033[m"' + +alias echo.STBLMagenta 'echo "\033[9;5;35m\!*\033[m"' + +alias echo.LightMagenta 'echo "\033[95m\!*\033[m"' + +alias echo.LightBoldMagenta 'echo "\033[1;95m\!*\033[m"' + +alias echo.LightIMagenta 'echo "\033[3;95m\!*\033[m"' + +alias echo.LightULMagenta 'echo "\033[4;95m\!*\033[m"' + +alias echo.LightBLMagenta 'echo "\033[5;95m\!*\033[m"' + +alias echo.LightSTMagenta 'echo "\033[9;95m\!*\033[m"' + +alias echo.LightBoldIMagenta 'echo "\033[1;3;95m\!*\033[m"' + +alias echo.LightBoldULMagenta 'echo "\033[1;4;95m\!*\033[m"' + +alias echo.LightBoldBLMagenta 'echo "\033[1;5;95m\!*\033[m"' + +alias echo.LightBoldSTMagenta 'echo "\033[1;9;95m\!*\033[m"' + +alias echo.LightIBoldMagenta 'echo "\033[3;1;95m\!*\033[m"' + +alias echo.LightIULMagenta 'echo "\033[3;4;95m\!*\033[m"' + +alias echo.LightIBLMagenta 'echo "\033[3;5;95m\!*\033[m"' + +alias echo.LightISTMagenta 'echo "\033[3;9;95m\!*\033[m"' + +alias echo.LightULBoldMagenta 'echo "\033[4;1;95m\!*\033[m"' + +alias echo.LightULIMagenta 'echo "\033[4;3;95m\!*\033[m"' + +alias echo.LightULBLMagenta 'echo "\033[4;5;95m\!*\033[m"' + +alias echo.LightULSTMagenta 'echo "\033[4;9;95m\!*\033[m"' + +alias echo.LightBLBoldMagenta 'echo "\033[5;1;95m\!*\033[m"' + +alias echo.LightBLIMagenta 'echo "\033[5;3;95m\!*\033[m"' + +alias echo.LightBLULMagenta 'echo "\033[5;4;95m\!*\033[m"' + +alias echo.LightBLSTMagenta 'echo "\033[5;9;95m\!*\033[m"' + +alias echo.LightSTBoldMagenta 'echo "\033[9;1;95m\!*\033[m"' + +alias echo.LightSTIMagenta 'echo "\033[9;3;95m\!*\033[m"' + +alias echo.LightSTULMagenta 'echo "\033[9;4;95m\!*\033[m"' + +alias echo.LightSTBLMagenta 'echo "\033[9;5;95m\!*\033[m"' + +alias echo.Cyan 'echo "\033[36m\!*\033[m"' + +alias echo.BoldCyan 'echo "\033[1;36m\!*\033[m"' + +alias echo.ICyan 'echo "\033[3;36m\!*\033[m"' + +alias echo.ULCyan 'echo "\033[4;36m\!*\033[m"' + +alias echo.BLCyan 'echo "\033[5;36m\!*\033[m"' + +alias echo.STCyan 'echo "\033[9;36m\!*\033[m"' + +alias echo.BoldICyan 'echo "\033[1;3;36m\!*\033[m"' + +alias echo.BoldULCyan 'echo "\033[1;4;36m\!*\033[m"' + +alias echo.BoldBLCyan 'echo "\033[1;5;36m\!*\033[m"' + +alias echo.BoldSTCyan 'echo "\033[1;9;36m\!*\033[m"' + +alias echo.IBoldCyan 'echo "\033[3;1;36m\!*\033[m"' + +alias echo.IULCyan 'echo "\033[3;4;36m\!*\033[m"' + +alias echo.IBLCyan 'echo "\033[3;5;36m\!*\033[m"' + +alias echo.ISTCyan 'echo "\033[3;9;36m\!*\033[m"' + +alias echo.ULBoldCyan 'echo "\033[4;1;36m\!*\033[m"' + +alias echo.ULICyan 'echo "\033[4;3;36m\!*\033[m"' + +alias echo.ULBLCyan 'echo "\033[4;5;36m\!*\033[m"' + +alias echo.ULSTCyan 'echo "\033[4;9;36m\!*\033[m"' + +alias echo.BLBoldCyan 'echo "\033[5;1;36m\!*\033[m"' + +alias echo.BLICyan 'echo "\033[5;3;36m\!*\033[m"' + +alias echo.BLULCyan 'echo "\033[5;4;36m\!*\033[m"' + +alias echo.BLSTCyan 'echo "\033[5;9;36m\!*\033[m"' + +alias echo.STBoldCyan 'echo "\033[9;1;36m\!*\033[m"' + +alias echo.STICyan 'echo "\033[9;3;36m\!*\033[m"' + +alias echo.STULCyan 'echo "\033[9;4;36m\!*\033[m"' + +alias echo.STBLCyan 'echo "\033[9;5;36m\!*\033[m"' + +alias echo.LightCyan 'echo "\033[96m\!*\033[m"' + +alias echo.LightBoldCyan 'echo "\033[1;96m\!*\033[m"' + +alias echo.LightICyan 'echo "\033[3;96m\!*\033[m"' + +alias echo.LightULCyan 'echo "\033[4;96m\!*\033[m"' + +alias echo.LightBLCyan 'echo "\033[5;96m\!*\033[m"' + +alias echo.LightSTCyan 'echo "\033[9;96m\!*\033[m"' + +alias echo.LightBoldICyan 'echo "\033[1;3;96m\!*\033[m"' + +alias echo.LightBoldULCyan 'echo "\033[1;4;96m\!*\033[m"' + +alias echo.LightBoldBLCyan 'echo "\033[1;5;96m\!*\033[m"' + +alias echo.LightBoldSTCyan 'echo "\033[1;9;96m\!*\033[m"' + +alias echo.LightIBoldCyan 'echo "\033[3;1;96m\!*\033[m"' + +alias echo.LightIULCyan 'echo "\033[3;4;96m\!*\033[m"' + +alias echo.LightIBLCyan 'echo "\033[3;5;96m\!*\033[m"' + +alias echo.LightISTCyan 'echo "\033[3;9;96m\!*\033[m"' + +alias echo.LightULBoldCyan 'echo "\033[4;1;96m\!*\033[m"' + +alias echo.LightULICyan 'echo "\033[4;3;96m\!*\033[m"' + +alias echo.LightULBLCyan 'echo "\033[4;5;96m\!*\033[m"' + +alias echo.LightULSTCyan 'echo "\033[4;9;96m\!*\033[m"' + +alias echo.LightBLBoldCyan 'echo "\033[5;1;96m\!*\033[m"' + +alias echo.LightBLICyan 'echo "\033[5;3;96m\!*\033[m"' + +alias echo.LightBLULCyan 'echo "\033[5;4;96m\!*\033[m"' + +alias echo.LightBLSTCyan 'echo "\033[5;9;96m\!*\033[m"' + +alias echo.LightSTBoldCyan 'echo "\033[9;1;96m\!*\033[m"' + +alias echo.LightSTICyan 'echo "\033[9;3;96m\!*\033[m"' + +alias echo.LightSTULCyan 'echo "\033[9;4;96m\!*\033[m"' + +alias echo.LightSTBLCyan 'echo "\033[9;5;96m\!*\033[m"' + +alias echo.White 'echo "\033[37m\!*\033[m"' + +alias echo.BoldWhite 'echo "\033[1;37m\!*\033[m"' + +alias echo.IWhite 'echo "\033[3;37m\!*\033[m"' + +alias echo.ULWhite 'echo "\033[4;37m\!*\033[m"' + +alias echo.BLWhite 'echo "\033[5;37m\!*\033[m"' + +alias echo.STWhite 'echo "\033[9;37m\!*\033[m"' + +alias echo.BoldIWhite 'echo "\033[1;3;37m\!*\033[m"' + +alias echo.BoldULWhite 'echo "\033[1;4;37m\!*\033[m"' + +alias echo.BoldBLWhite 'echo "\033[1;5;37m\!*\033[m"' + +alias echo.BoldSTWhite 'echo "\033[1;9;37m\!*\033[m"' + +alias echo.IBoldWhite 'echo "\033[3;1;37m\!*\033[m"' + +alias echo.IULWhite 'echo "\033[3;4;37m\!*\033[m"' + +alias echo.IBLWhite 'echo "\033[3;5;37m\!*\033[m"' + +alias echo.ISTWhite 'echo "\033[3;9;37m\!*\033[m"' + +alias echo.ULBoldWhite 'echo "\033[4;1;37m\!*\033[m"' + +alias echo.ULIWhite 'echo "\033[4;3;37m\!*\033[m"' + +alias echo.ULBLWhite 'echo "\033[4;5;37m\!*\033[m"' + +alias echo.ULSTWhite 'echo "\033[4;9;37m\!*\033[m"' + +alias echo.BLBoldWhite 'echo "\033[5;1;37m\!*\033[m"' + +alias echo.BLIWhite 'echo "\033[5;3;37m\!*\033[m"' + +alias echo.BLULWhite 'echo "\033[5;4;37m\!*\033[m"' + +alias echo.BLSTWhite 'echo "\033[5;9;37m\!*\033[m"' + +alias echo.STBoldWhite 'echo "\033[9;1;37m\!*\033[m"' + +alias echo.STIWhite 'echo "\033[9;3;37m\!*\033[m"' + +alias echo.STULWhite 'echo "\033[9;4;37m\!*\033[m"' + +alias echo.STBLWhite 'echo "\033[9;5;37m\!*\033[m"' + +alias echo.LightWhite 'echo "\033[97m\!*\033[m"' + +alias echo.LightBoldWhite 'echo "\033[1;97m\!*\033[m"' + +alias echo.LightIWhite 'echo "\033[3;97m\!*\033[m"' + +alias echo.LightULWhite 'echo "\033[4;97m\!*\033[m"' + +alias echo.LightBLWhite 'echo "\033[5;97m\!*\033[m"' + +alias echo.LightSTWhite 'echo "\033[9;97m\!*\033[m"' + +alias echo.LightBoldIWhite 'echo "\033[1;3;97m\!*\033[m"' + +alias echo.LightBoldULWhite 'echo "\033[1;4;97m\!*\033[m"' + +alias echo.LightBoldBLWhite 'echo "\033[1;5;97m\!*\033[m"' + +alias echo.LightBoldSTWhite 'echo "\033[1;9;97m\!*\033[m"' + +alias echo.LightIBoldWhite 'echo "\033[3;1;97m\!*\033[m"' + +alias echo.LightIULWhite 'echo "\033[3;4;97m\!*\033[m"' + +alias echo.LightIBLWhite 'echo "\033[3;5;97m\!*\033[m"' + +alias echo.LightISTWhite 'echo "\033[3;9;97m\!*\033[m"' + +alias echo.LightULBoldWhite 'echo "\033[4;1;97m\!*\033[m"' + +alias echo.LightULIWhite 'echo "\033[4;3;97m\!*\033[m"' + +alias echo.LightULBLWhite 'echo "\033[4;5;97m\!*\033[m"' + +alias echo.LightULSTWhite 'echo "\033[4;9;97m\!*\033[m"' + +alias echo.LightBLBoldWhite 'echo "\033[5;1;97m\!*\033[m"' + +alias echo.LightBLIWhite 'echo "\033[5;3;97m\!*\033[m"' + +alias echo.LightBLULWhite 'echo "\033[5;4;97m\!*\033[m"' + +alias echo.LightBLSTWhite 'echo "\033[5;9;97m\!*\033[m"' + +alias echo.LightSTBoldWhite 'echo "\033[9;1;97m\!*\033[m"' + +alias echo.LightSTIWhite 'echo "\033[9;3;97m\!*\033[m"' + +alias echo.LightSTULWhite 'echo "\033[9;4;97m\!*\033[m"' + +alias echo.LightSTBLWhite 'echo "\033[9;5;97m\!*\033[m"' + +alias echo.Purple 'echo "\033[3;38;5;93m\!*\033[m"' + +alias echo.BoldPurple 'echo "\033[1;3;38;5;93m\!*\033[m"' + +alias echo.IPurple 'echo "\033[3;3;38;5;93m\!*\033[m"' + +alias echo.ULPurple 'echo "\033[4;3;38;5;93m\!*\033[m"' + +alias echo.BLPurple 'echo "\033[5;3;38;5;93m\!*\033[m"' + +alias echo.STPurple 'echo "\033[9;3;38;5;93m\!*\033[m"' + +alias echo.BoldIPurple 'echo "\033[1;3;3;38;5;93m\!*\033[m"' + +alias echo.BoldULPurple 'echo "\033[1;4;3;38;5;93m\!*\033[m"' + +alias echo.BoldBLPurple 'echo "\033[1;5;3;38;5;93m\!*\033[m"' + +alias echo.BoldSTPurple 'echo "\033[1;9;3;38;5;93m\!*\033[m"' + +alias echo.IBoldPurple 'echo "\033[3;1;3;38;5;93m\!*\033[m"' + +alias echo.IULPurple 'echo "\033[3;4;3;38;5;93m\!*\033[m"' + +alias echo.IBLPurple 'echo "\033[3;5;3;38;5;93m\!*\033[m"' + +alias echo.ISTPurple 'echo "\033[3;9;3;38;5;93m\!*\033[m"' + +alias echo.ULBoldPurple 'echo "\033[4;1;3;38;5;93m\!*\033[m"' + +alias echo.ULIPurple 'echo "\033[4;3;3;38;5;93m\!*\033[m"' + +alias echo.ULBLPurple 'echo "\033[4;5;3;38;5;93m\!*\033[m"' + +alias echo.ULSTPurple 'echo "\033[4;9;3;38;5;93m\!*\033[m"' + +alias echo.BLBoldPurple 'echo "\033[5;1;3;38;5;93m\!*\033[m"' + +alias echo.BLIPurple 'echo "\033[5;3;3;38;5;93m\!*\033[m"' + +alias echo.BLULPurple 'echo "\033[5;4;3;38;5;93m\!*\033[m"' + +alias echo.BLSTPurple 'echo "\033[5;9;3;38;5;93m\!*\033[m"' + +alias echo.STBoldPurple 'echo "\033[9;1;3;38;5;93m\!*\033[m"' + +alias echo.STIPurple 'echo "\033[9;3;3;38;5;93m\!*\033[m"' + +alias echo.STULPurple 'echo "\033[9;4;3;38;5;93m\!*\033[m"' + +alias echo.STBLPurple 'echo "\033[9;5;3;38;5;93m\!*\033[m"' + +alias echo.LightPurple 'echo "\033[9;38;5;93m\!*\033[m"' + +alias echo.LightBoldPurple 'echo "\033[1;9;38;5;93m\!*\033[m"' + +alias echo.LightIPurple 'echo "\033[3;9;38;5;93m\!*\033[m"' + +alias echo.LightULPurple 'echo "\033[4;9;38;5;93m\!*\033[m"' + +alias echo.LightBLPurple 'echo "\033[5;9;38;5;93m\!*\033[m"' + +alias echo.LightSTPurple 'echo "\033[9;9;38;5;93m\!*\033[m"' + +alias echo.LightBoldIPurple 'echo "\033[1;3;9;38;5;93m\!*\033[m"' + +alias echo.LightBoldULPurple 'echo "\033[1;4;9;38;5;93m\!*\033[m"' + +alias echo.LightBoldBLPurple 'echo "\033[1;5;9;38;5;93m\!*\033[m"' + +alias echo.LightBoldSTPurple 'echo "\033[1;9;9;38;5;93m\!*\033[m"' + +alias echo.LightIBoldPurple 'echo "\033[3;1;9;38;5;93m\!*\033[m"' + +alias echo.LightIULPurple 'echo "\033[3;4;9;38;5;93m\!*\033[m"' + +alias echo.LightIBLPurple 'echo "\033[3;5;9;38;5;93m\!*\033[m"' + +alias echo.LightISTPurple 'echo "\033[3;9;9;38;5;93m\!*\033[m"' + +alias echo.LightULBoldPurple 'echo "\033[4;1;9;38;5;93m\!*\033[m"' + +alias echo.LightULIPurple 'echo "\033[4;3;9;38;5;93m\!*\033[m"' + +alias echo.LightULBLPurple 'echo "\033[4;5;9;38;5;93m\!*\033[m"' + +alias echo.LightULSTPurple 'echo "\033[4;9;9;38;5;93m\!*\033[m"' + +alias echo.LightBLBoldPurple 'echo "\033[5;1;9;38;5;93m\!*\033[m"' + +alias echo.LightBLIPurple 'echo "\033[5;3;9;38;5;93m\!*\033[m"' + +alias echo.LightBLULPurple 'echo "\033[5;4;9;38;5;93m\!*\033[m"' + +alias echo.LightBLSTPurple 'echo "\033[5;9;9;38;5;93m\!*\033[m"' + +alias echo.LightSTBoldPurple 'echo "\033[9;1;9;38;5;93m\!*\033[m"' + +alias echo.LightSTIPurple 'echo "\033[9;3;9;38;5;93m\!*\033[m"' + +alias echo.LightSTULPurple 'echo "\033[9;4;9;38;5;93m\!*\033[m"' + +alias echo.LightSTBLPurple 'echo "\033[9;5;9;38;5;93m\!*\033[m"' + +alias echo.Orange 'echo "\033[3;38;5;202m\!*\033[m"' + +alias echo.BoldOrange 'echo "\033[1;3;38;5;202m\!*\033[m"' + +alias echo.IOrange 'echo "\033[3;3;38;5;202m\!*\033[m"' + +alias echo.ULOrange 'echo "\033[4;3;38;5;202m\!*\033[m"' + +alias echo.BLOrange 'echo "\033[5;3;38;5;202m\!*\033[m"' + +alias echo.STOrange 'echo "\033[9;3;38;5;202m\!*\033[m"' + +alias echo.BoldIOrange 'echo "\033[1;3;3;38;5;202m\!*\033[m"' + +alias echo.BoldULOrange 'echo "\033[1;4;3;38;5;202m\!*\033[m"' + +alias echo.BoldBLOrange 'echo "\033[1;5;3;38;5;202m\!*\033[m"' + +alias echo.BoldSTOrange 'echo "\033[1;9;3;38;5;202m\!*\033[m"' + +alias echo.IBoldOrange 'echo "\033[3;1;3;38;5;202m\!*\033[m"' + +alias echo.IULOrange 'echo "\033[3;4;3;38;5;202m\!*\033[m"' + +alias echo.IBLOrange 'echo "\033[3;5;3;38;5;202m\!*\033[m"' + +alias echo.ISTOrange 'echo "\033[3;9;3;38;5;202m\!*\033[m"' + +alias echo.ULBoldOrange 'echo "\033[4;1;3;38;5;202m\!*\033[m"' + +alias echo.ULIOrange 'echo "\033[4;3;3;38;5;202m\!*\033[m"' + +alias echo.ULBLOrange 'echo "\033[4;5;3;38;5;202m\!*\033[m"' + +alias echo.ULSTOrange 'echo "\033[4;9;3;38;5;202m\!*\033[m"' + +alias echo.BLBoldOrange 'echo "\033[5;1;3;38;5;202m\!*\033[m"' + +alias echo.BLIOrange 'echo "\033[5;3;3;38;5;202m\!*\033[m"' + +alias echo.BLULOrange 'echo "\033[5;4;3;38;5;202m\!*\033[m"' + +alias echo.BLSTOrange 'echo "\033[5;9;3;38;5;202m\!*\033[m"' + +alias echo.STBoldOrange 'echo "\033[9;1;3;38;5;202m\!*\033[m"' + +alias echo.STIOrange 'echo "\033[9;3;3;38;5;202m\!*\033[m"' + +alias echo.STULOrange 'echo "\033[9;4;3;38;5;202m\!*\033[m"' + +alias echo.STBLOrange 'echo "\033[9;5;3;38;5;202m\!*\033[m"' + +alias echo.LightOrange 'echo "\033[9;38;5;202m\!*\033[m"' + +alias echo.LightBoldOrange 'echo "\033[1;9;38;5;202m\!*\033[m"' + +alias echo.LightIOrange 'echo "\033[3;9;38;5;202m\!*\033[m"' + +alias echo.LightULOrange 'echo "\033[4;9;38;5;202m\!*\033[m"' + +alias echo.LightBLOrange 'echo "\033[5;9;38;5;202m\!*\033[m"' + +alias echo.LightSTOrange 'echo "\033[9;9;38;5;202m\!*\033[m"' + +alias echo.LightBoldIOrange 'echo "\033[1;3;9;38;5;202m\!*\033[m"' + +alias echo.LightBoldULOrange 'echo "\033[1;4;9;38;5;202m\!*\033[m"' + +alias echo.LightBoldBLOrange 'echo "\033[1;5;9;38;5;202m\!*\033[m"' + +alias echo.LightBoldSTOrange 'echo "\033[1;9;9;38;5;202m\!*\033[m"' + +alias echo.LightIBoldOrange 'echo "\033[3;1;9;38;5;202m\!*\033[m"' + +alias echo.LightIULOrange 'echo "\033[3;4;9;38;5;202m\!*\033[m"' + +alias echo.LightIBLOrange 'echo "\033[3;5;9;38;5;202m\!*\033[m"' + +alias echo.LightISTOrange 'echo "\033[3;9;9;38;5;202m\!*\033[m"' + +alias echo.LightULBoldOrange 'echo "\033[4;1;9;38;5;202m\!*\033[m"' + +alias echo.LightULIOrange 'echo "\033[4;3;9;38;5;202m\!*\033[m"' + +alias echo.LightULBLOrange 'echo "\033[4;5;9;38;5;202m\!*\033[m"' + +alias echo.LightULSTOrange 'echo "\033[4;9;9;38;5;202m\!*\033[m"' + +alias echo.LightBLBoldOrange 'echo "\033[5;1;9;38;5;202m\!*\033[m"' + +alias echo.LightBLIOrange 'echo "\033[5;3;9;38;5;202m\!*\033[m"' + +alias echo.LightBLULOrange 'echo "\033[5;4;9;38;5;202m\!*\033[m"' + +alias echo.LightBLSTOrange 'echo "\033[5;9;9;38;5;202m\!*\033[m"' + +alias echo.LightSTBoldOrange 'echo "\033[9;1;9;38;5;202m\!*\033[m"' + +alias echo.LightSTIOrange 'echo "\033[9;3;9;38;5;202m\!*\033[m"' + +alias echo.LightSTULOrange 'echo "\033[9;4;9;38;5;202m\!*\033[m"' + +alias echo.LightSTBLOrange 'echo "\033[9;5;9;38;5;202m\!*\033[m"' + +alias echo.Pink 'echo "\033[3;38;5;206m\!*\033[m"' + +alias echo.BoldPink 'echo "\033[1;3;38;5;206m\!*\033[m"' + +alias echo.IPink 'echo "\033[3;3;38;5;206m\!*\033[m"' + +alias echo.ULPink 'echo "\033[4;3;38;5;206m\!*\033[m"' + +alias echo.BLPink 'echo "\033[5;3;38;5;206m\!*\033[m"' + +alias echo.STPink 'echo "\033[9;3;38;5;206m\!*\033[m"' + +alias echo.BoldIPink 'echo "\033[1;3;3;38;5;206m\!*\033[m"' + +alias echo.BoldULPink 'echo "\033[1;4;3;38;5;206m\!*\033[m"' + +alias echo.BoldBLPink 'echo "\033[1;5;3;38;5;206m\!*\033[m"' + +alias echo.BoldSTPink 'echo "\033[1;9;3;38;5;206m\!*\033[m"' + +alias echo.IBoldPink 'echo "\033[3;1;3;38;5;206m\!*\033[m"' + +alias echo.IULPink 'echo "\033[3;4;3;38;5;206m\!*\033[m"' + +alias echo.IBLPink 'echo "\033[3;5;3;38;5;206m\!*\033[m"' + +alias echo.ISTPink 'echo "\033[3;9;3;38;5;206m\!*\033[m"' + +alias echo.ULBoldPink 'echo "\033[4;1;3;38;5;206m\!*\033[m"' + +alias echo.ULIPink 'echo "\033[4;3;3;38;5;206m\!*\033[m"' + +alias echo.ULBLPink 'echo "\033[4;5;3;38;5;206m\!*\033[m"' + +alias echo.ULSTPink 'echo "\033[4;9;3;38;5;206m\!*\033[m"' + +alias echo.BLBoldPink 'echo "\033[5;1;3;38;5;206m\!*\033[m"' + +alias echo.BLIPink 'echo "\033[5;3;3;38;5;206m\!*\033[m"' + +alias echo.BLULPink 'echo "\033[5;4;3;38;5;206m\!*\033[m"' + +alias echo.BLSTPink 'echo "\033[5;9;3;38;5;206m\!*\033[m"' + +alias echo.STBoldPink 'echo "\033[9;1;3;38;5;206m\!*\033[m"' + +alias echo.STIPink 'echo "\033[9;3;3;38;5;206m\!*\033[m"' + +alias echo.STULPink 'echo "\033[9;4;3;38;5;206m\!*\033[m"' + +alias echo.STBLPink 'echo "\033[9;5;3;38;5;206m\!*\033[m"' + +alias echo.LightPink 'echo "\033[9;38;5;206m\!*\033[m"' + +alias echo.LightBoldPink 'echo "\033[1;9;38;5;206m\!*\033[m"' + +alias echo.LightIPink 'echo "\033[3;9;38;5;206m\!*\033[m"' + +alias echo.LightULPink 'echo "\033[4;9;38;5;206m\!*\033[m"' + +alias echo.LightBLPink 'echo "\033[5;9;38;5;206m\!*\033[m"' + +alias echo.LightSTPink 'echo "\033[9;9;38;5;206m\!*\033[m"' + +alias echo.LightBoldIPink 'echo "\033[1;3;9;38;5;206m\!*\033[m"' + +alias echo.LightBoldULPink 'echo "\033[1;4;9;38;5;206m\!*\033[m"' + +alias echo.LightBoldBLPink 'echo "\033[1;5;9;38;5;206m\!*\033[m"' + +alias echo.LightBoldSTPink 'echo "\033[1;9;9;38;5;206m\!*\033[m"' + +alias echo.LightIBoldPink 'echo "\033[3;1;9;38;5;206m\!*\033[m"' + +alias echo.LightIULPink 'echo "\033[3;4;9;38;5;206m\!*\033[m"' + +alias echo.LightIBLPink 'echo "\033[3;5;9;38;5;206m\!*\033[m"' + +alias echo.LightISTPink 'echo "\033[3;9;9;38;5;206m\!*\033[m"' + +alias echo.LightULBoldPink 'echo "\033[4;1;9;38;5;206m\!*\033[m"' + +alias echo.LightULIPink 'echo "\033[4;3;9;38;5;206m\!*\033[m"' + +alias echo.LightULBLPink 'echo "\033[4;5;9;38;5;206m\!*\033[m"' + +alias echo.LightULSTPink 'echo "\033[4;9;9;38;5;206m\!*\033[m"' + +alias echo.LightBLBoldPink 'echo "\033[5;1;9;38;5;206m\!*\033[m"' + +alias echo.LightBLIPink 'echo "\033[5;3;9;38;5;206m\!*\033[m"' + +alias echo.LightBLULPink 'echo "\033[5;4;9;38;5;206m\!*\033[m"' + +alias echo.LightBLSTPink 'echo "\033[5;9;9;38;5;206m\!*\033[m"' + +alias echo.LightSTBoldPink 'echo "\033[9;1;9;38;5;206m\!*\033[m"' + +alias echo.LightSTIPink 'echo "\033[9;3;9;38;5;206m\!*\033[m"' + +alias echo.LightSTULPink 'echo "\033[9;4;9;38;5;206m\!*\033[m"' + +alias echo.LightSTBLPink 'echo "\033[9;5;9;38;5;206m\!*\033[m"' + +alias echo.Brown 'echo "\033[3;38;5;52m\!*\033[m"' + +alias echo.BoldBrown 'echo "\033[1;3;38;5;52m\!*\033[m"' + +alias echo.IBrown 'echo "\033[3;3;38;5;52m\!*\033[m"' + +alias echo.ULBrown 'echo "\033[4;3;38;5;52m\!*\033[m"' + +alias echo.BLBrown 'echo "\033[5;3;38;5;52m\!*\033[m"' + +alias echo.STBrown 'echo "\033[9;3;38;5;52m\!*\033[m"' + +alias echo.BoldIBrown 'echo "\033[1;3;3;38;5;52m\!*\033[m"' + +alias echo.BoldULBrown 'echo "\033[1;4;3;38;5;52m\!*\033[m"' + +alias echo.BoldBLBrown 'echo "\033[1;5;3;38;5;52m\!*\033[m"' + +alias echo.BoldSTBrown 'echo "\033[1;9;3;38;5;52m\!*\033[m"' + +alias echo.IBoldBrown 'echo "\033[3;1;3;38;5;52m\!*\033[m"' + +alias echo.IULBrown 'echo "\033[3;4;3;38;5;52m\!*\033[m"' + +alias echo.IBLBrown 'echo "\033[3;5;3;38;5;52m\!*\033[m"' + +alias echo.ISTBrown 'echo "\033[3;9;3;38;5;52m\!*\033[m"' + +alias echo.ULBoldBrown 'echo "\033[4;1;3;38;5;52m\!*\033[m"' + +alias echo.ULIBrown 'echo "\033[4;3;3;38;5;52m\!*\033[m"' + +alias echo.ULBLBrown 'echo "\033[4;5;3;38;5;52m\!*\033[m"' + +alias echo.ULSTBrown 'echo "\033[4;9;3;38;5;52m\!*\033[m"' + +alias echo.BLBoldBrown 'echo "\033[5;1;3;38;5;52m\!*\033[m"' + +alias echo.BLIBrown 'echo "\033[5;3;3;38;5;52m\!*\033[m"' + +alias echo.BLULBrown 'echo "\033[5;4;3;38;5;52m\!*\033[m"' + +alias echo.BLSTBrown 'echo "\033[5;9;3;38;5;52m\!*\033[m"' + +alias echo.STBoldBrown 'echo "\033[9;1;3;38;5;52m\!*\033[m"' + +alias echo.STIBrown 'echo "\033[9;3;3;38;5;52m\!*\033[m"' + +alias echo.STULBrown 'echo "\033[9;4;3;38;5;52m\!*\033[m"' + +alias echo.STBLBrown 'echo "\033[9;5;3;38;5;52m\!*\033[m"' + +alias echo.LightBrown 'echo "\033[9;38;5;52m\!*\033[m"' + +alias echo.LightBoldBrown 'echo "\033[1;9;38;5;52m\!*\033[m"' + +alias echo.LightIBrown 'echo "\033[3;9;38;5;52m\!*\033[m"' + +alias echo.LightULBrown 'echo "\033[4;9;38;5;52m\!*\033[m"' + +alias echo.LightBLBrown 'echo "\033[5;9;38;5;52m\!*\033[m"' + +alias echo.LightSTBrown 'echo "\033[9;9;38;5;52m\!*\033[m"' + +alias echo.LightBoldIBrown 'echo "\033[1;3;9;38;5;52m\!*\033[m"' + +alias echo.LightBoldULBrown 'echo "\033[1;4;9;38;5;52m\!*\033[m"' + +alias echo.LightBoldBLBrown 'echo "\033[1;5;9;38;5;52m\!*\033[m"' + +alias echo.LightBoldSTBrown 'echo "\033[1;9;9;38;5;52m\!*\033[m"' + +alias echo.LightIBoldBrown 'echo "\033[3;1;9;38;5;52m\!*\033[m"' + +alias echo.LightIULBrown 'echo "\033[3;4;9;38;5;52m\!*\033[m"' + +alias echo.LightIBLBrown 'echo "\033[3;5;9;38;5;52m\!*\033[m"' + +alias echo.LightISTBrown 'echo "\033[3;9;9;38;5;52m\!*\033[m"' + +alias echo.LightULBoldBrown 'echo "\033[4;1;9;38;5;52m\!*\033[m"' + +alias echo.LightULIBrown 'echo "\033[4;3;9;38;5;52m\!*\033[m"' + +alias echo.LightULBLBrown 'echo "\033[4;5;9;38;5;52m\!*\033[m"' + +alias echo.LightULSTBrown 'echo "\033[4;9;9;38;5;52m\!*\033[m"' + +alias echo.LightBLBoldBrown 'echo "\033[5;1;9;38;5;52m\!*\033[m"' + +alias echo.LightBLIBrown 'echo "\033[5;3;9;38;5;52m\!*\033[m"' + +alias echo.LightBLULBrown 'echo "\033[5;4;9;38;5;52m\!*\033[m"' + +alias echo.LightBLSTBrown 'echo "\033[5;9;9;38;5;52m\!*\033[m"' + +alias echo.LightSTBoldBrown 'echo "\033[9;1;9;38;5;52m\!*\033[m"' + +alias echo.LightSTIBrown 'echo "\033[9;3;9;38;5;52m\!*\033[m"' + +alias echo.LightSTULBrown 'echo "\033[9;4;9;38;5;52m\!*\033[m"' + +alias echo.LightSTBLBrown 'echo "\033[9;5;9;38;5;52m\!*\033[m"' +alias echo.Rainbow 'which lolcat >& /dev/null && echo "\!*" | lolcat || echo "\!*"' +alias echo.Reset 'echo \!* | tr -d \[:cntrl:\] | sed -E "s/\[((;)?[0-9]{1,3}){0,3}m//g"; echo' diff --git a/dist/ColorEcho.zsh b/dist/ColorEcho.zsh index d13b2b8..cad6e48 100644 --- a/dist/ColorEcho.zsh +++ b/dist/ColorEcho.zsh @@ -2515,12 +2515,8 @@ function echo.LightSTBLBrown() { echo -e "\\033[9;5;9;38;5;52m$*\\033[m" } function echo.Rainbow() { - if command -v lolcat > /dev/null 2>&1; then - echo "$*" | lolcat - else - echo "$*" - fi + if command -v lolcat > /dev/null 2>&1; then echo "$*" | lolcat; else echo "$*"; fi } function echo.Reset() { - echo "$*" | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g" | xargs + echo $* | tr -d '[:cntrl:]' | sed -E "s/\\[((;)?[0-9]{1,3}){0,3}m//g"; echo } diff --git a/generator.sh b/generator.sh index 9568c52..70e490f 100755 --- a/generator.sh +++ b/generator.sh @@ -29,7 +29,7 @@ fi echo.BoldGreen "ColorEcho generator start!" -for shell in sh bash fish ksh zsh; do +for shell in sh bash fish ksh tcsh zsh; do { echo.BoldYellow "Generating ColorEcho for ${shell} shell ..." # shell specify configs and tricks @@ -38,42 +38,84 @@ for shell in sh bash fish ksh zsh; do fn='function ' dot='.' echo='echo -e' - startSym=' {' - endSym='}' - endIf='fi' + escape='\\' + if='if ' + then='; then ' + else='; else ' + endIf='; fi' brackets='()' - para='*' + startSym=' { + ' + endSym=' +}' + para='$*' ;; "ksh") fn='function ' dot= echo='echo -e' - startSym=' {' - endSym='}' - endIf='fi' + escape='\\' + if='if ' + then='; then ' + else='; else ' + endIf='; fi' brackets= - para='*' + startSym=' { + ' + endSym=' +}' + para='$*' ;; "fish") fn='function ' dot='.' echo='echo -e' - startSym= - endSym='end' - endIf='end' + escape='\\' + if='if ' + then='; ' + else='; else; ' + endIf='; end' brackets= - para='argv' + startSym=' + ' + endSym=' +end' + para='$argv' + ;; + "tcsh") + # tcsh does not support function declaration + # -> we'll use alias instead + fn='alias ' + dot='.' + echo='echo' + escape='\' + # tcsh cannot put if, then, else, endif in the same line + # -> use && and || operators instead + if= + then=' && ' + else=' || ' + endIf= + brackets= + startSym=" '" + endSym="'" + para='\!*' ;; "sh") fn= dot= # shellcheck disable=SC2016 echo='$ECHO' - startSym=' {' - endSym='}' - endIf='fi' + escape='\\' + if='if ' + then='; then ' + else='; else ' + endIf='; fi' brackets='()' - para='*' + startSym=' { + ' + endSym=' +}' + para='$*' ;; esac @@ -120,7 +162,7 @@ else fi SH_ECHO fi - awk '{print $1}' "${table}" | while IFS= read -r color; do + while read -r color colorCode; do # light or not for light in "" "Light"; do if [ "${light}" = "" ]; then @@ -158,46 +200,45 @@ SH_ECHO echo "" printf "%s%s" "${echoFunction}" "${brackets}" # write the code down - echo "${startSym}" - echo " ${echo}"' "\\033['"${finalStyleCode}${code}""$(grep "${color}" "${table}" | awk '{print $2}')"'m$'"${para}"'\\033[m"' - echo "${endSym}" + echo "${startSym}${echo} "'"'"${escape}033[${finalStyleCode}${code}${colorCode}m${para}${escape}033[m"'"'"${endSym}" } >> "${tempDist}" fi done done done - done + done < "${table}" # rainbow output relys on lolcat fnName="${fn}echo${dot}Rainbow${brackets}" case "${shell}" in "fish") - ifCond="if command -v lolcat > /dev/null" + ifCond='command -v lolcat > /dev/null' + trCntrl="'[:cntrl:]'" ;; "ksh") - ifCond='if command -v lolcat 2> /dev/null >&2; then' + ifCond='command -v lolcat 2> /dev/null >&2' + trCntrl="'[:cntrl:]'" + ;; + "tcsh") + ifCond='which lolcat >& /dev/null' + # tcsh uses aliases instead of functions + # -> remove ' and replace [ and ] with quoted chars + trCntrl='\[:cntrl:\]' ;; *) - ifCond='if command -v lolcat > /dev/null 2>&1; then' + ifCond='command -v lolcat > /dev/null 2>&1' + trCntrl="'[:cntrl:]'" ;; esac cat << LOLCAT >> "${tempDist}" -${fnName}${startSym} - ${ifCond} - echo "\$${para}" | lolcat - else - echo "\$${para}" - ${endIf} -${endSym} +${fnName}${startSym}${if}${ifCond}${then}echo "${para}" | lolcat${else}echo "${para}"${endIf}${endSym} LOLCAT # echo.Reset to remove color code on output fnName="${fn}echo${dot}Reset${brackets}" cat << RESET >> "${tempDist}" -${fnName}${startSym} - echo "\$${para}" | tr -d '[:cntrl:]' | sed -E "s/\\\\[((;)?[0-9]{1,3}){0,3}m//g" | xargs -${endSym} +${fnName}${startSym}echo ${para} | tr -d ${trCntrl} | sed -E "s/${escape}[((;)?[0-9]{1,3}){0,3}m//g"; echo${endSym} RESET mv -f "${tempDist}" "${newDist}" } & diff --git a/test-scripts/bash b/test-scripts/bash index 2dd6d6c..4614a4c 100755 --- a/test-scripts/bash +++ b/test-scripts/bash @@ -8,3 +8,5 @@ script="${dir}/../dist/ColorEcho.bash" awk '/^function +echo/ {print $2}' "${script}" | sed 's/()//g' | while IFS= read -r x; do ${x} "${x}" done + +echo.Reset "$( echo.Red "Red and \033[32m'green'" )" diff --git a/test-scripts/fish b/test-scripts/fish index 42c9cdc..0be6b1d 100755 --- a/test-scripts/fish +++ b/test-scripts/fish @@ -7,3 +7,5 @@ set script "$dir/../dist/ColorEcho.fish" for x in (awk '/^function +echo/ {print $2}' "$script") eval $x "$x" end + +echo.Reset "$( echo.Red "Red and \033[32m'green'" )" \ No newline at end of file diff --git a/test-scripts/ksh b/test-scripts/ksh index b4b9983..b34faa2 100755 --- a/test-scripts/ksh +++ b/test-scripts/ksh @@ -9,3 +9,5 @@ awk '/^function +echo/ {print $2}' "${script}" | while IFS= read -r x do ${x} "${x}" done + +echoReset "$( echoRed "Red and \033[32m'green'" )" \ No newline at end of file diff --git a/test-scripts/sh b/test-scripts/sh index 480a546..a10173b 100755 --- a/test-scripts/sh +++ b/test-scripts/sh @@ -8,3 +8,5 @@ script="${dir}/../dist/ColorEcho.sh" grep -E "echo[a-zA-Z]+()" "${script}" | sed -e 's/()//g' -e 's/ {$//g' | while IFS= read -r x; do ${x} "${x}" done + +echoReset "$( echoRed "Red and \033[32m'green'" )" \ No newline at end of file diff --git a/test-scripts/tcsh b/test-scripts/tcsh new file mode 100755 index 0000000..56a43d6 --- /dev/null +++ b/test-scripts/tcsh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e +dir="$(cd "$(dirname "$0")" && pwd)" +script="${dir}/../dist/ColorEcho.tcsh" + + +{ + echo "source \"${script}\"" + awk '/^alias +echo/ {print $2}' "${script}" | while IFS= read -r x; do + echo "${x} \"${x}\"" + done + echo 'echo.Reset `echo.Red "Red and \033[32m\x27green\x27"`' +} | tcsh \ No newline at end of file diff --git a/test-scripts/zsh b/test-scripts/zsh index c5e8e2d..497adf0 100755 --- a/test-scripts/zsh +++ b/test-scripts/zsh @@ -9,3 +9,5 @@ awk '/^function +echo/ {print $2}' "${script}" | sed 's/()//g' | while IFS= read do ${x} "${x}" done + +echo.Reset "$( echo.Red "Red and \033[32m'green'" )" \ No newline at end of file