Initial public release of Warp.
Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
@@ -0,0 +1 @@
|
||||
brew install tmux && tmux -Lwarp -CC && exit
|
||||
@@ -0,0 +1,29 @@
|
||||
INSTALL_TMUX='set -e
|
||||
|
||||
_on_error() {
|
||||
local _msg=$(printf "{\"hook\": \"TmuxInstallFailed\", \"value\": { \"line\": \"$1\", \"command\": \"$2\" } }" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\''\033\120\044\144%s\234'\'' "$_msg"
|
||||
rm -rf "$HOME/.warp/tmux"
|
||||
}
|
||||
trap "_on_error \"\${LINENO}\" \"\$BASH_COMMAND\"" ERR
|
||||
|
||||
mkdir -p $HOME/.warp/tmux
|
||||
pushd "$HOME/.warp/tmux"
|
||||
|
||||
ARCH=$(uname -m)
|
||||
case "$ARCH" in
|
||||
x86_64) ARCH_NAME=amd64 ;;
|
||||
amd64) ARCH_NAME=amd64 ;;
|
||||
aarch64) ARCH_NAME=arm64 ;;
|
||||
*) echo "Unsupported architecture $ARCH"; exit 1 ;;
|
||||
esac
|
||||
|
||||
URL="https://github.com/warpdotdev/portable-tmux/releases/download/tmux-3.5a/tmux-${ARCH_NAME}.tar.gz"
|
||||
|
||||
(curl -o tmux.tar.gz -L $URL || wget -O tmux.tar.gz $URL) && tar -xf tmux.tar.gz
|
||||
|
||||
INSTALL_PATH="$HOME/.warp/tmux/local"
|
||||
echo "TERM=tmux-256color LD_LIBRARY_PATH=\"$INSTALL_PATH/lib\" TERMINFO=\"$INSTALL_PATH/share/terminfo/\" \"$INSTALL_PATH/bin/tmux\" \"\$@\";" > ~/.warp/tmux/execute_tmux.sh
|
||||
chmod +x ~/.warp/tmux/execute_tmux.sh;'
|
||||
|
||||
bash <<< "$INSTALL_TMUX" && ~/.warp/tmux/execute_tmux.sh -Lwarp -CC && exit
|
||||
@@ -0,0 +1,13 @@
|
||||
INSTALL_TMUX='set -e
|
||||
|
||||
_on_error() {
|
||||
local _msg=$(printf "{\"hook\": \"TmuxInstallFailed\", \"value\": { \"line\": \"$1\", \"command\": \"$2\" } }" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\''\033\120\044\144%s\234'\'' "$_msg"
|
||||
rm -rf "$HOME/.warp/tmux"
|
||||
}
|
||||
trap "_on_error \"\${LINENO}\" \"\$BASH_COMMAND\"" ERR
|
||||
|
||||
sudo apt update -y
|
||||
sudo apt install -y tmux'
|
||||
|
||||
bash <<< "$INSTALL_TMUX" && _check_tmux && command tmux -Lwarp -CC && exit
|
||||
@@ -0,0 +1,13 @@
|
||||
INSTALL_TMUX='set -e
|
||||
|
||||
_on_error() {
|
||||
local _msg=$(printf "{\"hook\": \"TmuxInstallFailed\", \"value\": { \"line\": \"$1\", \"command\": \"$2\" } }" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\''\033\120\044\144%s\234'\'' "$_msg"
|
||||
rm -rf "$HOME/.warp/tmux"
|
||||
}
|
||||
trap "_on_error \"\${LINENO}\" \"\$BASH_COMMAND\"" ERR
|
||||
|
||||
sudo dnf update -y
|
||||
sudo dnf install -y tmux'
|
||||
|
||||
bash <<< "$INSTALL_TMUX" && _check_tmux && command tmux -Lwarp -CC && exit
|
||||
@@ -0,0 +1,13 @@
|
||||
INSTALL_TMUX='set -e
|
||||
|
||||
_on_error() {
|
||||
local _msg=$(printf "{\"hook\": \"TmuxInstallFailed\", \"value\": { \"line\": \"$1\", \"command\": \"$2\" } }" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\''\033\120\044\144%s\234'\'' "$_msg"
|
||||
rm -rf "$HOME/.warp/tmux"
|
||||
}
|
||||
trap "_on_error \"\${LINENO}\" \"\$BASH_COMMAND\"" ERR
|
||||
|
||||
sudo pacman -Syu --noconfirm
|
||||
sudo pacman -S --noconfirm tmux'
|
||||
|
||||
bash <<< "$INSTALL_TMUX" && _check_tmux && command tmux -Lwarp -CC && exit
|
||||
@@ -0,0 +1,13 @@
|
||||
INSTALL_TMUX='set -e
|
||||
|
||||
_on_error() {
|
||||
local _msg=$(printf "{\"hook\": \"TmuxInstallFailed\", \"value\": { \"line\": \"$1\", \"command\": \"$2\" } }" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\''\033\120\044\144%s\234'\'' "$_msg"
|
||||
rm -rf "$HOME/.warp/tmux"
|
||||
}
|
||||
trap "_on_error \"\${LINENO}\" \"\$BASH_COMMAND\"" ERR
|
||||
|
||||
sudo yum update -y
|
||||
sudo yum install -y tmux'
|
||||
|
||||
bash <<< "$INSTALL_TMUX" && _check_tmux && command tmux -Lwarp -CC && exit
|
||||
@@ -0,0 +1,13 @@
|
||||
INSTALL_TMUX='set -e
|
||||
|
||||
_on_error() {
|
||||
local _msg=$(printf "{\"hook\": \"TmuxInstallFailed\", \"value\": { \"line\": \"$1\", \"command\": \"$2\" } }" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\''\033\120\044\144%s\234'\'' "$_msg"
|
||||
rm -rf "$HOME/.warp/tmux"
|
||||
}
|
||||
trap "_on_error \"\${LINENO}\" \"\$BASH_COMMAND\"" ERR
|
||||
|
||||
sudo zypper refresh
|
||||
sudo zypper install -y tmux'
|
||||
|
||||
bash <<< "$INSTALL_TMUX" && _check_tmux && command tmux -Lwarp -CC && exit
|
||||
@@ -0,0 +1,68 @@
|
||||
_find() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_log() {
|
||||
_msg=$(printf "{\"hook\": \"$1\", \"value\": $2}" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\033\120\044\144%s\234' "$_msg"
|
||||
}
|
||||
|
||||
_err() {
|
||||
_log RemoteWarpificationIsUnavailable "$1"
|
||||
}
|
||||
|
||||
_system_details() {
|
||||
OS=$(uname)
|
||||
if [ "$OS" = "Darwin" ]; then
|
||||
if _find brew; then
|
||||
PKG="homebrew"
|
||||
fi
|
||||
elif [ "$OS" = "Linux" ]; then
|
||||
if _find pacman; then
|
||||
PKG="pacman"
|
||||
elif _find zypper; then
|
||||
PKG="zypper"
|
||||
elif _find dnf; then
|
||||
PKG="dnf"
|
||||
elif _find yum && _find yumdownloader; then
|
||||
PKG="yum"
|
||||
elif _find apt; then
|
||||
PKG="apt"
|
||||
fi
|
||||
fi
|
||||
RA="no_root_access"
|
||||
if command -v sudo >/dev/null && { sudo -vn && sudo -ln; } 2>&1 | grep -E 'may run|a password' > /dev/null; then RA="can_run_sudo"
|
||||
elif [ "$(id -u)" -eq 0 ] && [ "$(whoami)" = "root" ]; then RA="is_root"
|
||||
fi
|
||||
|
||||
WH=$( [ -w ~ ] && echo true || echo false )
|
||||
|
||||
printf '%s' "{\"os\": \"$OS\", \"pkg\": \"$PKG\", \"shell\": \"$(basename $SHELL)\", \"root_access\": \"$RA\", \"writable_home\": $WH}"
|
||||
}
|
||||
|
||||
# _check_tmux is used in tmux install script post install!
|
||||
_check_tmux() {
|
||||
if _find $HOME/.warp/tmux/execute_tmux.sh; then
|
||||
_log SshTmuxInstaller "\"warp\""
|
||||
TMUX="$HOME/.warp/tmux/execute_tmux.sh"
|
||||
elif _find tmux; then
|
||||
TMUX="tmux"
|
||||
_log SshTmuxInstaller "\"user\""
|
||||
fi
|
||||
|
||||
if [ $TMUX ]; then
|
||||
VER=$(command $TMUX -V 2>/dev/null | awk '{print $2}')
|
||||
if [ -z "$VER" ]; then
|
||||
_err "\"TmuxFailed\""
|
||||
elif [ "$(printf '%s\n' "$VER" "2.9" | sort -V | tail -n1)" = "2.9" ]; then
|
||||
_err "{\"UnsupportedTmuxVersion\": $(_system_details)}"
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
else
|
||||
_err "{\"TmuxNotInstalled\": $(_system_details)}"
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
_check_tmux && command $TMUX -Lwarp -CC && exit
|
||||
@@ -0,0 +1,49 @@
|
||||
_find() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_log() {
|
||||
_msg=$(printf "{\"hook\": \"$1\", \"value\": $2}" | command -p od -An -v -tx1 | command -p tr -d " \n")
|
||||
printf '\033\120\044\144%s\234' "$_msg"
|
||||
}
|
||||
|
||||
_err() {
|
||||
_log RemoteWarpificationIsUnavailable "$1"
|
||||
}
|
||||
|
||||
_sd() {
|
||||
if _find brew; then
|
||||
PKG="homebrew"
|
||||
fi
|
||||
|
||||
WH=$( [ -w ~ ] && echo true || echo false )
|
||||
|
||||
printf '{"os": "Darwin", "pkg": "%s", "shell": "%s", "root_access": "no_root_access", "writable_home": %s}' "$PKG" "$(basename $SHELL)" $WH
|
||||
}
|
||||
|
||||
# _check_tmux is used in tmux install script post install!
|
||||
_check_tmux() {
|
||||
TMUX="$HOME/.warp/tmux/execute_tmux.sh"
|
||||
if _find "$TMUX"; then
|
||||
_log SshTmuxInstaller "\"warp\""
|
||||
elif _find tmux; then
|
||||
TMUX="tmux"
|
||||
_log SshTmuxInstaller "\"user\""
|
||||
fi
|
||||
|
||||
if [ $TMUX ]; then
|
||||
VER=$($TMUX -V 2>/dev/null | awk '{print $2}')
|
||||
if [ -z "$VER" ]; then
|
||||
_err "\"TmuxFailed\""
|
||||
elif [ "$(printf '%s\n' "$VER" "2.9" | sort -V | tail -n1)" = "2.9" ]; then
|
||||
_err "{\"UnsupportedTmuxVersion\": $(_sd)}"
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
else
|
||||
_err "{\"TmuxNotInstalled\": $(_sd)}"
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
_check_tmux && $TMUX -Lwarp -CC && exit
|
||||
Reference in New Issue
Block a user