Updated bash configs
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# Go version manager
|
||||
# Step 1: Download & Extract
|
||||
# Step 2: mv ~/Downloads/go ~/go/versions/x.y.z
|
||||
# GOROOT=$HOME/go/lang
|
||||
# GOPATH=$HOME/go/path
|
||||
|
||||
platform=linux-amd64
|
||||
|
||||
function gover {
|
||||
[[ "$1" == "" ]] && go version && return
|
||||
# TODO: Check it exists
|
||||
ln -sfn $HOME/go/versions/$1 $HOME/go/lang
|
||||
}
|
||||
function _gover { __bash_directory_complete $HOME/go/versions; }
|
||||
complete -F _gover gover
|
||||
|
||||
function godl {
|
||||
wget https://dl.google.com/go/go$1.$platform.tar.gz -O /tmp/go$1.$platform.tar.gz
|
||||
mkdir /tmp/go$1
|
||||
tar -xzf /tmp/go$1.$platform.tar.gz -C /tmp/go$1
|
||||
mv /tmp/go$1/go $HOME/go/versions/$1
|
||||
rmdir /tmp/go$1
|
||||
}
|
||||
function __gover_download_list {
|
||||
curl -s https://golang.org/dl/ \
|
||||
| grep "/dl/go" \
|
||||
| cut -d '"' -f6 \
|
||||
| cut -d/ -f3 \
|
||||
| sed -n -e 's/^go\([0-9]\{1,\}\.[0-9]\{1,\}\(\.[0-9]\{1,\}\)\?\).*/\1/p' \
|
||||
| sort -Vur
|
||||
}
|
||||
function _godl {
|
||||
__bash_complete "$(__gover_download_list $1)"
|
||||
}
|
||||
complete -F _godl godl
|
||||
@@ -0,0 +1,68 @@
|
||||
#
|
||||
# MySQL CLI manager
|
||||
#
|
||||
|
||||
# Requirements: mycli, KDE Wallet, jq
|
||||
|
||||
export MYCLI_HISTFILE=$HOME/.config/mycli/history
|
||||
|
||||
# XXX: Extend this function with custom definitions!
|
||||
# Override the function (and completions) in dotfiles/secrets/myc.bash
|
||||
function myc {
|
||||
case $1 in
|
||||
e | example )
|
||||
__myc_connect test example
|
||||
;;
|
||||
* )
|
||||
echo "Usage: myc [serverid]"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# NOTE: Completions are based on function definition
|
||||
complete -W "$(type myc | grep "|" | sed "s/)//" | sed "s/^[ \t]*//" | sed "s/ | / /" | tr '\n' ' ')" myc
|
||||
|
||||
function __myc_connect {
|
||||
envname=$1
|
||||
dbname=$2
|
||||
|
||||
__window_title "MySQL: $dbname @ $envname"
|
||||
__myc_banner $envname $dbname
|
||||
|
||||
creds=$(__myc_creds "$envname-$dbname")
|
||||
[[ -z "$creds" ]] && echo "Missing credentials!" && return 1
|
||||
|
||||
host=$(echo $creds | jq -r .host)
|
||||
user=$(echo $creds | jq -r .user)
|
||||
pass=$(echo $creds | jq -r .pass)
|
||||
defaultdb=$(echo $creds | jq -r .db)
|
||||
|
||||
mycli -h $host -u $user -p $pass $defaultdb
|
||||
}
|
||||
|
||||
function __myc_creds {
|
||||
wallet=kdewallet
|
||||
folder=MySQL
|
||||
entry=$1
|
||||
|
||||
kwallet-query -f $folder -r $entry $wallet | grep -v "Failed to read entry"
|
||||
}
|
||||
|
||||
function __myc_banner {
|
||||
envname=$1
|
||||
db=$2
|
||||
echo -n "Connecting to ${_BOLD}${db}${_RESET} @ ${_BOLD}"
|
||||
case $envname in
|
||||
testing )
|
||||
echo -n $_YELLOW
|
||||
;;
|
||||
production )
|
||||
echo -n $_RED
|
||||
;;
|
||||
localhost )
|
||||
echo -n $_BLUE
|
||||
;;
|
||||
esac
|
||||
echo "${envname}${_RESET}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user