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'
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,12 +23,12 @@ 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
@@ -46,42 +39,44 @@ function dock-switch() {
example '$ dock-switch 2d'
group 'osx'
if [[ "$OSTYPE" = 'darwin'* ]]; then
if [[ $1 = 3d ]] ; then
case $OSTYPE in
*'darwin'*)
case $1 in
3d)
defaults write com.apple.dock no-glass -boolean NO
killall Dock
elif [[ $1 = 2d ]] ; then
;;
2d)
defaults write com.apple.dock no-glass -boolean YES
killall Dock
else
;;
*)
echo "usage:"
echo "dock-switch 2d"
echo "dock-switch 3d."
fi
else
;;
esac
;;
*)
echo "Sorry, this only works on Mac OS X"
fi
;;
esac
}
function pman ()
{
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
man -t "${1}" | open -fa 'Preview'
}
function pri ()
{
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
ri -T "${1}" | open -fa 'Preview'
}
# Download a file and open it in Preview
@@ -90,12 +85,11 @@ function prevcurl() {
param '1: url'
group 'osx'
if [[ ! $OSTYPE = 'darwin'* ]]
then
if [[ ! $OSTYPE = 'darwin'* ]]; then
echo "This function only works with Mac OS X"
return 1
fi
curl "$*" | open -fa $PREVIEW
curl "$*" | open -fa 'Preview'
}
function refresh-launchpad() {
@@ -103,7 +97,7 @@ function refresh-launchpad() {
example '$ refresh-launchpad'
group 'osx'
if [[ "$OSTYPE" = 'darwin'* ]];then
if [[ "$OSTYPE" = 'darwin'* ]]; then
defaults write com.apple.dock ResetLaunchPad -bool TRUE
killall Dock
else
@@ -111,41 +105,41 @@ function refresh-launchpad() {
fi
}
function list-jvms(){
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}) )
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
for ((i = 0; i < ${#JVMS[@]}; i++)); do
if [[ -f "${JVMS[i]}/Contents/Info.plist" ]]; then
JVMS_STATES[i]=enabled
else
JVMS_STATES[${i}]=disabled
JVMS_STATES[i]=disabled
fi
echo "${i} ${JVMS[$i]} ${JVMS_STATES[$i]}"
printf '%s\t%s\t%s\n' "${i}" "${JVMS[i]##*/}" "${JVMS_STATES[i]}"
done
}
function pick-default-jvm(){
function pick-default-jvm() {
about 'Pick the default Java Virtual Machines in system-wide scope in macOS'
example 'pick-default-jvm'
# Declare variables
local JVMS JVMS_STATES
local DEFAULT_JVM_DIR DEFAULT_JVM OPTION
# Call function for listing
list-jvms
# Declare variables
local DEFAULT_JVM_DIR=""
local DEFAULT_JVM=""
local OPTION=""
# OPTION for default jdk and set variables
while [[ ! "$OPTION" =~ ^[0-9]+$ || OPTION -ge "${#JVMS[@]}" ]]; do
read -p "Enter Default JVM: " OPTION
read -rp "Enter Default JVM: " OPTION
if [[ ! "$OPTION" =~ ^[0-9]+$ ]]; then
echo "Please enter a number"
fi
@@ -155,22 +149,19 @@ function pick-default-jvm(){
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"
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"
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'