Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/halostatue/fish-docker

Docker and Docker Compose completions for the Fish Shell
https://github.com/halostatue/fish-docker

docker docker-compose fish fish-plugin fish-shell fisher

Last synced: 18 days ago
JSON representation

Docker and Docker Compose completions for the Fish Shell

Awesome Lists containing this project

README

        

# halostatue/fish-docker

[![Version][]](https://github.com/halostatue/fish-docker/releases)

Completions for [Docker][] in the [fish shell][], based on
[docker-fish-completion][].

## Comparisons with Other Docker Completions

- Docker contrib completions ([docker][docker.fish] and
[docker-compose][docker-compose.fish]): These are generated by
[docker-fish-completion], and the Ruby script is substantially more accurate.
Also, the docker-compose completions are a fraction of what can be discovered.

- [lewisacidic/fish-docker][]: In addition to using the Docker contrib
completions, but also adds a number of additional helper functions that aren't
wanted by this author.

If these functions are desired, but more accurate completions are required,
ensure that `halostatue/fish-docker` is added by Fisher _after_
`lewisacidic/fish-docker` (it should be later in your `fish_plugins` file).

## Installation

Install with [Fisher][] (recommended):

```fish
fisher install halostatue/[email protected]
```

Not using a package manager?

---

Copy `completions/*.fish` and `conf.d/*.fish` to your fish configuration
directory preserving the directory structure.

### System Requirements

- [fish][fish shell] 3.0+
- [Docker][]
- Ruby 2.6 or later (to generate completions).

## `gen_completions.rb`

Ported from the Python script in [docker-fish-completion] to Ruby, fixing
some bugs along the way. This should be considered the initial version of the
script, as it does what the Python version did and no more. The plans are to
simplify the generation process further so that the completions are more
readily updated in place, and that commands that themselves have subcommands
can be handled.

It has been tested with Ruby 2.7.

### Usage / Updating

A `Makefile` has been added to make building this easier.

```fish
make
# OR

make docker
make docker-compose

# OR
./gen_completions.rb docker > completions/docker.fish
./gen_completions.rb docker-compose > completions/docker-compose.fish
```

## Licence

[MIT](./LICENCE.md)

## Change Log

[CHANGELOG](./CHANGELOG.md)

## Contributing

- [Contributing](./CONTRIBUTING.md)
- [Contributors](./CONTRIBUTORS.md)
- [Code of Conduct](./CODE_OF_CONDUCT.md)

[docker]: https://www.docker.com
[fish shell]: https://fishshell.com 'friendly interactive shell'
[fisher]: https://github.com/jorgebucaran/fisher
[fish]: https://github.com/fish-shell/fish-shell
[docker-fish-completion]: https://github.com/barnybug-archive/docker-fish-completion
[lewisacidic/fish-docker]: https://github.com/lewisacidic/fish-docker
[docker.fish]: https://github.com/docker/cli/blob/master/contrib/completion/fish/docker.fish
[docker-compose.fish]: https://github.com/docker/compose/blob/master/contrib/completion/fish/docker-compose.fish
[version]: https://img.shields.io/github/tag/halostatue/fish-docker.svg?label=Version