ohmybash / oh-my-bash

A delightful community-driven framework for managing your bash configuration, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
https://ohmybash.github.io
MIT License
5.54k stars 626 forks source link

Docker completion is not up-to-date #517

Closed MonkeyKiki closed 4 months ago

MonkeyKiki commented 5 months ago

Docker Compose V2 is now used with 'docker compose' and no more 'docker-compose'. But docker completion doesn't propose this feature. Do you think it can be upgraded ? I am not sure I can do it myself but i can try.

Thanks

marco-gallegos commented 4 months ago

in the meanwhile you can try to use a alias like 'alias docker-compose="docker compose"' in your .bashrc

akinomyoga commented 4 months ago

I don't think updating this will make the completion for docker compose work. The completion for docker compose is a part of the completion for the docker command, so you can just set up the completion for the docker.

The docker CLI provides the completion script, and it should be somewhere in your system if you install docker. For example, it might be located at something like /usr/share/bash-completion/completions/docker or /etc/bash_completion.d/docker.sh. If it is the case, as far as you have bash-completion, the completion should be automatically available without any plugin.

Do you have bash-completion in your system? Do you have any docker files in /usr/share/bash-completion/completions or in /etc/bash_completion.d?

akinomyoga commented 4 months ago

Meanwhile, maybe I can still update this script to the latest version of Docker Compose v1, though it doesn't make the completion for docker compose work.

https://github.com/docker/compose/blob/v1/contrib/completion/bash/docker-compose

akinomyoga commented 4 months ago

OK, the problem seems to be that the docker completion in this repository (completions/docker.completion.sh) is so old that it doesn't support the recent plugin completions. We can update this, though I think as far as bash-completion and docker are properly installed in the user's system, the user doesn't need to enable those completions bundled in Oh My Bash.