Files
dotfiles/shared/completions
Eric Turner 679e3407e4 feat: add shared shell utilities
- Add common aliases, exports, and functions
- Add shell completions and prompt configuration
- Add sync utilities for cross-shell compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 20:21:58 -06:00

83 lines
2.0 KiB
Plaintext

# Shared Completion Functions
# Compatible with both bash and zsh
# Custom completion for 'ta' command
_ta_complete() {
local cur prev actions layers tf_cmds ansible_cmds
# Get current word and previous word based on shell
if [[ -n "$ZSH_VERSION" ]]; then
# Zsh completion
cur="${words[CURRENT]}"
prev="${words[CURRENT-1]}"
local comp_word=$CURRENT
else
# Bash completion
local cur prev
_get_comp_words_by_ref cur prev
local comp_word=$COMP_CWORD
fi
actions="terraform ansible install remove"
layers="foundation showcase"
tf_cmds="init plan apply refresh destroy"
ansible_cmds="" # Add Ansible-specific commands here if needed
case $comp_word in
1)
if [[ -n "$ZSH_VERSION" ]]; then
compadd $actions
else
COMPREPLY=( $(compgen -W "$actions" -- "$cur") )
fi
;;
2)
if [[ "$prev" == "terraform" || "$prev" == "ansible" ]]; then
if [[ -n "$ZSH_VERSION" ]]; then
compadd $layers
else
COMPREPLY=( $(compgen -W "$layers" -- "$cur") )
fi
fi
;;
3)
if [[ -n "$ZSH_VERSION" ]]; then
local first_word="${words[2]}"
else
local first_word="${COMP_WORDS[1]}"
fi
if [[ "$first_word" == "terraform" ]]; then
if [[ -n "$ZSH_VERSION" ]]; then
compadd $tf_cmds
else
COMPREPLY=( $(compgen -W "$tf_cmds" -- "$cur") )
fi
elif [[ "$first_word" == "ansible" ]]; then
if [[ -n "$ZSH_VERSION" ]]; then
compadd $ansible_cmds
else
COMPREPLY=( $(compgen -W "$ansible_cmds" -- "$cur") )
fi
fi
;;
*)
# Fallback to file completions
if [[ -n "$ZSH_VERSION" ]]; then
_files
else
COMPREPLY=( $(compgen -f -- "$cur") )
fi
;;
esac
return 0
}
# Register completion based on shell
if [[ -n "$ZSH_VERSION" ]]; then
# Zsh completion registration
compdef _ta_complete ta
else
# Bash completion registration
complete -F _ta_complete ta
fi