Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions aliases/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@ where `<ALIASES_NAME>` should be related by the name of the module to activate.

See the respective pages for details.

- `ansible`
- `ansible-dev`
- `chmod`
- [`debian`](debian.aliases.md)
- [`docker`](docker.aliases.md)
- [`general`](general.aliases.md)
- `ls`
- `misc`
- `molecule`
- [`package-manager`](package-manager.aliases.md)
- [`terraform`](terraform.aliases.md)
- [`cargo`](cargo.aliases.md)
23 changes: 23 additions & 0 deletions aliases/ansible-dev.aliases.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#! bash oh-my-bash.module

# kept for backwards compatbility, these used to be functions in the previous oh-my-bash ansible plugin
alias ansible-role-init='ansible-galaxy init role '
alias arinit='ansible-role-init'

# ansible-dev-tools: https://docs.ansible.com/projects/dev-tools/
alias abu='ansible-builder ' # did not want to use 'ab', as it is an existing command for Apache benchmarking tool
alias abb='ansible-builder build '
alias abc='ansible-builder create '
alias abi='ansible-builder introspect '
alias acr='ansible-creator '
alias acra='ansible-creator add '
alias acri='ansible-creator init '
#alias ade='ansible-dev-environment ' # this package already comes with ade alias
#alias adt='ansible-dev-tools ' # this package already comes with adt alias
alias alint='ansible-lint '
alias anav='ansible-navigator '
alias arunner='ansible-runner '
alias arun='ansible-runner run '
alias astart='ansible-runner start '
alias astop='ansible-runner stop '
alias asign='ansible-sign '
18 changes: 18 additions & 0 deletions aliases/ansible.aliases.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#! bash oh-my-bash.module

# kept for backwards compatbility, these used to be functions in the previous oh-my-bash ansible plugin
alias aver='ansible --version; ansible-community --version'
#alias arinit='ansible-role-init' # this alias can now be found in the ansible-dev aliases
Comment thread
PascalKont marked this conversation as resolved.

# ansible-core: https://docs.ansible.com/projects/ansible-core/devel/
alias a='ansible '
alias aconf='ansible-config '
alias acon='ansible-console '
alias adoc='ansible-doc '
alias agal='ansible-galaxy '
alias ainv='ansible-inventory '
alias aplay='ansible-playbook '
alias aplaybook='aplay' # this long version of the playbook alias is kept for backwards compatibility
alias apull='ansible-pull '
alias atest='ansible-test '
alias aval='ansible-vault '
23 changes: 23 additions & 0 deletions aliases/molecule.aliases.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#! bash oh-my-bash.module

# molecule: https://docs.ansible.com/projects/molecule/
alias mol='molecule '
alias mhlp='molecule --help '
alias mchk='molecule check '
alias mcln='molecule cleanup '
alias mcnv='molecule converge '
alias mcrt='molecule create '
alias mdep='molecule dependency '
alias mdes='molecule destroy '
alias mdrv='molecule drivers '
alias midm='molecule idempotence '
alias minit='molecule init scenario '
alias mlst='molecule list '
alias mlgn='molecule login '
alias mtrx='molecule matrix '
alias mprp='molecule prepare '
alias mrst='molecule reset '
alias msef='molecule side-effect '
alias msyn='molecule syntax '
alias mtest='molecule test '
alias mvrf='molecule verify '
29 changes: 29 additions & 0 deletions completions/ansible.completion.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#! bash oh-my-bash.module

function _omb_completion_ansible {
local -A commands=(
[a]='ansible'
[aconf]='ansible-config'
[acon]='ansible-console'
[adoc]='ansible-doc'
[agal]='ansible-galaxy'
[ainv]='ansible-inventory'
[aplay]='ansible-playbook'
[aplaybook]='ansible-playbook'
[apull]='ansible-pull'
[atest]='ansible-test'
[aval]='ansible-vault'
)
_python_argcomplete_global "${commands[$1]}" -- "${COMP_WORDS[@]:1}"
}
complete -F _omb_completion_ansible a
complete -F _omb_completion_ansible aconf
complete -F _omb_completion_ansible acon
complete -F _omb_completion_ansible adoc
complete -F _omb_completion_ansible agal
complete -F _omb_completion_ansible ainv
complete -F _omb_completion_ansible aplay
complete -F _omb_completion_ansible aplaybook
complete -F _omb_completion_ansible apull
complete -F _omb_completion_ansible atest
complete -F _omb_completion_ansible aval
96 changes: 96 additions & 0 deletions completions/molecule.completion.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#! bash oh-my-bash.module

# This file was written with the assistance of Copilot (GPT-5.2)
# based on an zsh implementaion found here https://github.com/ohmyzsh/ohmyzsh/pull/13587

# Only enable completion if molecule exists
command -v molecule >/dev/null 2>&1 || return 0

# Cache dir (pick one)
: "${BASH_CACHE_DIR:=${XDG_CACHE_HOME:-$HOME/.cache}/bash}"
mkdir -p "$BASH_CACHE_DIR/completions"

_molecule_comp="$BASH_CACHE_DIR/completions/molecule.bash"

# (Re)generate if missing (you can add your own staleness logic)
if [[ ! -f "$_molecule_comp" ]]; then
_MOLECULE_COMPLETE=bash_source molecule >"$_molecule_comp" 2>/dev/null
fi

# Load the completion
# shellcheck source=/dev/null
[[ -s "$_molecule_comp" ]] && source "$_molecule_comp"

# Only add alias completion if the aliases exist
if [[ $(_omb_util_alias "mol" 2>/dev/null) ]]; then

function _omb_completion_molecule {
local -A commands=(
[mol]='molecule'
[mhlp]='molecule --help'
[mchk]='molecule check'
[mcln]='molecule cleanup'
[mcnv]='molecule converge'
[mcrt]='molecule create'
[mdep]='molecule dependency'
[mdes]='molecule destroy'
[mdrv]='molecule drivers'
[midm]='molecule idempotence'
[minit]='molecule init scenario'
[mlst]='molecule list'
[mlgn]='molecule login'
[mtrx]='molecule matrix'
[mprp]='molecule prepare'
[mrst]='molecule reset'
[msef]='molecule side-effect'
[msyn]='molecule syntax'
[mtest]='molecule test'
[mvrf]='molecule verify'
)
# Save original words
local -a _orig_comp_words=("${COMP_WORDS[@]}")
local _orig_comp_cword=$COMP_CWORD

# Get the expanded word the current command
expansion="${commands[$1]}"

# Split on IFS whitespace into words
read -r -a _exp_words <<<"$expansion"

# Inject expansion words in place of the alias
COMP_WORDS=("${_exp_words[@]}" "${COMP_WORDS[@]:1}")

# Only bump COMP_CWORD by 1 if the expansion is multi-word, otherwise leave it.
if [[ ${#_exp_words[@]} -gt 1 ]]; then
COMP_CWORD=$((COMP_CWORD + 1))
fi

# Call the original completion function
_molecule_completion molecule

# Restore original words
COMP_WORDS=("${_orig_comp_words[@]}")
COMP_CWORD=$_orig_comp_cword
}

complete -o nosort -F _omb_completion_molecule mol
complete -o nosort -F _omb_completion_molecule mhlp
complete -o nosort -F _omb_completion_molecule mchk
complete -o nosort -F _omb_completion_molecule mcln
complete -o nosort -F _omb_completion_molecule mcnv
complete -o nosort -F _omb_completion_molecule mcrt
complete -o nosort -F _omb_completion_molecule mdep
complete -o nosort -F _omb_completion_molecule mdes
complete -o nosort -F _omb_completion_molecule mdrv
complete -o nosort -F _omb_completion_molecule midm
complete -o nosort -F _omb_completion_molecule minit
complete -o nosort -F _omb_completion_molecule mlst
complete -o nosort -F _omb_completion_molecule mlgn
complete -o nosort -F _omb_completion_molecule mtrx
complete -o nosort -F _omb_completion_molecule mprp
complete -o nosort -F _omb_completion_molecule mrst
complete -o nosort -F _omb_completion_molecule msef
complete -o nosort -F _omb_completion_molecule msyn
complete -o nosort -F _omb_completion_molecule mtest
complete -o nosort -F _omb_completion_molecule mvrf
fi
5 changes: 2 additions & 3 deletions plugins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ You may wish to control when or how plugins are activated. For instance, to ensu
By leveraging these plugins, you can streamline your workflow and tackle coding challenges with greater efficiency.

| Plugin | Description |
|-------------------|-----------------------------------------------------------------------------------------------------------------------------|
| ansible | Configuration management tool used to automate the provisioning, configuration, and management of computer systems. |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------- |
| [asdf](asdf) | [asdf](https://asdf-vm.com) is a tool version manager to allow installing different versions of Node.js, Ruby, Golang, etc. |
| aws | Tools for interacting with Amazon Web Services (AWS) |
| bash-preexec | Tool allowing execution of commands before they are executed in Bash. |
Expand Down Expand Up @@ -56,5 +55,5 @@ By leveraging these plugins, you can streamline your workflow and tackle coding
| vagrant | Tool for creating and managing virtual development environments. |
| virtualenvwrapper | A set of extensions to the virtualenv tool. |
| xterm | Terminal emulator for X Window systems providing a graphical user interface for accessing the command line. |
| zellij-autoattach | Plugin related to session management in the zellij terminal multiplexer. |
| zellij-autoattach | Plugin related to session management in the zellij terminal multiplexer. |
| zoxide | Utility for quickly navigating the filesystem based on visited directory history. |
27 changes: 0 additions & 27 deletions plugins/ansible/README.md

This file was deleted.

29 changes: 0 additions & 29 deletions plugins/ansible/ansible.plugin.sh

This file was deleted.