install.fairie/.local/share/bash-completion/completions/gh.bash
Brian Zalewski e0842d80ea Update .local/bin/chrome-profile-export, .local/bin/firefox-profile-export, .local/bin/firefox-profile-import, .local/bin/install-dotfiles, .local/bin/install-rofi-theme, .local/bin/install-terminal-theme, .local/bin/ksetwallpaper, .local/bin/logg, .local/bin/opener, .local/bin/provision, .local/bin/quickstart, .local/bin/ramqube, .local/bin/run, .local/bin/squash-symlink, .local/delta/themes.gitconfig, .local/konsole/Default.profile, .local/share/bash-completion/completions/deno.bash, .local/share/bash-completion/completions/direnv.bash, .local/share/bash-completion/completions/fig.bash, .local/share/bash-completion/completions/fzf-key-bindings.bash, .local/share/bash-completion/completions/fzf.bash, .local/share/bash-completion/completions/gcloud.bash, .local/share/bash-completion/completions/gh.bash, .local/share/bash-completion/completions/googler.bash, .local/share/bash-completion/completions/gradle.bash, .local/share/bash-completion/completions/helm.bash, .local/share/bash-completion/completions/hyperfine.bash, .local/share/bash-completion/completions/kubectl.bash, .local/share/bash-completion/completions/mcfly.bash, .local/share/bash-completion/completions/nb.bash, .local/share/bash-completion/completions/nnn.bash, .local/share/bash-completion/completions/poetry.bash, .local/share/bash-completion/completions/volta.bash, .local/share/bash-completion/completions/wp.bash, .local/share/bash-completion/completions/zoxide.bash, .local/share/bash-completion/generate.sh, .local/share/chezmoi/home/.chezmoiscripts/archlinux/run_onchange_before_10_install-archlinux-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/centos/run_onchange_before_10-install-centos-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_after_10_configure-macos.tmpl, .local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_after_20-ensure-zsh-macos.tmpl, .local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_before_10_install-darwin-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/debian/run_onchange_before_10-install-debian-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/fedora/run_onchange_before_10-install-fedora-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/freebsd/run_onchange_before_11-install-freebsd-packages.tmpl, .local/share/chezmoi/home/.chezmoiscripts/opensuse/run_onchange_before_11-install-opensuse-software.tmpl, .local/share/chezmoi/home/.chezmoiscripts/ubuntu/run_onchange_before_10_install-ubuntu-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_once_before_decrypt-age-key.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_10_install-aqua-packages.sh.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_15_install-asdf-packages.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_50-crontab.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_60-cleanup.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_80-bash-completions.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_99_bootstrap-z4h.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_5-install-homebrew.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_8-install-zx.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_90-install-packages.tmpl, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_91-configure-gpg.tmpl, .local/share/chezmoi/home/.chezmoiscripts/windows/run_onchange_before_10-install-windows-dependencies.tmpl, .local/share/chezmoi/home/.chezmoiscripts/windows/run_onchange_before_11-install-windows-packages.tmpl, .local/share/chezmoi/home/.chezmoitemplates/darwin/Brewfile, .local/share/chezmoi/home/.chezmoitemplates/universal/essential-packages, .local/share/chezmoi/home/.chezmoitemplates/universal/logg, .local/share/chezmoi/home/.chezmoitemplates/universal/logg-compat, .local/share/chezmoi/home/.chezmoitemplates/universal/profile, .local/share/chezmoi/home/AppData/Local/clink/oh-my-posh.lua, .local/share/chezmoi/home/Library/Application Support/tabby/plugins/package-lock.json, .local/share/chezmoi/home/Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Dark.dvtcolortheme, .local/share/chezmoi/home/Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Light.dvtcolortheme, .local/share/chezmoi/home/Library/Preferences/com.apple.Terminal.plist, .local/share/chezmoi/home/Library/VirtualBox/VirtualBox.xml, .local/share/chezmoi/home/dot_VirtualBox/VirtualBox.xml, .local/share/chezmoi/home/dot_cache/readonly_rclone/.gitkeep, .local/share/chezmoi/home/dot_cache/zsh/.gitkeep, .local/share/chezmoi/home/dot_gnupg/public/apt.hashicorp.sig, .local/share/chezmoi/home/dot_gnupg/public/linux.wazuh.sig, .local/share/chezmoi/home/dot_gnupg/public/qubes.uman.sig, .local/share/chezmoi/home/dot_local/.config/symlink_taskfiles, .local/share/chezmoi/home/dot_local/assets/Betelgeuse.macOS.terminal, .local/share/chezmoi/home/dot_local/bin/executable_bwc, .local/share/chezmoi/home/dot_local/bin/executable_chrome-profile-export, .local/share/chezmoi/home/dot_local/bin/executable_chrome-profile-import, .local/share/chezmoi/home/dot_local/bin/executable_firefox-profile-export, .local/share/chezmoi/home/dot_local/bin/executable_firefox-profile-import, .local/share/chezmoi/home/dot_local/bin/executable_fonttest, .local/share/chezmoi/home/dot_local/bin/executable_install-dotfiles.tmpl, .local/share/chezmoi/home/dot_local/bin/executable_install-gnome-extensions, .local/share/chezmoi/home/dot_local/bin/executable_install-software, .local/share/chezmoi/home/dot_local/bin/executable_install-terminal-theme, .local/share/chezmoi/home/dot_local/bin/executable_ksetwallpaper, .local/share/chezmoi/home/dot_local/bin/executable_load-secrets, .local/share/chezmoi/home/dot_local/bin/executable_logg, .local/share/chezmoi/home/dot_local/bin/executable_opener, .local/share/chezmoi/home/dot_local/bin/executable_provision, .local/share/chezmoi/home/dot_local/bin/executable_quickstart, .local/share/chezmoi/home/dot_local/bin/executable_ramqube, .local/share/chezmoi/home/dot_local/bin/executable_run, .local/share/chezmoi/home/dot_local/bin/executable_slack, .local/share/chezmoi/home/dot_local/bin/executable_squash-symlink, .local/share/chezmoi/home/dot_local/bin/executable_tinypng.tmpl, .local/share/chezmoi/home/dot_local/bin/run_onchange_ensure-executable.tmpl, .local/share/chezmoi/home/dot_local/bin/symlink_bat.tmpl, .local/share/chezmoi/home/dot_local/bin/symlink_bombshell-client.tmpl, .local/share/chezmoi/home/dot_local/bin/symlink_fd.tmpl, .local/share/chezmoi/home/dot_local/bin/symlink_qrun.tmpl, .local/share/chezmoi/home/dot_local/bin/symlink_qscp, .local/share/chezmoi/home/dot_local/bin/symlink_qssh.tmpl, .local/share/chezmoi/home/dot_local/bin/symlink_readlink.tmpl, .local/share/chezmoi/home/dot_local/konsole/Default.profile, .local/share/chezmoi/home/dot_local/log/remove_dot_gitkeep, .local/share/chezmoi/home/dot_local/scripts/motd.bash, .local/share/chezmoi/home/dot_local/scripts/p10k.zsh, .local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_commonlib.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubes_pass.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubesformation.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubesguid.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubessls.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/connection/symlink_qubes.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubes_pass.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubesformation.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubesguid.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubessls.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/lookup/symlink_jq.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/plugins/lookup/symlink_qubes-pass.py.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/roles/run_onchange_after_symlink-ansible-roles.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/tasks/symlink_qubes.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/run_onchange_after_symlink-ansible-configs.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_README.md.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_Vagrantfile.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_ansible.cfg.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_docs.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_environments.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_main.yml.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_playbooks.tmpl, .local/share/chezmoi/home/dot_local/share/ansible/symlink_requirements.yml.tmpl, .local/share/chezmoi/home/dot_local/share/fonts/FontAwesome.ttf, .local/share/chezmoi/home/dot_local/share/fonts/Weather-Icons.ttf, .local/share/chezmoi/home/dot_local/share/git-core/templates/hooks/post-commit, .local/share/chezmoi/home/dot_local/state/bash/remove_dot_gitkeep, .local/share/chezmoi/home/dot_local/state/zsh/remove_dot_gitkeep, .local/share/chezmoi/home/dot_local/Taskfile-local.yml, .local/share/chezmoi/home/dot_ssh/authorized_keys.github.tmpl, .local/share/chezmoi/home/dot_ssh/create_private_readonly_private_id_rsa.tmpl, .local/share/chezmoi/home/dot_ssh/private_config.tmpl, .local/share/chezmoi/home/dot_ssh/run_onchanges_after_generate-public-keys.tmpl, .local/share/chezmoi/home/dot_vim/autoload/lightline/colorscheme/Betelgeuse.vim, .local/share/chezmoi/home/dot_vim/colors/Betelgeuse.vim, .local/share/chezmoi/home/dot_vim/vimrc, .local/share/chezmoi/home/private_dot_config/Kvantum/kvantum.config, .local/share/chezmoi/home/private_dot_config/VirtualBox/VirtualBox.xml.tmpl, .local/share/chezmoi/home/private_dot_config/alacritty/alacritty.yml, .local/share/chezmoi/home/private_dot_config/asdf/asdfrc.tmpl, .local/share/chezmoi/home/private_dot_config/asdf/default-cargo-pkgs.tmpl, .local/share/chezmoi/home/private_dot_config/asdf/default-golang-pkgs.tmpl, .local/share/chezmoi/home/private_dot_config/asdf/default-npm-packages, .local/share/chezmoi/home/private_dot_config/asdf/default-python-pkgs.tmpl, .local/share/chezmoi/home/private_dot_config/asdf/default-ruby-pkgs.tmpl, .local/share/chezmoi/home/private_dot_config/bashtop/bashtop.cfg, .local/share/chezmoi/home/private_dot_config/bat/config, .local/share/chezmoi/home/private_dot_config/brew/Brewfile.tmpl, .local/share/chezmoi/home/private_dot_config/brew/whalebrew, .local/share/chezmoi/home/private_dot_config/crontab/config, .local/share/chezmoi/home/private_dot_config/desktop/plasmoids.yml, .local/share/chezmoi/home/private_dot_config/direnv/direnv.toml, .local/share/chezmoi/home/private_dot_config/environments/desktop, .local/share/chezmoi/home/private_dot_config/environments/development, .local/share/chezmoi/home/private_dot_config/environments/terminal, .local/share/chezmoi/home/private_dot_config/fd/ignore, .local/share/chezmoi/home/private_dot_config/firejail/bitwarden.local, .local/share/chezmoi/home/private_dot_config/firejail/chromium.local, .local/share/chezmoi/home/private_dot_config/firejail/code.local, .local/share/chezmoi/home/private_dot_config/firejail/gcloud.local, .local/share/chezmoi/home/private_dot_config/firejail/google-chrome-stable.local, .local/share/chezmoi/home/private_dot_config/firejail/slack.local, .local/share/chezmoi/home/private_dot_config/firejail/thunderbird.local, .local/share/chezmoi/home/private_dot_config/fontconfig/fonts.conf, .local/share/chezmoi/home/private_dot_config/ghorg/conf.yaml.tmpl, .local/share/chezmoi/home/private_dot_config/git/attributes, .local/share/chezmoi/home/private_dot_config/git/commit-template, .local/share/chezmoi/home/private_dot_config/git/config.tmpl, .local/share/chezmoi/home/private_dot_config/git/ignore, .local/share/chezmoi/home/private_dot_config/gtk-1.0/.gitkeep, .local/share/chezmoi/home/private_dot_config/gtk-2.0/gtkrc, .local/share/chezmoi/home/private_dot_config/gtk-3.0/settings.ini, .local/share/chezmoi/home/private_dot_config/heroku/deploy.yml.tmpl, .local/share/chezmoi/home/private_dot_config/himalaya/config.toml.tmpl.TODO, .local/share/chezmoi/home/private_dot_config/k9s/plugin.yml, .local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-dark.conf, .local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-light.conf, .local/share/chezmoi/home/private_dot_config/kitty/kitty.conf, .local/share/chezmoi/home/private_dot_config/ngrok/ngrok.yml.tmpl, .local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO, .local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse-minimal.omp.json, .local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse.omp.json, .local/share/chezmoi/home/private_dot_config/pg/.gitkeep, .local/share/chezmoi/home/private_dot_config/pgcli/config, .local/share/chezmoi/home/private_dot_config/powershell/user_profile.ps1.TODO, .local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json, .local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json, .local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/README.md, .local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/icon.svg, .local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/package.json, .local/share/chezmoi/home/private_dot_config/private_Code/User/extensions.json, .local/share/chezmoi/home/private_dot_config/private_Code/User/keybindings.json, .local/share/chezmoi/home/private_dot_config/private_Code/User/settings.json, .local/share/chezmoi/home/private_dot_config/putty/.gitkeep, .local/share/chezmoi/home/private_dot_config/rclone/merge_rclone.conf, .local/share/chezmoi/home/private_dot_config/readline/inputrc, .local/share/chezmoi/home/private_dot_config/ripgrep/config, .local/share/chezmoi/home/private_dot_config/rofi/config.rasi.tmpl, .local/share/chezmoi/home/private_dot_config/shell/aliases.tmpl, .local/share/chezmoi/home/private_dot_config/shell/exports.tmpl, .local/share/chezmoi/home/private_dot_config/shell/functions, .local/share/chezmoi/home/private_dot_config/shell/motd, .local/share/chezmoi/home/private_dot_config/shell/private_dot_private, .local/share/chezmoi/home/private_dot_config/shell/profile, .local/share/chezmoi/home/private_dot_config/slack-term/config.tmpl, .local/share/chezmoi/home/private_dot_config/tabby/config.yaml.tmpl, .local/share/chezmoi/home/private_dot_config/terminator/config, .local/share/chezmoi/home/private_dot_config/tmux/.gitkeep, .local/share/chezmoi/home/private_dot_config/wget/wgetrc, .local/share/chezmoi/home/private_dot_config/xfce4/terminal/terminalrc, .local/share/chezmoi/home/private_dot_config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml, .local/share/chezmoi/home/private_dot_config/xsettingsd/xsettingsd.conf, .local/share/chezmoi/home/private_dot_config/youtube-dl/config, .local/share/chezmoi/home/private_dot_config/chromium-flags.conf, .local/share/chezmoi/home/private_dot_config/gtkrc, .local/share/chezmoi/home/private_dot_config/kcminputrc, .local/share/chezmoi/home/private_dot_config/kdeglobals, .local/share/chezmoi/home/private_dot_config/konsolerc, .local/share/chezmoi/home/private_dot_config/ksplashrc, .local/share/chezmoi/home/private_dot_config/ktimezonedrc, .local/share/chezmoi/home/private_dot_config/kwinrc, .local/share/chezmoi/home/private_dot_config/mimeapps.list, .local/share/chezmoi/home/private_dot_config/plasma-localerc, .local/share/chezmoi/home/private_dot_config/plasmarc, .local/share/chezmoi/home/.chezmoi.yaml.tmpl, .local/share/chezmoi/home/.chezmoidata.yaml, .local/share/chezmoi/home/.chezmoiexternal.toml, .local/share/chezmoi/home/.chezmoiignore, .local/share/chezmoi/home/.chezmoiremove, .local/share/chezmoi/home/chezmoi.txt.age, .local/share/chezmoi/home/dot_Xresources, .local/share/chezmoi/home/dot_bashrc, .local/share/chezmoi/home/dot_editorconfig, .local/share/chezmoi/home/dot_tool-versions.tmpl, .local/share/chezmoi/home/dot_zshrc, .local/share/chezmoi/system/Applications/Firefox.app/Contents/Resources/distribution/policies.json, .local/share/chezmoi/system/etc/fonts/local.conf, .local/share/chezmoi/system/etc/grub.d/31_hold-shift, .local/share/chezmoi/system/etc/keybase/config.json, .local/share/chezmoi/system/etc/opt/chrome/policies/managed/policies.json, .local/share/chezmoi/system/etc/systemd/system/r2-docker.service, .local/share/chezmoi/system/etc/systemd/system/r2-{{ .user.username }}.service.tmpl, .local/share/chezmoi/system/etc/timeshift/timeshift.json, .local/share/chezmoi/system/etc/rcloneignore, .local/share/chezmoi/system/mnt/private_r2-docker/remove_dot_gitkeep, .local/share/chezmoi/system/usr/lib/firefox/distribution/policies.json, .local/share/chezmoi/system/usr/lib/firefox-esr/distribution/policies.json, .local/share/chezmoi/system/usr/local/bin/executable_rclone-mount, .local/share/chezmoi/system/var/cache/rclone/remove_dot_gitkeep, .local/share/chezmoi/system/var/log/user/run_onchange_after-symlink-user-logs, .local/share/chezmoi/system/.chezmoiexternal.toml, .local/share/chezmoi/.chezmoiignore, .local/share/chezmoi/.chezmoiroot, .local/share/chezmoi/software.json, .local/share/chezmoi/software.yml, .local/share/fonts/FontAwesome.ttf, .local/share/fonts/Hack Bold Italic Nerd Font Complete Mono Windows Compatible.ttf, .local/share/fonts/Hack Bold Italic Nerd Font Complete Mono.ttf, .local/share/fonts/Hack Bold Italic Nerd Font Complete Windows Compatible.ttf, .local/share/fonts/Hack Bold Italic Nerd Font Complete.ttf, .local/share/fonts/Hack Bold Nerd Font Complete Mono Windows Compatible.ttf, .local/share/fonts/Hack Bold Nerd Font Complete Mono.ttf, .local/share/fonts/Hack Bold Nerd Font Complete Windows Compatible.ttf, .local/share/fonts/Hack Bold Nerd Font Complete.ttf, .local/share/fonts/Hack Italic Nerd Font Complete Mono Windows Compatible.ttf, .local/share/fonts/Hack Italic Nerd Font Complete Mono.ttf, .local/share/fonts/Hack Italic Nerd Font Complete Windows Compatible.ttf, .local/share/fonts/Hack Italic Nerd Font Complete.ttf, .local/share/fonts/Hack Regular Nerd Font Complete Mono Windows Compatible.ttf, .local/share/fonts/Hack Regular Nerd Font Complete Mono.ttf, .local/share/fonts/Hack Regular Nerd Font Complete Windows Compatible.ttf, .local/share/fonts/Hack Regular Nerd Font Complete.ttf, .local/share/fonts/Montserrat-Black.ttf, .local/share/fonts/Montserrat-BlackItalic.ttf, .local/share/fonts/Montserrat-Bold.ttf, .local/share/fonts/Montserrat-BoldItalic.ttf, .local/share/fonts/Montserrat-ExtraBold.ttf, .local/share/fonts/Montserrat-ExtraBoldItalic.ttf, .local/share/fonts/Montserrat-ExtraLight.ttf, .local/share/fonts/Montserrat-ExtraLightItalic.ttf, .local/share/fonts/Montserrat-Italic.ttf, .local/share/fonts/Montserrat-Light.ttf, .local/share/fonts/Montserrat-LightItalic.ttf, .local/share/fonts/Montserrat-Medium.ttf, .local/share/fonts/Montserrat-MediumItalic.ttf, .local/share/fonts/Montserrat-Regular.ttf, .local/share/fonts/Montserrat-SemiBold.ttf, .local/share/fonts/Montserrat-SemiBoldItalic.ttf, .local/share/fonts/Montserrat-Thin.ttf, .local/share/fonts/Montserrat-ThinItalic.ttf, .local/share/fonts/Weather-Icons.ttf, .local/share/fonts/ZillaSlab-Bold.ttf, .local/share/fonts/ZillaSlab-BoldItalic.ttf, .local/share/fonts/ZillaSlab-Italic.ttf, .local/share/fonts/ZillaSlab-Light.ttf, .local/share/fonts/ZillaSlab-LightItalic.ttf, .local/share/fonts/ZillaSlab-Medium.ttf, .local/share/fonts/ZillaSlab-MediumItalic.ttf, .local/share/fonts/ZillaSlab-Regular.ttf, .local/share/fonts/ZillaSlab-SemiBold.ttf, .local/share/fonts/ZillaSlab-SemiBoldItalic.ttf, .local/share/kactivitymanagerd/resources/database, .local/share/kactivitymanagerd/resources/database-shm, .local/share/kactivitymanagerd/resources/database-wal, .local/software/desktop/Brewfile, .local/software/desktop/Packages.config, .local/software/desktop/Wingetfile, .local/software/development/Brewfile, .local/software/development/Packages.config, .local/software/development/Scoopfile, .local/software/terminal/Brewfile, .local/software/terminal/Packages.config, .local/software/terminal/Scoopfile, .local/software/Gasfile.yml, .local/theme/Betelgeuse.macOS.terminal, .local/theme/background.jpg, .local/vagrant.d/.gitkeep, .local/Taskfile-localhost.yml, .local/aliases, .local/antigen.zsh, .local/dockerfunc.sh, .local/functions, .local/fzf-tmux.sh, .local/motd.sh, .local/p10k.zsh
Deleted dotfiles/.local/android-sdk/.gitkeep
2022-11-30 05:44:09 +00:00

