plugin/osx: shellcheck && shfmt

plugins/osx: dead code removal

No need for gymnastics to determine if variable had been exported priort to modification. If it was, then it still is. See man bash(1).
This commit is contained in:
John D Pell
2021-08-12 12:13:58 -07:00
parent 4abafc55ef
commit 75aabd5d20
2 changed files with 112 additions and 120 deletions

View File

@@ -103,6 +103,7 @@ plugins/available/jump.plugin.bash
plugins/available/less-pretty-cat.plugin.bash
plugins/available/node.plugin.bash
plugins/available/nodenv.plugin.bash
plugins/available/osx.plugin.bash
plugins/available/percol.plugin.bash
plugins/available/plenv.plugin.bash
plugins/available/pyenv.plugin.bash

View File

@@ -1,23 +1,16 @@
cite about-plugin
# shellcheck shell=bash
about-plugin 'osx-specific functions'
# OS X: Open new tabs in same directory
if [[ $OSTYPE == 'darwin'* ]]; then
if type update_terminal_cwd > /dev/null 2>&1 ; then
if ! [[ $PROMPT_COMMAND =~ (^|;)update_terminal_cwd($|;) ]] ; then
PROMPT_COMMAND="${PROMPT_COMMAND%;};update_terminal_cwd"
declared="$(declare -p PROMPT_COMMAND)"
[[ "$declared" =~ \ -[aAilrtu]*x[aAilrtu]*\ ]] 2>/dev/null
[[ $? -eq 0 ]] && export PROMPT_COMMAND
fi
fi
if _is_function update_terminal_cwd; then
safe_append_prompt_command 'update_terminal_cwd'
fi
function tab() {
about 'opens a new terminal tab'
group 'osx'
about 'opens a new terminal tab'
group 'osx'
osascript 2>/dev/null <<EOF
osascript 2> /dev/null << EOF
tell application "System Events"
tell process "Terminal" to keystroke "t" using command down
end
@@ -30,147 +23,145 @@ EOF
# renames the current os x terminal tab title
function tabname {
printf "\e]1;$1\a"
printf '%b' "\e]1;$1\a"
}
# renames the current os x terminal window title
function winname {
printf "\e]2;$1\a"
printf '%b' "\e]2;$1\a"
}
# this one switches your os x dock between 2d and 3d
# thanks to savier.zwetschge.org
function dock-switch() {
about 'switch dock between 2d and 3d'
param '1: "2d" or "3d"'
example '$ dock-switch 2d'
group 'osx'
about 'switch dock between 2d and 3d'
param '1: "2d" or "3d"'
example '$ dock-switch 2d'
group 'osx'
if [[ "$OSTYPE" = 'darwin'* ]]; then
if [[ $1 = 3d ]] ; then
defaults write com.apple.dock no-glass -boolean NO
killall Dock
elif [[ $1 = 2d ]] ; then
defaults write com.apple.dock no-glass -boolean YES
killall Dock
else
echo "usage:"
echo "dock-switch 2d"
echo "dock-switch 3d."
fi
else
echo "Sorry, this only works on Mac OS X"
fi
case $OSTYPE in
*'darwin'*)
case $1 in
3d)
defaults write com.apple.dock no-glass -boolean NO
killall Dock
;;
2d)
defaults write com.apple.dock no-glass -boolean YES
killall Dock
;;
*)
echo "usage:"
echo "dock-switch 2d"
echo "dock-switch 3d."
;;
esac
;;
*)
echo "Sorry, this only works on Mac OS X"
;;
esac
}
function pman ()
{
about 'view man documentation in Preview'
param '1: man page to view'
example '$ pman bash'
group 'osx'
man -t "${1}" | open -fa $PREVIEW
function pman() {
about 'view man documentation in Preview'
param '1: man page to view'
example '$ pman bash'
group 'osx'
man -t "${1}" | open -fa 'Preview'
}
function pri ()
{
about 'display information about Ruby classes, modules, or methods, in Preview'
param '1: Ruby method, module, or class'
example '$ pri Array'
group 'osx'
ri -T "${1}" | open -fa $PREVIEW
function pri() {
about 'display information about Ruby classes, modules, or methods, in Preview'
param '1: Ruby method, module, or class'
example '$ pri Array'
group 'osx'
ri -T "${1}" | open -fa 'Preview'
}
# Download a file and open it in Preview
function prevcurl() {
about 'download a file and open it in Preview'
param '1: url'
group 'osx'
about 'download a file and open it in Preview'
param '1: url'
group 'osx'
if [[ ! $OSTYPE = 'darwin'* ]]
then
echo "This function only works with Mac OS X"
return 1
fi
curl "$*" | open -fa $PREVIEW
if [[ ! $OSTYPE = 'darwin'* ]]; then
echo "This function only works with Mac OS X"
return 1
fi
curl "$*" | open -fa 'Preview'
}
function refresh-launchpad() {
about 'Reset launchpad layout in macOS'
example '$ refresh-launchpad'
group 'osx'
about 'Reset launchpad layout in macOS'
example '$ refresh-launchpad'
group 'osx'
if [[ "$OSTYPE" = 'darwin'* ]];then
defaults write com.apple.dock ResetLaunchPad -bool TRUE
killall Dock
else
echo "Sorry, this only works on Mac OS X"
fi
if [[ "$OSTYPE" = 'darwin'* ]]; then
defaults write com.apple.dock ResetLaunchPad -bool TRUE
killall Dock
else
echo "Sorry, this only works on Mac OS X"
fi
}
function list-jvms(){
about 'List java virtual machines and their states in macOS'
example 'list-jvms'
group 'osx'
function list-jvms() {
about 'List java virtual machines and their states in macOS'
example 'list-jvms'
group 'osx'
JVMS_DIR="/Library/Java/JavaVirtualMachines"
JVMS=( $(ls ${JVMS_DIR}) )
JVMS_STATES=()
local JVMS_DIR="/Library/Java/JavaVirtualMachines"
# The following variables are intended to impact the enclosing scope, not local.
JVMS=("${JVMS_DIR}"/*)
JVMS_STATES=()
# Map state of JVM
for (( i = 0; i < ${#JVMS[@]}; i++ )); do
if [[ -f "${JVMS_DIR}/${JVMS[$i]}/Contents/Info.plist" ]]; then
JVMS_STATES[${i}]=enabled
else
JVMS_STATES[${i}]=disabled
fi
echo "${i} ${JVMS[$i]} ${JVMS_STATES[$i]}"
done
# Map state of JVM
for ((i = 0; i < ${#JVMS[@]}; i++)); do
if [[ -f "${JVMS[i]}/Contents/Info.plist" ]]; then
JVMS_STATES[i]=enabled
else
JVMS_STATES[i]=disabled
fi
printf '%s\t%s\t%s\n' "${i}" "${JVMS[i]##*/}" "${JVMS_STATES[i]}"
done
}
function pick-default-jvm(){
about 'Pick the default Java Virtual Machines in system-wide scope in macOS'
example 'pick-default-jvm'
function pick-default-jvm() {
about 'Pick the default Java Virtual Machines in system-wide scope in macOS'
example 'pick-default-jvm'
# Call function for listing
list-jvms
# Declare variables
local JVMS JVMS_STATES
local DEFAULT_JVM_DIR DEFAULT_JVM OPTION
# Declare variables
local DEFAULT_JVM_DIR=""
local DEFAULT_JVM=""
local OPTION=""
# Call function for listing
list-jvms
# OPTION for default jdk and set variables
while [[ ! "$OPTION" =~ ^[0-9]+$ || OPTION -ge "${#JVMS[@]}" ]]; do
read -p "Enter Default JVM: " OPTION
if [[ ! "$OPTION" =~ ^[0-9]+$ ]]; then
echo "Please enter a number"
fi
# OPTION for default jdk and set variables
while [[ ! "$OPTION" =~ ^[0-9]+$ || OPTION -ge "${#JVMS[@]}" ]]; do
read -rp "Enter Default JVM: " OPTION
if [[ ! "$OPTION" =~ ^[0-9]+$ ]]; then
echo "Please enter a number"
fi
if [[ OPTION -ge "${#JVMS[@]}" ]]; then
echo "Please select one of the displayed JVMs"
fi
done
if [[ OPTION -ge "${#JVMS[@]}" ]]; then
echo "Please select one of the displayed JVMs"
fi
done
DEFAULT_JVM_DIR="${JVMS_DIR}/${JVMS[$OPTION]}"
DEFAULT_JVM="${JVMS[$OPTION]}"
DEFAULT_JVM_DIR="${JVMS[OPTION]}"
DEFAULT_JVM="${JVMS[OPTION]##*/}"
# Disable all jdk
for (( i = 0; i < ${#JVMS[@]}; i++ )); do
if [[ -f "${JVMS_DIR}/${JVMS[$i]}/Contents/Info.plist" ]]; then
sudo mv "${JVMS_DIR}/${JVMS[$i]}/Contents/Info.plist" "${JVMS_DIR}/${JVMS[$i]}/Contents/Info.plist.disable"
fi
done
# Disable all jdk
for ((i = 0; i < ${#JVMS[@]}; i++)); do
if [[ "${JVMS[i]}" != "${DEFAULT_JVM_DIR}" && -f "${JVMS[i]}/Contents/Info.plist" ]]; then
sudo mv "${JVMS[i]}/Contents/Info.plist" "${JVMS[i]}/Contents/Info.plist.disable"
fi
done
# Enable default jdk
if [[ -f "${DEFAULT_JVM_DIR}/Contents/Info.plist.disable" ]]; then
sudo mv "${DEFAULT_JVM_DIR}/Contents/Info.plist.disable" "${DEFAULT_JVM_DIR}/Contents/Info.plist"
echo "Enabled ${DEFAULT_JVM} as default JVM"
fi
# Enable default jdk
if [[ -f "${DEFAULT_JVM_DIR}/Contents/Info.plist.disable" ]]; then
sudo mv -vn "${DEFAULT_JVM_DIR}/Contents/Info.plist.disable" "${DEFAULT_JVM_DIR}/Contents/Info.plist" \
&& echo "Enabled ${DEFAULT_JVM} as default JVM"
fi
}
# Make this backwards compatible
alias pcurl='prevcurl'