diff options
author | Elizabeth <me@liz.coffee> | 2025-06-02 13:11:10 -0700 |
---|---|---|
committer | Elizabeth <me@liz.coffee> | 2025-06-02 13:11:10 -0700 |
commit | d098e94ad102da9d018acca72ca5a5c554d25a01 (patch) | |
tree | d6d23ee63ad5a1aa4017a605d9e09e75de2c5f49 /dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh | |
parent | ede675866355d34ac9fdc1b8e047576f574bdfa2 (diff) | |
download | dotfiles-d098e94ad102da9d018acca72ca5a5c554d25a01.tar.gz dotfiles-d098e94ad102da9d018acca72ca5a5c554d25a01.zip |
Update paths n stuff
Diffstat (limited to 'dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh')
-rwxr-xr-x | dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh b/dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh new file mode 100755 index 0000000..6381d54 --- /dev/null +++ b/dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +HELPERS_DIR="$CURRENT_DIR/helpers" + +source "$HELPERS_DIR/plugin_functions.sh" + +plugin_dir_exists() { + [ -d "$1" ] +} + +# Runs all *.tmux files from the plugin directory. +# Files are ran as executables. +# No errors if the plugin dir does not exist. +silently_source_all_tmux_files() { + local plugin_path="$1" + local plugin_tmux_files="$plugin_path*.tmux" + if plugin_dir_exists "$plugin_path"; then + for tmux_file in $plugin_tmux_files; do + # if the glob didn't find any files this will be the + # unexpanded glob which obviously doesn't exist + [ -f "$tmux_file" ] || continue + # runs *.tmux file as an executable + $tmux_file >/dev/null 2>&1 + done + fi +} + +source_plugins() { + local plugin plugin_path + local plugins="$(tpm_plugins_list_helper)" + for plugin in $plugins; do + IFS='#' read -ra plugin <<< "$plugin" + plugin_path="$(plugin_path_helper "${plugin[0]}")" + silently_source_all_tmux_files "$plugin_path" + done +} + +main() { + source_plugins +} +main |