#!/usr/bin/env bash ##makedesc: Install Sublime Text set -eo pipefail installed() { command -v "$1" >/dev/null 2>&1; } download() { if installed wget; then wget -q --show-progress "$1" -O "$2" else curl -fsSL "$1" -o "$2" fi } install() { if [ "$(uname -s)" = "Darwin" ]; then if installed brew; then brew install --cask sublime-text else echo "ERROR: Install Homebrew first." >&2 exit 1 fi return fi echo echo "===============================================" echo "Installing Sublime Text" echo "===============================================" echo # https://www.sublimetext.com/download STVER='4200' mkdir -p "$HOME/install" DEB_PATH="$HOME/install/sublime-text_build-${STVER}_amd64.deb" BIN_PATH="/opt/sublime_text/sublime_text" if [[ ! -f "$DEB_PATH" ]]; then download "https://download.sublimetext.com/sublime-text_build-${STVER}_amd64.deb" "$DEB_PATH" fi sudo dpkg -i "$DEB_PATH" sudo cp -f "$BIN_PATH" "$BIN_PATH.old" if [[ $STVER = 4169 ]]; then echo "00489f39: c640 0501 4885 c9" | sudo xxd -r - "$BIN_PATH" elif [[ $STVER = 4200 ]]; then sudo sed -i 's#\x0F\xB6\x51\x05\x83\xF2\x01#\xC6\x41\x05\x01\xB2\x00\x90#' "$BIN_PATH" else sudo sed -i 's#\x80\x79\x05\x00\x0F\x94\xC2#\xC6\x41\x05\x01\xB2\x00\x90#' "$BIN_PATH" fi echo echo "Finish!" $BIN_PATH --version echo } remove() { if [ "$(uname -s)" = "Darwin" ]; then if installed brew; then brew uninstall --cask sublime-text fi return fi echo echo "===============================================" echo "Removing Sublime Text" echo "===============================================" echo sudo dpkg -r sublime-text 2>/dev/null || true sudo rm -rf /opt/sublime_text echo echo "Finish!" echo } case "$1" in r|remove|d|delete|p|purge) remove ;; *) install ;; esac