Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move uvx shell completion to uvx --generate-shell-completion #7511

Merged
merged 4 commits into from
Sep 20, 2024

Conversation

bluss
Copy link
Contributor

@bluss bluss commented Sep 18, 2024

Summary

Because a problem was found with Powershell and combining the generated completion scripts for uv and uvx, let's try separating uv and uvx command completion scripts.

The generated powershell script template can be seen in clap_complete source, and it starts with using directives, which makes it impossible (apparently) to concatenate two of those script outputs.

As a side effect, this is available under uv tool run --generate-shell-completion too.

Fixes #7482

Test Plan

  • eval "$(cargo run --bin uvx -- --generate-shell-completion bash)"
  • Test Powershell

Because a problem was found with Powershell and combining the generated
completion scripts for uv and uvx, let's try separating uv and uvx
command completion scripts.
@bluss
Copy link
Contributor Author

bluss commented Sep 18, 2024

Link to the powershell generator template - https://docs.rs/clap_complete/4.5.28/src/clap_complete/aot/shells/powershell.rs.html#28 - IMO we should not try to patch the output of the generator, but it seems to be possible, feel free to go that route if you want to.

@bluss bluss force-pushed the uvx-complete branch 5 times, most recently from 5198786 to 5c69652 Compare September 18, 2024 17:55
@bluss
Copy link
Contributor Author

bluss commented Sep 19, 2024

Cc @ilyagr if you are interested

@charliermarsh
Copy link
Member

Why am I hitting this? 🤔

❯ cargo run --bin uvx -- --generate-shell-completion
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
     Running `target/debug/uvx --generate-shell-completion`
error: unexpected argument '--generate-shell-completion' found

Usage: uvx [OPTIONS] [COMMAND]

For more information, try '--help'.

@charliermarsh
Copy link
Member

Oh I think I had to build uv too.

@charliermarsh
Copy link
Member

Thanks for following up.

@charliermarsh charliermarsh enabled auto-merge (squash) September 20, 2024 01:21
@charliermarsh charliermarsh merged commit 7a25a82 into astral-sh:main Sep 20, 2024
57 checks passed
@bluss bluss deleted the uvx-complete branch September 20, 2024 06:57
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Sep 23, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.4.13` -> `0.4.15` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.4.15`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0415)

[Compare Source](astral-sh/uv@0.4.14...0.4.15)

##### Bug fixes

-   Revert "Treat invalid platform as more compatible than invalid Python ([#&#8203;7556](astral-sh/uv#7556))" ([#&#8203;7608](astral-sh/uv#7608))

##### Documentation

-   Add the execution policy to powershell installs for single versions ([#&#8203;7602](astral-sh/uv#7602))

### [`v0.4.14`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0414)

[Compare Source](astral-sh/uv@0.4.13...0.4.14)

##### Breaking

-   Move uvx shell completion to `uvx --generate-shell-completion` ([#&#8203;7511](astral-sh/uv#7511))

##### Enhancements

-   Adjust messaging for frozen hint on resolution failure during `uv add` ([#&#8203;7597](astral-sh/uv#7597))
-   Provide resolution hints in case of possible local name conflicts ([#&#8203;7505](astral-sh/uv#7505))
-   Improve Docker image release tagging order and display on `ghcr.io` ([#&#8203;7568](astral-sh/uv#7568))
-   Improve deserialization error messages ([#&#8203;7598](astral-sh/uv#7598))

##### Bug fixes

-   Allow system environments during project environment validity check ([#&#8203;7585](astral-sh/uv#7585))
-   Avoid validating workspace members when `--no-sources` is provided ([#&#8203;7599](astral-sh/uv#7599))
-   Fix handling of `sys.base_prefix` collision in interpreter identity check during tool installs ([#&#8203;7596](astral-sh/uv#7596))
-   Make `uv cache prune` robust to unreadable rkyv entries ([#&#8203;7561](astral-sh/uv#7561))
-   Revert "Remove duplicate warning for settings discovery errors ([#&#8203;7384](astral-sh/uv#7384))" ([#&#8203;7594](astral-sh/uv#7594))

##### Documentation

-   Fix `-` to `_` in packaged applications document ([#&#8203;7571](astral-sh/uv#7571))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
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.

uv generate-shell-completion powershell script error in uv 0.4.11.
2 participants