325 lines
11 KiB
Bash

# bash completion V2 for gh -*- shell-script -*-
__gh_debug()
{
if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then
echo "$*" >> "${BASH_COMP_DEBUG_FILE}"
fi
}
# Macs have bash3 for which the bash-completion package doesn't include
# _init_completion. This is a minimal version of that function.
__gh_init_completion()
{
COMPREPLY=()
_get_comp_words_by_ref "$@" cur prev words cword
}
# This function calls the gh program to obtain the completion
# results and the directive. It fills the 'out' and 'directive' vars.
__gh_get_completion_results() {
local requestComp lastParam lastChar args
# Prepare the command to request completions for the program.
# Calling ${words[0]} instead of directly gh allows to handle aliases
args=("${words[@]:1}")
requestComp="${words[0]} __complete ${args[*]}"
lastParam=${words[$((${#words[@]}-1))]}
lastChar=${lastParam:$((${#lastParam}-1)):1}
__gh_debug "lastParam ${lastParam}, lastChar ${lastChar}"
if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then
# If the last parameter is complete (there is a space following it)
# We add an extra empty parameter so we can indicate this to the go method.
__gh_debug "Adding extra empty parameter"
requestComp="${requestComp} ''"
fi
# When completing a flag with an = (e.g., gh -n=<TAB>)
# bash focuses on the part after the =, so we need to remove
# the flag part from $cur
if [[ "${cur}" == -*=* ]]; then
cur="${cur#*=}"
fi
__gh_debug "Calling ${requestComp}"
# Use eval to handle any environment variables and such
out=$(eval "${requestComp}" 2>/dev/null)
# Extract the directive integer at the very end of the output following a colon (:)
directive=${out##*:}
# Remove the directive
out=${out%:*}
if [ "${directive}" = "${out}" ]; then
# There is not directive specified
directive=0
fi
__gh_debug "The completion directive is: ${directive}"
__gh_debug "The completions are: ${out}"
}
__gh_process_completion_results() {
local shellCompDirectiveError=1
local shellCompDirectiveNoSpace=2
local shellCompDirectiveNoFileComp=4
local shellCompDirectiveFilterFileExt=8
local shellCompDirectiveFilterDirs=16
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
# Error code. No completion.
__gh_debug "Received error from custom completion go code"
return
else
if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
if [[ $(type -t compopt) = "builtin" ]]; then
__gh_debug "Activating no space"
compopt -o nospace
else
__gh_debug "No space directive not supported in this version of bash"
fi
fi
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
if [[ $(type -t compopt) = "builtin" ]]; then
__gh_debug "Activating no file completion"
compopt +o default
else
__gh_debug "No file completion directive not supported in this version of bash"
fi
fi
fi
# Separate activeHelp from normal completions
local completions=()
local activeHelp=()
__gh_extract_activeHelp
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
# File extension filtering
local fullFilter filter filteringCmd
# Do not use quotes around the $completions variable or else newline
# characters will be kept.
for filter in ${completions[*]}; do
fullFilter+="$filter|"
done
filteringCmd="_filedir $fullFilter"
__gh_debug "File filtering command: $filteringCmd"
$filteringCmd
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
# File completion for directories only
# Use printf to strip any trailing newline
local subdir
subdir=$(printf "%s" "${completions[0]}")
if [ -n "$subdir" ]; then
__gh_debug "Listing directories in $subdir"
pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return
else
__gh_debug "Listing directories in ."
_filedir -d
fi
else
__gh_handle_completion_types
fi
__gh_handle_special_char "$cur" :
__gh_handle_special_char "$cur" =
# Print the activeHelp statements before we finish
if [ ${#activeHelp} -ne 0 ]; then
printf "\n";
printf "%s\n" "${activeHelp[@]}"
printf "\n"
# The prompt format is only available from bash 4.4.
# We test if it is available before using it.
if (x=${PS1@P}) 2> /dev/null; then
printf "%s" "${PS1@P}${COMP_LINE[@]}"
else
# Can't print the prompt. Just print the
# text the user had typed, it is workable enough.
printf "%s" "${COMP_LINE[@]}"
fi
fi
}
# Separate activeHelp lines from real completions.
# Fills the $activeHelp and $completions arrays.
__gh_extract_activeHelp() {
local activeHelpMarker="_activeHelp_ "
local endIndex=${#activeHelpMarker}
while IFS='' read -r comp; do
if [ "${comp:0:endIndex}" = "$activeHelpMarker" ]; then
comp=${comp:endIndex}
__gh_debug "ActiveHelp found: $comp"
if [ -n "$comp" ]; then
activeHelp+=("$comp")
fi
else
# Not an activeHelp line but a normal completion
completions+=("$comp")
fi
done < <(printf "%s\n" "${out}")
}
__gh_handle_completion_types() {
__gh_debug "__gh_handle_completion_types: COMP_TYPE is $COMP_TYPE"
case $COMP_TYPE in
37|42)
# Type: menu-complete/menu-complete-backward and insert-completions
# If the user requested inserting one completion at a time, or all
# completions at once on the command-line we must remove the descriptions.
# https://github.com/spf13/cobra/issues/1508
local tab=$'\t' comp
while IFS='' read -r comp; do
[[ -z $comp ]] && continue
# Strip any description
comp=${comp%%$tab*}
# Only consider the completions that match
if [[ $comp == "$cur"* ]]; then
COMPREPLY+=("$comp")
fi
done < <(printf "%s\n" "${completions[@]}")
;;
*)
# Type: complete (normal completion)
__gh_handle_standard_completion_case
;;
esac
}
__gh_handle_standard_completion_case() {
local tab=$'\t' comp
# Short circuit to optimize if we don't have descriptions
if [[ "${completions[*]}" != *$tab* ]]; then
IFS=$'\n' read -ra COMPREPLY -d '' < <(compgen -W "${completions[*]}" -- "$cur")
return 0
fi
local longest=0
local compline
# Look for the longest completion so that we can format things nicely
while IFS='' read -r compline; do
[[ -z $compline ]] && continue
# Strip any description before checking the length
comp=${compline%%$tab*}
# Only consider the completions that match
[[ $comp == "$cur"* ]] || continue
COMPREPLY+=("$compline")
if ((${#comp}>longest)); then
longest=${#comp}
fi
done < <(printf "%s\n" "${completions[@]}")
# If there is a single completion left, remove the description text
if [ ${#COMPREPLY[*]} -eq 1 ]; then
__gh_debug "COMPREPLY[0]: ${COMPREPLY[0]}"
comp="${COMPREPLY[0]%%$tab*}"
__gh_debug "Removed description from single completion, which is now: ${comp}"
COMPREPLY[0]=$comp
else # Format the descriptions
__gh_format_comp_descriptions $longest
fi
}
__gh_handle_special_char()
{
local comp="$1"
local char=$2
if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then
local word=${comp%"${comp##*${char}}"}
local idx=${#COMPREPLY[*]}
while [[ $((--idx)) -ge 0 ]]; do
COMPREPLY[$idx]=${COMPREPLY[$idx]#"$word"}
done
fi
}
__gh_format_comp_descriptions()
{
local tab=$'\t'
local comp desc maxdesclength
local longest=$1
local i ci
for ci in ${!COMPREPLY[*]}; do
comp=${COMPREPLY[ci]}
# Properly format the description string which follows a tab character if there is one
if [[ "$comp" == *$tab* ]]; then
__gh_debug "Original comp: $comp"
desc=${comp#*$tab}
comp=${comp%%$tab*}
# $COLUMNS stores the current shell width.
# Remove an extra 4 because we add 2 spaces and 2 parentheses.
maxdesclength=$(( COLUMNS - longest - 4 ))
# Make sure we can fit a description of at least 8 characters
# if we are to align the descriptions.
if [[ $maxdesclength -gt 8 ]]; then
# Add the proper number of spaces to align the descriptions
for ((i = ${#comp} ; i < longest ; i++)); do
comp+=" "
done
else
# Don't pad the descriptions so we can fit more text after the completion
maxdesclength=$(( COLUMNS - ${#comp} - 4 ))
fi
# If there is enough space for any description text,
# truncate the descriptions that are too long for the shell width
if [ $maxdesclength -gt 0 ]; then
if [ ${#desc} -gt $maxdesclength ]; then
desc=${desc:0:$(( maxdesclength - 1 ))}
desc+="…"
fi
comp+=" ($desc)"
fi
COMPREPLY[ci]=$comp
__gh_debug "Final comp: $comp"
fi
done
}
__start_gh()
{
local cur prev words cword split
COMPREPLY=()
# Call _init_completion from the bash-completion package
# to prepare the arguments properly
if declare -F _init_completion >/dev/null 2>&1; then
_init_completion -n "=:" || return
else
__gh_init_completion -n "=:" || return
fi
__gh_debug
__gh_debug "========= starting completion logic =========="
__gh_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword"
# The user could have moved the cursor backwards on the command-line.
# We need to trigger completion from the $cword location, so we need
# to truncate the command-line ($words) up to the $cword location.
words=("${words[@]:0:$cword+1}")
__gh_debug "Truncated words[*]: ${words[*]},"
local out directive
__gh_get_completion_results
__gh_process_completion_results
}
if [[ $(type -t compopt) = "builtin" ]]; then
complete -o default -F __start_gh gh
else
complete -o default -o nospace -F __start_gh gh
fi
# ex: ts=4 sw=4 et filetype=sh