89luca89/distrobox

[Suggestion] Provide fish shell completions / Fix commands format in the man page

Open

#1,425 opened on May 30, 2024

 (8 comments) (7 reactions) (0 assignees)Go (536 forks)batch import
enhancementgood first issuehelp wanted

Repository metrics

Stars
 (12,865 stars)
PR merge metrics
 (Avg merge 2d 4h) (17 merged PRs in 30d)

Description

Is your feature request related to a problem? Please describe. Distrobox man pages specify commands using the following layout:

distrobox create

              --image/-i:     image to use for the container  default: ${container_image_default}
              --name/-n:      name for the distrobox          default: ${container_name_default}
              --hostname:     hostname for the distrobox      default: <container-name>.$(uname -n)
              --pull/-p:      pull the image even if it exists locally (implies --yes)
              --yes/-Y:       non-interactive, pull images without asking

This is fine for a human, but it causes fish shell to have buggy completions:

❯ distrobox-create --absolutely-disable-root-password-i-am-really-positively-sure 
--absolutely-disable-root-password-i-am-really-positively-sure  (COMPATIBILITY for a list of compatible images and container managers, please …)
--additional-flags/-a                                                                                                                           
--additional-packages/-ap                                                                                                                       
--clone/-c                                                                  (this will be useful to either rename an existing distrobox or hav…)
--compatibility/-C                                                                                                                              
--dry-run/-d                                                                                                                                    
--help/-h                                                                                                                                       
--home/-H                                                                                                                                       
--hostname                                                                                                                                      
--image/-i                                                                                                                                      
--init/-I                                                                   (this will make host[aq]s processes not visible from within the co…)
--init-hooks                                                                                                                                    
--name/-n                                                                                                                                       
--no-entry                                                                                                                                      
--nvidia                                                                                                                                        
--pre-init-hooks                                                                                                                                
--pull/-p                                                                                                                                       
--root/-r                                                                   (way over [dq]sudo distrobox[dq] (note: if using a program other t…)

As you can see, the completion are in the format --longcommand/-shortcommand and if you complete your prompt using TAB then the completion will not work. You have to manually go and delete the last part

Describe the solution you'd like I'd like the distrobox man page to list commands in the man page in the classic format, or at least I'd like for it to provide correct fish shell completions which is all I really care about.

Contributor guide