Metadata-Version: 2.1
Name: cmdcomp
Version: 2.5.0
Summary: command shell completion file generator.
Home-page: https://yassun7010.github.io/cmdcomp/
License: BSD-3-Clause
Author: yassun7010
Author-email: yassun7010@outlook.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
Requires-Dist: mergedeep (>=1.3.4,<2.0.0)
Requires-Dist: pydantic (>=2.3,<3.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: rich (>=13.4.2,<14.0.0)
Requires-Dist: rich-argparse (>=1.3.0,<2.0.0)
Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
Project-URL: Repository, https://github.com/yassun7010/cmdcomp
Description-Content-Type: text/markdown

# Command Completion Generator Tool

<!-- --8<-- [start:badges] -->

[![docs](https://github.com/yassun7010/cmdcomp/actions/workflows/publish-mkdocs.yml/badge.svg)](https://yassun7010.github.io/cmdcomp/)
[![test](https://github.com/yassun7010/cmdcomp/actions/workflows/test-suite.yml/badge.svg)](https://github.com/yassun7010/cmdcomp/actions)
[![pypi package](https://badge.fury.io/py/cmdcomp.svg)](https://pypi.org/project/cmdcomp)
[![docker version](https://img.shields.io/docker/v/yassun7010/cmdcomp/latest?label=docker%20version)](https://hub.docker.com/r/yassun7010/cmdcomp)

<!-- --8<-- [end:badges] -->

`cmdcomp` generate command shell completion file (`bash` or `zsh`) from config
`JSON`/`YAML`/`TOML` file.

![image](./docs/images/image.png)

## Why was `cmdcomp` created?

Completion files for many cli tools (`aws`, `gcloud`, etc.) are provided by
self. However, if you want to use these cli tools in multiple products and
multiple environments (prd, dev, etc.), it would be useful to be able to switch
contexts easily. In this situation, I have a simple Shell Script wrapper to
switches settings for each environment easily. (like `mycli prd aws s3 ...`).

`cmdcomp` can generate completion files for your shell script using
configuration wittened by `YAML` or `TOML` or `JSON`.

In today's development, more and more cli tools be used.

If you want to generate a completion file for a simple wrapper script, `cmdcomp`
will be of great help.

## Install

```shell
pip install cmdcomp
```

## Usage

```shell
cmdcomp --config $YOUR_CONFIG_FILE --shell-type bash
```

## Documentation

See [documentation](https://yassun7010.github.io/cmdcomp/) for more details.

## Examples

See [examples](https://github.com/yassun7010/cmdcomp/tree/main/examples/v2).

