|
|
- #!/usr/bin/zsh
-
- count() {
- echo -n $1 | wc -c
- }
-
- dec() {
- echo "obase=10; ibase=16; $(echo "$1" | tr a-z A-Z)" | bc
- }
-
- hex() {
- echo "obase=16; ibase=10; $1" | bc
- }
-
- ulimit -n 5000
-
- colors() {
- color=1;
- count=0;
- space=" ";
- while [ $color -lt 256 ]; do
- if [[ $color == 10 ]]
- then
- space=" "
- fi
- if [[ $color == 100 ]]
- then
- space=" "
- fi
- echo -en "$color:$space\\033[38;5;${color}myeet\\033[48;5;${color}mworld\\033[0m"
- echo -n " "
- if [[ $count == 7 ]]
- then
- echo -en "\n";
- count=-1
- fi
- ((color++));
- ((count++))
- done
- echo ""
- }
-
-
- # TMATE Functions
-
- TMATE_PAIR_NAME="$(whoami)-pair"
- TMATE_SOCKET_LOCATION="/tmp/tmate-pair.sock"
- TMATE_TMUX_SESSION="/tmp/tmate-tmux-session"
-
- # Get current tmate connection url
- tmate-url() {
- url="$(tmate -S $TMATE_SOCKET_LOCATION display -p '#{tmate_ssh}')"
- echo "$url" | tr -d '\n' | xclip -selection clipboard
- echo "Copied tmate url for $TMATE_PAIR_NAME:"
- echo "$url"
- }
-
- # Get current tmate connection url
- tmate-url-ro() {
- url="$(tmate -S $TMATE_SOCKET_LOCATION display -p '#{tmate_ssh_ro}')"
- echo "$url" | tr -d '\n' | xclip -selection clipboard
- echo "Copied tmate url for $TMATE_PAIR_NAME:"
- echo "$url"
- }
-
-
- # Start a new tmate pair session if one doesn't already exist
- # If creating a new session, the first argument can be an existing TMUX session to connect to automatically
-
- tmate-attach() {
- if [ -n "$1" ]; then
- tmux has-session -t $1 2>/dev/null
-
- if [ $? != 0 ]; then
- echo "Tmux session not found... Creating"
- tmux new-session -d -s $1
- sleep 1
- fi
-
- echo "Attaching tmate to tmux session $1";
- echo $1 > $TMATE_TMUX_SESSION
- tmate -S "$TMATE_SOCKET_LOCATION" send -t "$TMATE_PAIR_NAME" "TMUX='' tmux attach-session -t $1; tmate-unpair" ENTER
- fi
- }
-
-
- tmate-pair() {
- if [ ! -e "$TMATE_SOCKET_LOCATION" ]; then
- tmate -k $TMATE_API_KEY -r "sharedProgramming" -S "$TMATE_SOCKET_LOCATION" -f "$HOME/.tmate.conf" new-session -d -s "$TMATE_PAIR_NAME"
-
- while [ -z "$url" ]; do
- url="$(tmate -S $TMATE_SOCKET_LOCATION display -p '#{tmate_ssh_ro}')"
- done
- echo "$url" | tr -d '\n' | xclip -selection clipboard
- echo "Copied tmate url for $TMATE_PAIR_NAME:"
- echo "$url"
- tmate -S "$TMATE_SOCKET_LOCATION" send -t "$TMATE_PAIR_NAME" "q" ENTER
- sleep 1
- tmate-attach $1
- sleep 2
- fi
- tmate -S "$TMATE_SOCKET_LOCATION" attach-session -t "$TMATE_PAIR_NAME"
- }
-
- # Close the pair because security
- tmate-unpair() {
- if [ -e "$TMATE_SOCKET_LOCATION" ]; then
- if [ -e "$TMATE_SOCKET_LOCATION" ]; then
- tmux detach -s $(cat $TMATE_TMUX_SESSION)
- rm -f $TMATE_TMUX_SESSION
- fi
-
- tmate -S "$TMATE_SOCKET_LOCATION" kill-session -t "$TMATE_PAIR_NAME"
- echo "Killed session $TMATE_PAIR_NAME"
- else
- echo "Session already killed"
- fi
- }
|