Support additional shell functions

I learned about compgen, so I made a bunch of aliases that should
help me remember its uses.

Also added a myriad of others.
This commit is contained in:
William Carroll 2019-03-06 17:00:40 +00:00
parent 43a2d0de2c
commit f9be76e678

View file

@ -108,6 +108,22 @@ kush() {
} }
# Misc # Misc
all_users() {
# Lists all of the known users in the Linux system
# Useful because when you type `~art` in a prompt and tab-complete, ZSH looks
# up all users whose names start with "art". It's also just interesting to
# have access to this information.
#
# NOTE: this is not as simple as `cat /etc/passwd` for reasons of which I'm
# not entirely sure.
getent passwd
}
test_true_color() {
# Run this to test if your terminal emulator supports True Color
curl --silent https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh | bash
}
path() { path() {
# Pretty-print the $PATH variable # Pretty-print the $PATH variable
echo "$PATH" | tr : '\n' echo "$PATH" | tr : '\n'
@ -212,6 +228,16 @@ monitor_dimensions() {
xdpyinfo | awk '/dimensions/{ print $2 }' xdpyinfo | awk '/dimensions/{ print $2 }'
} }
list_sinks() {
# Lists the available output sources (speakers?)
pacmd list-sinks | grep -e 'name:' -e 'index:'
}
list_sources() {
# List available input sources (microphones?)
pacmd list-sources | grep -e 'index:' -e device.string -e 'name:'
}
lt() { lt() {
# Convenience wrapper around `exa --tree`. # Convenience wrapper around `exa --tree`.
# Optionally accepts a number for the max-depth and a directory to list. # Optionally accepts a number for the max-depth and a directory to list.
@ -296,7 +322,43 @@ tk() {
fi fi
} }
tmux_is_running() {
# Returns zero if tmux is running
# Although this is a simple function body, it's useful to encode esoteric
# knowledge that I will easily forget.
test -n "$TMUX"
}
tmux_focused_pane() {
# Returns the ID of the focused tmux pane.
# WIP
# tmux list-panes -F '#{pane_active} #{pane_tty}' | awk /1/{ print $1 }
echo 'Not implemented'
}
# zsh # zsh
fns() {
# Outputs all available functions.
# `fns` was chosen instead of `functions`, since `functions` was already
# taken.
compgen -A function
}
aliases() {
# Outputs all available aliases.
compgen -a
}
keywords() {
# Outputs all of the shell's reserved keywords.
compgen -k
}
builtins() {
# Outputs all of the shell's builtin commands.
compgen -b
}
zle_insert_subshell() { zle_insert_subshell() {
LBUFFER+='$(' ; RBUFFER=")$RBUFFER" LBUFFER+='$(' ; RBUFFER=")$RBUFFER"
} }