mirror of
https://github.com/ohmybash/oh-my-bash.git
synced 2024-05-11 05:55:37 +00:00
* OMB - Major Refactor - Aliases and completions now works like plugins (need to enabled in .bashrc) - Removed the compatible check in spectrum.sh, OMB now works with Bash v3.x like the old days. - Removed core plugin, added those bash functions into base.sh and load during startup. - Updated OSH template for new installations - Added history config and few other stuff from #17 @TODO: Added a shell script to update old version of .bashrc to new one. * Fixed ShellCheck issues * Fixed ShellCheck issues
49 lines
1.5 KiB
Bash
49 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
# A script to make using 256 colors in bash less painful.
|
|
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
|
# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
|
|
|
|
|
# typeset in bash does not have associative arrays, declare does in bash 4.0+
|
|
# https://stackoverflow.com/a/6047948
|
|
|
|
# This library only works for BASH 4.x to keep the minimum compatible for macOS.
|
|
# shellcheck disable=SC2034
|
|
if [ "${BASH_VERSINFO[0]}" -gt 4 ]; then
|
|
_RED='\033[0;31m' # Red Color (For error)
|
|
_NC='\033[0m' # No Color (To reset the terminal color)
|
|
|
|
declare -Ag FX FG BG
|
|
|
|
FX=(
|
|
[reset]="%{^[[00m%}"
|
|
[bold]="%{^[[01m%}" [no-bold]="%{^[[22m%}"
|
|
[italic]="%{^[[03m%}" [no-italic]="%{^[[23m%}"
|
|
[underline]="%{^[[04m%}" [no-underline]="%{^[[24m%}"
|
|
[blink]="%{^[[05m%}" [no-blink]="%{^[[25m%}"
|
|
[reverse]="%{^[[07m%}" [no-reverse]="%{^[[27m%}"
|
|
)
|
|
|
|
for color in {000..255}; do
|
|
FG[$color]="%{^[[38;5;${color}m%}"
|
|
BG[$color]="%{^[[48;5;${color}m%}"
|
|
done
|
|
|
|
|
|
OSH_SPECTRUM_TEXT=${OSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris}
|
|
|
|
# Show all 256 colors with color number
|
|
function spectrum_ls() {
|
|
for code in {000..255}; do
|
|
print -P -- "$code: %{$FG[$code]%}$OSH_SPECTRUM_TEXT%{$reset_color%}"
|
|
done
|
|
}
|
|
|
|
# Show all 256 colors where the background is set to specific color
|
|
function spectrum_bls() {
|
|
for code in {000..255}; do
|
|
print -P -- "$code: %{$BG[$code]%}$OSH_SPECTRUM_TEXT%{$reset_color%}"
|
|
done
|
|
}
|
|
fi
|