Skip to content

Instantly share code, notes, and snippets.

@kylieCat
Last active May 3, 2024 15:42
Show Gist options
  • Save kylieCat/86744517063e8ec2daf8c69363720ecd to your computer and use it in GitHub Desktop.
Save kylieCat/86744517063e8ec2daf8c69363720ecd to your computer and use it in GitHub Desktop.
export BLACK="\033[0;38;5;0m"
export MAROON="\033[0;38;5;1m"
export GREEN="\033[0;38;5;2m"
export OLIVE="\033[0;38;5;3m"
export NAVY="\033[0;38;5;4m"
export PURPLE="\033[0;38;5;5m"
export TEAL="\033[0;38;5;6m"
export SILVER="\033[0;38;5;7m"
export GREY="\033[0;38;5;8m"
export RED="\033[0;38;5;9m"
export LIME="\033[0;38;5;10m"
export YELLOW="\033[0;38;5;11m"
export BLUE="\033[0;38;5;12m"
export FUCHSIA="\033[0;38;5;13m"
export AQUA="\033[0;38;5;14m"
export WHITE="\033[0;38;5;15m"
export GREY0="\033[0;38;5;16m"
export NAVYBLUE="\033[0;38;5;17m"
export DARKBLUE="\033[0;38;5;18m"
export BLUE3="\033[0;38;5;19m"
export BLUE3="\033[0;38;5;20m"
export BLUE1="\033[0;38;5;21m"
export DARKGREEN="\033[0;38;5;22m"
export DEEPSKYBLUE4="\033[0;38;5;23m"
export DEEPSKYBLUE4="\033[0;38;5;24m"
export DEEPSKYBLUE4="\033[0;38;5;25m"
export DODGERBLUE3="\033[0;38;5;26m"
export DODGERBLUE2="\033[0;38;5;27m"
export GREEN4="\033[0;38;5;28m"
export SPRINGGREEN4="\033[0;38;5;29m"
export TURQUOISE4="\033[0;38;5;30m"
export DEEPSKYBLUE3="\033[0;38;5;31m"
export DEEPSKYBLUE3="\033[0;38;5;32m"
export DODGERBLUE1="\033[0;38;5;33m"
export GREEN3="\033[0;38;5;34m"
export SPRINGGREEN3="\033[0;38;5;35m"
export DARKCYAN="\033[0;38;5;36m"
export LIGHTSEAGREEN="\033[0;38;5;37m"
export DEEPSKYBLUE2="\033[0;38;5;38m"
export DEEPSKYBLUE1="\033[0;38;5;39m"
export GREEN3="\033[0;38;5;40m"
export SPRINGGREEN3="\033[0;38;5;41m"
export SPRINGGREEN2="\033[0;38;5;42m"
export CYAN3="\033[0;38;5;43m"
export DARKTURQUOISE="\033[0;38;5;44m"
export TURQUOISE2="\033[0;38;5;45m"
export GREEN1="\033[0;38;5;46m"
export SPRINGGREEN2="\033[0;38;5;47m"
export SPRINGGREEN1="\033[0;38;5;48m"
export MEDIUMSPRINGGREEN="\033[0;38;5;49m"
export CYAN2="\033[0;38;5;50m"
export CYAN1="\033[0;38;5;51m"
export DARKRED="\033[0;38;5;52m"
export DEEPPINK4="\033[0;38;5;53m"
export PURPLE4="\033[0;38;5;54m"
export PURPLE4="\033[0;38;5;55m"
export PURPLE3="\033[0;38;5;56m"
export BLUEVIOLET="\033[0;38;5;57m"
export ORANGE4="\033[0;38;5;58m"
export GREY37="\033[0;38;5;59m"
export MEDIUMPURPLE4="\033[0;38;5;60m"
export SLATEBLUE3="\033[0;38;5;61m"
export SLATEBLUE3="\033[0;38;5;62m"
export ROYALBLUE1="\033[0;38;5;63m"
export CHARTREUSE4="\033[0;38;5;64m"
export DARKSEAGREEN4="\033[0;38;5;65m"
export PALETURQUOISE4="\033[0;38;5;66m"
export STEELBLUE="\033[0;38;5;67m"
export STEELBLUE3="\033[0;38;5;68m"
export CORNFLOWERBLUE="\033[0;38;5;69m"
export CHARTREUSE3="\033[0;38;5;70m"
export DARKSEAGREEN4="\033[0;38;5;71m"
export CADETBLUE="\033[0;38;5;72m"
export CADETBLUE="\033[0;38;5;73m"
export SKYBLUE3="\033[0;38;5;74m"
export STEELBLUE1="\033[0;38;5;75m"
export CHARTREUSE3="\033[0;38;5;76m"
export PALEGREEN3="\033[0;38;5;77m"
export SEAGREEN3="\033[0;38;5;78m"
export AQUAMARINE3="\033[0;38;5;79m"
export MEDIUMTURQUOISE="\033[0;38;5;80m"
export STEELBLUE1="\033[0;38;5;81m"
export CHARTREUSE2="\033[0;38;5;82m"
export SEAGREEN2="\033[0;38;5;83m"
export SEAGREEN1="\033[0;38;5;84m"
export SEAGREEN1="\033[0;38;5;85m"
export AQUAMARINE1="\033[0;38;5;86m"
export DARKSLATEGRAY2="\033[0;38;5;87m"
export DARKRED="\033[0;38;5;88m"
export DEEPPINK4="\033[0;38;5;89m"
export DARKMAGENTA="\033[0;38;5;90m"
export DARKMAGENTA="\033[0;38;5;91m"
export DARKVIOLET="\033[0;38;5;92m"
export PURPLE="\033[0;38;5;93m"
export ORANGE4="\033[0;38;5;94m"
export LIGHTPINK4="\033[0;38;5;95m"
export PLUM4="\033[0;38;5;96m"
export MEDIUMPURPLE3="\033[0;38;5;97m"
export MEDIUMPURPLE3="\033[0;38;5;98m"
export SLATEBLUE1="\033[0;38;5;99m"
export YELLOW4="\033[0;38;5;100m"
export WHEAT4="\033[0;38;5;101m"
export GREY53="\033[0;38;5;102m"
export LIGHTSLATEGREY="\033[0;38;5;103m"
export MEDIUMPURPLE="\033[0;38;5;104m"
export LIGHTSLATEBLUE="\033[0;38;5;105m"
export YELLOW4="\033[0;38;5;106m"
export DARKOLIVEGREEN3="\033[0;38;5;107m"
export DARKSEAGREEN="\033[0;38;5;108m"
export LIGHTSKYBLUE3="\033[0;38;5;109m"
export LIGHTSKYBLUE3="\033[0;38;5;110m"
export SKYBLUE2="\033[0;38;5;111m"
export CHARTREUSE2="\033[0;38;5;112m"
export DARKOLIVEGREEN3="\033[0;38;5;113m"
export PALEGREEN3="\033[0;38;5;114m"
export DARKSEAGREEN3="\033[0;38;5;115m"
export DARKSLATEGRAY3="\033[0;38;5;116m"
export SKYBLUE1="\033[0;38;5;117m"
export CHARTREUSE1="\033[0;38;5;118m"
export LIGHTGREEN="\033[0;38;5;119m"
export LIGHTGREEN="\033[0;38;5;120m"
export PALEGREEN1="\033[0;38;5;121m"
export AQUAMARINE1="\033[0;38;5;122m"
export DARKSLATEGRAY1="\033[0;38;5;123m"
export RED3="\033[0;38;5;124m"
export DEEPPINK4="\033[0;38;5;125m"
export MEDIUMVIOLETRED="\033[0;38;5;126m"
export MAGENTA3="\033[0;38;5;127m"
export DARKVIOLET="\033[0;38;5;128m"
export PURPLE="\033[0;38;5;129m"
export DARKORANGE3="\033[0;38;5;130m"
export INDIANRED="\033[0;38;5;131m"
export HOTPINK3="\033[0;38;5;132m"
export MEDIUMORCHID3="\033[0;38;5;133m"
export MEDIUMORCHID="\033[0;38;5;134m"
export MEDIUMPURPLE2="\033[0;38;5;135m"
export DARKGOLDENROD="\033[0;38;5;136m"
export LIGHTSALMON3="\033[0;38;5;137m"
export ROSYBROWN="\033[0;38;5;138m"
export GREY63="\033[0;38;5;139m"
export MEDIUMPURPLE2="\033[0;38;5;140m"
export MEDIUMPURPLE1="\033[0;38;5;141m"
export GOLD3="\033[0;38;5;142m"
export DARKKHAKI="\033[0;38;5;143m"
export NAVAJOWHITE3="\033[0;38;5;144m"
export GREY69="\033[0;38;5;145m"
export LIGHTSTEELBLUE3="\033[0;38;5;146m"
export LIGHTSTEELBLUE="\033[0;38;5;147m"
export YELLOW3="\033[0;38;5;148m"
export DARKOLIVEGREEN3="\033[0;38;5;149m"
export DARKSEAGREEN3="\033[0;38;5;150m"
export DARKSEAGREEN2="\033[0;38;5;151m"
export LIGHTCYAN3="\033[0;38;5;152m"
export LIGHTSKYBLUE1="\033[0;38;5;153m"
export GREENYELLOW="\033[0;38;5;154m"
export DARKOLIVEGREEN2="\033[0;38;5;155m"
export PALEGREEN1="\033[0;38;5;156m"
export DARKSEAGREEN2="\033[0;38;5;157m"
export DARKSEAGREEN1="\033[0;38;5;158m"
export PALETURQUOISE1="\033[0;38;5;159m"
export RED3="\033[0;38;5;160m"
export DEEPPINK3="\033[0;38;5;161m"
export DEEPPINK3="\033[0;38;5;162m"
export MAGENTA3="\033[0;38;5;163m"
export MAGENTA3="\033[0;38;5;164m"
export MAGENTA2="\033[0;38;5;165m"
export DARKORANGE3="\033[0;38;5;166m"
export INDIANRED="\033[0;38;5;167m"
export HOTPINK3="\033[0;38;5;168m"
export HOTPINK2="\033[0;38;5;169m"
export ORCHID="\033[0;38;5;170m"
export MEDIUMORCHID1="\033[0;38;5;171m"
export ORANGE3="\033[0;38;5;172m"
export LIGHTSALMON3="\033[0;38;5;173m"
export LIGHTPINK3="\033[0;38;5;174m"
export PINK3="\033[0;38;5;175m"
export PLUM3="\033[0;38;5;176m"
export VIOLET="\033[0;38;5;177m"
export GOLD3="\033[0;38;5;178m"
export LIGHTGOLDENROD3="\033[0;38;5;179m"
export TAN="\033[0;38;5;180m"
export MISTYROSE3="\033[0;38;5;181m"
export THISTLE3="\033[0;38;5;182m"
export PLUM2="\033[0;38;5;183m"
export YELLOW3="\033[0;38;5;184m"
export KHAKI3="\033[0;38;5;185m"
export LIGHTGOLDENROD2="\033[0;38;5;186m"
export LIGHTYELLOW3="\033[0;38;5;187m"
export GREY84="\033[0;38;5;188m"
export LIGHTSTEELBLUE1="\033[0;38;5;189m"
export YELLOW2="\033[0;38;5;190m"
export DARKOLIVEGREEN1="\033[0;38;5;191m"
export DARKOLIVEGREEN1="\033[0;38;5;192m"
export DARKSEAGREEN1="\033[0;38;5;193m"
export HONEYDEW2="\033[0;38;5;194m"
export LIGHTCYAN1="\033[0;38;5;195m"
export RED1="\033[0;38;5;196m"
export DEEPPINK2="\033[0;38;5;197m"
export DEEPPINK1="\033[0;38;5;198m"
export DEEPPINK1="\033[0;38;5;199m"
export MAGENTA2="\033[0;38;5;200m"
export MAGENTA1="\033[0;38;5;201m"
export ORANGERED1="\033[0;38;5;202m"
export INDIANRED1="\033[0;38;5;203m"
export INDIANRED1="\033[0;38;5;204m"
export HOTPINK="\033[0;38;5;205m"
export HOTPINK="\033[0;38;5;206m"
export MEDIUMORCHID1="\033[0;38;5;207m"
export DARKORANGE="\033[0;38;5;208m"
export SALMON1="\033[0;38;5;209m"
export LIGHTCORAL="\033[0;38;5;210m"
export PALEVIOLETRED1="\033[0;38;5;211m"
export ORCHID2="\033[0;38;5;212m"
export ORCHID1="\033[0;38;5;213m"
export ORANGE1="\033[0;38;5;214m"
export SANDYBROWN="\033[0;38;5;215m"
export LIGHTSALMON1="\033[0;38;5;216m"
export LIGHTPINK1="\033[0;38;5;217m"
export PINK1="\033[0;38;5;218m"
export PLUM1="\033[0;38;5;219m"
export GOLD1="\033[0;38;5;220m"
export LIGHTGOLDENROD2="\033[0;38;5;221m"
export LIGHTGOLDENROD2="\033[0;38;5;222m"
export NAVAJOWHITE1="\033[0;38;5;223m"
export MISTYROSE1="\033[0;38;5;224m"
export THISTLE1="\033[0;38;5;225m"
export YELLOW1="\033[0;38;5;226m"
export LIGHTGOLDENROD1="\033[0;38;5;227m"
export KHAKI1="\033[0;38;5;228m"
export WHEAT1="\033[0;38;5;229m"
export CORNSILK1="\033[0;38;5;230m"
export GREY100="\033[0;38;5;231m"
export GREY3="\033[0;38;5;232m"
export GREY7="\033[0;38;5;233m"
export GREY11="\033[0;38;5;234m"
export GREY15="\033[0;38;5;235m"
export GREY19="\033[0;38;5;236m"
export GREY23="\033[0;38;5;237m"
export GREY27="\033[0;38;5;238m"
export GREY30="\033[0;38;5;239m"
export GREY35="\033[0;38;5;240m"
export GREY39="\033[0;38;5;241m"
export GREY42="\033[0;38;5;242m"
export GREY46="\033[0;38;5;243m"
export GREY50="\033[0;38;5;244m"
export GREY54="\033[0;38;5;245m"
export GREY58="\033[0;38;5;246m"
export GREY62="\033[0;38;5;247m"
export GREY66="\033[0;38;5;248m"
export GREY70="\033[0;38;5;249m"
export GREY74="\033[0;38;5;250m"
export GREY78="\033[0;38;5;251m"
export GREY82="\033[0;38;5;252m"
export GREY85="\033[0;38;5;253m"
export GREY89="\033[0;38;5;254m"
export GREY93="\033[0;38;5;255m"
#! /usr/bin/env bash
kctx_usage() {
echo "Shortcut for changing Kubernetes contexts and namespaces"
echo ""
echo "Usage:"
echo "kctx context [namespace]"
echo ""
echo "To add to prompt:"
echo ""
echo "PROMPT_COMMAND='__kctx'"
echo "Examples:"
echo ""
echo "Change context and namespace"
echo "kctx new-context new-namespace"
echo ""
echo "Change namespace, keep context"
echo "kctx - new-namespace"
echo ""
echo "Change context, stay in same namespace"
echo "kctx new-context"
}
# Config env vars
# default blue color, "matches" the k8s logo blue
export kblue="\033[0;38;5;38m"
# Set color for prompt
export KCTX_COLOR=$HOTPINK
# Select destination for values file
export KCTX_VALS=~/.kctx-vals
kctx(){
if [ $# -ge 3 ]; then
kctx_usage
exit 0
fi
current_ctx=$(kubectl config current-context)
ns=$(kubectl config get-contexts | grep '*' | sed 's/* //' | awk '{print $4}')
if [ $# -ge 1 ]; then
if [ "$1" != "-" ]; then
new_ctx=$1
ctx=${new_ctx}
kubectl config use-context $new_ctx > /dev/null 2>&1
if [ $? != 0 ]; then
echo "ERROR: no context exists with the name: '${new_ctx}'"
kubectl config use-context ${current_ctx} > /dev/null
ctx=${current_ctx}
fi
fi
fi
if [ $# -eq 2 ]; then
ns=${2}
fi
kubectl config set-context $ctx --namespace $ns > /dev/null
echo "${ctx}:${ns}" > ${KCTX_VALS}
}
__kctx() {
if [ -z "$KCTX_COLOR" ]; then
KCTX_COLOR=${kblue}
fi
printf "[${KCTX_COLOR}$(cat ${KCTX_VALS})${COLOR_OFF}]\n"
}
PROMPT_COMMAND='__kctx'
@DerYokoya
Copy link

tysm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment