Skip to content

New tab completions: 1password-cli and herdr - #2395

Open
leventyalcin wants to merge 4 commits into
Bash-it:masterfrom
leventyalcin:1password-completion
Open

New tab completions: 1password-cli and herdr#2395
leventyalcin wants to merge 4 commits into
Bash-it:masterfrom
leventyalcin:1password-completion

Conversation

@leventyalcin

@leventyalcin leventyalcin commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Description

Adds bash-it completion wrappers for:

Both tools natively expose <tool> completion bash, which these wrappers plug into bash-it's completion lifecycle.


Why not the standard pattern?

A common completion pattern uses || return as the fallback on binary or existing completion checks, meaning the eval call is skipped silently when the binary is missing, and things easily go unnoticed.

These completions instead check the binary explicitly and stop early with a clear message: No silent failures. Users get an actionable message telling them exactly what didn't
load and where the file lives — without needing to enable full debug mode.

How Has This Been Tested?

Locally installed completions and tested in all scenarios:

  1. Completions disabled
  2. Completions enabled
  3. Completions enabled, but the binary is missing
  4. Completions enabled, but completion is managed externally

All scenarios work as expected.

Screenshots (if appropriate):

https://asciinema.org/a/LiRDH6XnSHEEBxL0

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • If my change requires a change to the documentation, I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • If I have added a new file, I also added it to clean_files.txt and formatted it using lint_clean_files.sh.
  • I have added tests to cover my changes, and all the new and existing tests pass.

f3aaf30 fixed --tap + --jobs causing bats to declare a test plan it
can't fulfil on Linux by forcing TEST_JOBS=1. The macOS job was left
on TEST_JOBS=detect with GNU parallel explicitly installed, hitting
the same mismatch and exiting with code 1 despite all tests passing.

Remove the parallel install step and apply TEST_JOBS=1 unconditionally.
@leventyalcin
leventyalcin force-pushed the 1password-completion branch from 4737a3e to 01ab1dd Compare August 5, 2026 13:52

@seefood seefood left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see here 3 different features in one PR plus a change to the workflows. please break it up and let's do it properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants