| Crates.io | cuc-cli |
| lib.rs | cuc-cli |
| version | 0.2.3 |
| created_at | 2025-07-22 17:28:22.49768+00 |
| updated_at | 2025-12-31 00:44:22.473231+00 |
| description | A CLI tool to generate clink argmatcher completions from the usage spec. |
| homepage | https://github.com/IMXEren/cuc |
| repository | https://github.com/IMXEren/cuc |
| max_upload_size | |
| id | 1763793 |
| size | 91,023 |
A CLI tool to generate clink argmatcher completions from the usage spec.
Go to Releases and download the executable to a desired location. You could also use powershell to download
Invoke-RestMethod "https://github.com/IMXEren/cuc/releases/download/v0.1.0/cuc-v0.1.0-x64.exe" -OutFile "cuc.exe"
The generated usage.completions.lua requires that you have these modules in your package.path (you can also use !init.lua or .init.lua, to ensure the modules are added to package.path):
For dynamic completion i.e. a usage.spec.kdl that uses complete, you'd need a shell while generating. The complete node in the spec uses run command that require unix shells. As a workaround, you can use git-bash which would work fine (CLI already uses it). So, you'd need to specify when using shell other than git-bash (or if not found) like MSYS2 environment.
For loading completions, you can either provide the spec from a file or by stdin.
load(io.popen("abs/path/cuc.exe generate [OPTIONS] abs/path/usage.kdl"):read("*a"))()
load(io.popen("mycli usage | abs/path/cuc.exe generate [OPTIONS]"):read("*a"))()
For an example, you can check out mise-clink.
There are some of the features currently unsupported by cuc generated completions, which may be supported by usage completions.
config and it's related properties.*_helpexamplesource_code_link_templateversionauthorlicenseaboutarg > parse, double_dashflag > count, env, config, required_*, overridescmd > subcommand_required, mountcomplete > descriptions