mirror of
				https://github.com/tmux-plugins/tpm.git
				synced 2025-11-04 08:36:05 +00:00 
			
		
		
		
	@@ -8,7 +8,10 @@
 | 
			
		||||
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | 
			
		||||
SCRIPTS_DIR="$CURRENT_DIR/../scripts"
 | 
			
		||||
 | 
			
		||||
source "$SCRIPTS_DIR/helpers/tpm_path.sh"
 | 
			
		||||
 | 
			
		||||
main() {
 | 
			
		||||
	set_tpm_path
 | 
			
		||||
	"$SCRIPTS_DIR/install_plugins.sh" # has correct exit code
 | 
			
		||||
}
 | 
			
		||||
main
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								scripts/helpers/tpm_path.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								scripts/helpers/tpm_path.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | 
			
		||||
 | 
			
		||||
source "$CURRENT_DIR/../variables.sh"
 | 
			
		||||
 | 
			
		||||
tpm_path_set() {
 | 
			
		||||
	tmux show-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" >/dev/null 2>&1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Check if configuration file exists at an XDG-compatible location, if so use
 | 
			
		||||
# that directory for TMUX_PLUGIN_MANAGER_PATH. Otherwise use $DEFAULT_TPM_PATH.
 | 
			
		||||
set_default_tpm_path() {
 | 
			
		||||
	local xdg_tmux_path="${XDG_CONFIG_HOME:-$HOME/.config}/tmux"
 | 
			
		||||
	local tpm_path="$DEFAULT_TPM_PATH"
 | 
			
		||||
 | 
			
		||||
	if [ -f "$xdg_tmux_path/tmux.conf" ]; then
 | 
			
		||||
		tpm_path="$xdg_tmux_path/plugins/"
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	tmux set-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" "$tpm_path"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Ensures TMUX_PLUGIN_MANAGER_PATH global env variable is set.
 | 
			
		||||
#
 | 
			
		||||
# Put this in `.tmux.conf` to override the default:
 | 
			
		||||
# `set-environment -g TMUX_PLUGIN_MANAGER_PATH "/some/other/path/"`
 | 
			
		||||
set_tpm_path() {
 | 
			
		||||
	if ! tpm_path_set; then
 | 
			
		||||
		set_default_tpm_path
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29
									
								
								tpm
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								tpm
									
									
									
									
									
								
							@@ -4,7 +4,7 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | 
			
		||||
BINDINGS_DIR="$CURRENT_DIR/bindings"
 | 
			
		||||
SCRIPTS_DIR="$CURRENT_DIR/scripts"
 | 
			
		||||
 | 
			
		||||
source "$SCRIPTS_DIR/variables.sh"
 | 
			
		||||
source "$SCRIPTS_DIR/helpers/tpm_path.sh"
 | 
			
		||||
 | 
			
		||||
get_tmux_option() {
 | 
			
		||||
	local option="$1"
 | 
			
		||||
@@ -17,33 +17,6 @@ get_tmux_option() {
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tpm_path_set() {
 | 
			
		||||
	tmux show-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" >/dev/null 2>&1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Check if configuration file exists at an XDG-compatible location, if so use
 | 
			
		||||
# that directory for TMUX_PLUGIN_MANAGER_PATH. Otherwise use $DEFAULT_TPM_PATH.
 | 
			
		||||
set_default_tpm_path() {
 | 
			
		||||
	local xdg_tmux_path="${XDG_CONFIG_HOME:-$HOME/.config}/tmux"
 | 
			
		||||
	local tpm_path="$DEFAULT_TPM_PATH"
 | 
			
		||||
 | 
			
		||||
	if [ -f "$xdg_tmux_path/tmux.conf" ]; then
 | 
			
		||||
		tpm_path="$xdg_tmux_path/plugins/"
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	tmux set-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" "$tpm_path"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Ensures TMUX_PLUGIN_MANAGER_PATH global env variable is set.
 | 
			
		||||
#
 | 
			
		||||
# Put this in `.tmux.conf` to override the default:
 | 
			
		||||
# `set-environment -g TMUX_PLUGIN_MANAGER_PATH "/some/other/path/"`
 | 
			
		||||
set_tpm_path() {
 | 
			
		||||
	if ! tpm_path_set; then
 | 
			
		||||
		set_default_tpm_path
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# 1. Fetches plugin names from `@plugin` variables
 | 
			
		||||
# 2. Creates full plugin path
 | 
			
		||||
# 3. Sources all *.tmux files from each of the plugin directories
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user