Repository navigation
feat(completions): add nushell shell completion support - #12
Merged
Merged
Conversation
This pull request adds native nushell shell completion support to the uv-plugin-completion system, enabling nushell users to get dynamic plugin completions alongside the core uv command. The changes include implementation of nushell completion injection and updated documentation. **Nushell completion integration:** * Added `inject_nushell` function in `adds-on/src/main.rs` that injects plugin externs into the nushell `module completions` block, merging plugin completions seamlessly with uv's native completions. * Implemented `plugin_nushell_body` helper that extracts completion definitions from each plugin by running `uv-<plugin> completions nushell`, strips module wrappers, and renames `uv-<plugin>` references to `uv <plugin>` for natural subcommand integration. * Added nushell case handling in the main shell completion dispatcher to route nushell requests through the new injection logic. * Included unit test `test_inject_nushell_appends_plugin` to verify correct insertion of plugin externs into the completions module. **Documentation updates:** * Updated `README.md` installation instructions to include nushell completion setup with `uv generate-shell-completion nushell` and config.nu integration steps. * Clarified that zsh completions discover plugins dynamically at tab-press time with no eval or reloading needed, while nushell/bash/fish require re-running completion generation after installing new plugins. * Improved comment clarity for zsh installation, emphasizing dynamic plugin discovery behavior.
benbenbang
enabled auto-merge (squash)
March 14, 2026 19:43
|
🎉 This PR is included in version 2.3.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds native nushell shell completion support to the uv-plugin-completion system, enabling nushell users to get dynamic plugin completions alongside the core uv command. The changes include implementation of nushell completion injection and updated documentation.
Nushell completion integration:
inject_nushellfunction inadds-on/src/main.rsthat injects plugin externs into the nushellmodule completionsblock, merging plugin completions seamlessly with uv's native completions.plugin_nushell_bodyhelper that extracts completion definitions from each plugin by runninguv-<plugin> completions nushell, strips module wrappers, and renamesuv-<plugin>references touv <plugin>for natural subcommand integration.test_inject_nushell_appends_pluginto verify correct insertion of plugin externs into the completions module.Documentation updates:
README.mdinstallation instructions to include nushell completion setup withuv generate-shell-completion nushelland config.nu integration steps.