diff --git a/etc/bash_completion.d/miaou-bash.complete b/etc/bash_completion.d/miaou-bash.complete new file mode 100644 index 0000000..8db18c9 --- /dev/null +++ b/etc/bash_completion.d/miaou-bash.complete @@ -0,0 +1,14 @@ +function _miaou_bash { + local cur="${COMP_WORDS[COMP_CWORD]}" + if ((COMP_CWORD == 1)); then + if [[ $cur =~ ^- ]]; then + compopt -o nospace + mapfile -t COMPREPLY < <(compgen -W "--self-upgrade --version --help --uninstall" -- "$cur") + else + compopt -o filenames + mapfile -t COMPREPLY < <(compgen -f -- "$cur") + fi + fi +} + +complete -F _miaou_bash "miaou-bash" diff --git a/lib/initiate.bash b/lib/initiate.bash index af99f07..2c673f6 100644 --- a/lib/initiate.bash +++ b/lib/initiate.bash @@ -129,6 +129,7 @@ function link_config_files { fi link_etc profile.d/20-miaou-bash.sh link_etc bash.bashrc + link_etc bash_completion.d/miaou-bash.complete link_etc inputrc # last command required to detect successful installation } @@ -226,6 +227,12 @@ function apply_mode { fi } +function reload { + [[ $- == *i* ]] && bind -f /etc/inputrc >/dev/null + # shellcheck source=/dev/null + source /etc/bash.bashrc +} + # MAIN source "$MIAOU_BASH_DIR"/lib/functions.bash @@ -239,7 +246,7 @@ ghostty_global_config link_config_files link_miaou_bash create_sudoers - fetch_mode apply_mode launch_hooks +reload diff --git a/lib/uninstall.bash b/lib/uninstall.bash index 1689ebb..73f2291 100644 --- a/lib/uninstall.bash +++ b/lib/uninstall.bash @@ -26,6 +26,7 @@ function uninstall { sudo rm -f /usr/bin/miaou-bash sudo rm -f /etc/sudoers.d/miaou-bash sudo rm -rf /var/lib/miaou-bash + sudo rm -r /etc/bash_completion.d/miaou-bash.complete sudo rm -rf /opt/miaou-bash cat <