summaryrefslogtreecommitdiff
path: root/dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh
diff options
context:
space:
mode:
authorElizabeth <me@liz.coffee>2025-06-02 13:11:10 -0700
committerElizabeth <me@liz.coffee>2025-06-02 13:11:10 -0700
commitd098e94ad102da9d018acca72ca5a5c554d25a01 (patch)
treed6d23ee63ad5a1aa4017a605d9e09e75de2c5f49 /dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh
parentede675866355d34ac9fdc1b8e047576f574bdfa2 (diff)
downloaddotfiles-d098e94ad102da9d018acca72ca5a5c554d25a01.tar.gz
dotfiles-d098e94ad102da9d018acca72ca5a5c554d25a01.zip
Update paths n stuff
Diffstat (limited to 'dots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh')
-rwxr-xr-xdots/tmux/.tmux/plugins/tpm/scripts/source_plugins.sh42
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