diff options
| author | Ryan Mehri <ryan.mehri1@gmail.com> | 2024-12-16 19:07:43 -0700 |
|---|---|---|
| committer | Ryan Mehri <ryan.mehri1@gmail.com> | 2024-12-17 14:13:05 -0700 |
| commit | bc1737b279dd8382e4f613f36e74552ee76a3c01 (patch) | |
| tree | 66111dd3a562bc17e50f39a453ac2d07da2a4565 /src/bootstrap | |
| parent | 13b77c687c0f5ad06a579af6d0787fe562747501 (diff) | |
| download | rust-bc1737b279dd8382e4f613f36e74552ee76a3c01.tar.gz rust-bc1737b279dd8382e4f613f36e74552ee76a3c01.zip | |
Generate shell completions for x as well
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/src/core/build_steps/run.rs | 6 | ||||
| -rw-r--r-- | src/bootstrap/src/core/config/flags.rs | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/bootstrap/src/core/build_steps/run.rs b/src/bootstrap/src/core/build_steps/run.rs index c76504761be..54aad088552 100644 --- a/src/bootstrap/src/core/build_steps/run.rs +++ b/src/bootstrap/src/core/build_steps/run.rs @@ -270,7 +270,11 @@ impl Step for GenerateCompletions { (Bash, builder.src.join("src/etc/completions/x.py.sh")), (Zsh, builder.src.join("src/etc/completions/x.py.zsh")), (Fish, builder.src.join("src/etc/completions/x.py.fish")), - (PowerShell, builder.src.join("src/etc/completions/x.py.ps1")) + (PowerShell, builder.src.join("src/etc/completions/x.py.ps1")), + (Bash, builder.src.join("src/etc/completions/x.sh")), + (Zsh, builder.src.join("src/etc/completions/x.zsh")), + (Fish, builder.src.join("src/etc/completions/x.fish")), + (PowerShell, builder.src.join("src/etc/completions/x.ps1")) ); } diff --git a/src/bootstrap/src/core/config/flags.rs b/src/bootstrap/src/core/config/flags.rs index bfeb811508c..00bcbe9f86d 100644 --- a/src/bootstrap/src/core/config/flags.rs +++ b/src/bootstrap/src/core/config/flags.rs @@ -633,7 +633,14 @@ pub fn get_completion<G: clap_complete::Generator>(shell: G, path: &Path) -> Opt }) }; let mut buf = Vec::new(); - clap_complete::generate(shell, &mut cmd, "x.py", &mut buf); + let (bin_name, _) = path + .file_name() + .expect("path should be a regular file") + .to_str() + .expect("file name should be UTF-8") + .rsplit_once('.') + .expect("file name should have an extension"); + clap_complete::generate(shell, &mut cmd, bin_name, &mut buf); if buf == current.as_bytes() { return None; } |
