Completions
The Completions module turns a plain description of an Effect CLI command tree into shell completion scripts for Bash, Zsh, and Fish. It is the low-level script generation surface used by the unstable CLI package and by the built-in completions global flag.
Constructors
Models
ArgumentDescriptor interface
Added in v4.0.0
Source
Describes a positional argument for completions.
Signature
interface ArgumentDescriptor { readonly description: string | undefined; readonly name: string; readonly required: boolean; readonly type: ArgumentType; readonly variadic: boolean;}ArgumentType type
Added in v4.0.0
Source
Describes the supported argument value shapes.
Signature
type ArgumentType = | { readonly _tag: "String"; } | { readonly _tag: "Integer"; } | { readonly _tag: "Float"; } | { readonly _tag: "Date"; } | { readonly _tag: "Choice"; readonly values: ReadonlyArray<string>; } | { readonly _tag: "Path"; readonly pathType: "file" | "directory" | "either"; };CommandDescriptor interface
Added in v4.0.0
Source
Describes a command for completion script generation.
Signature
interface CommandDescriptor { readonly arguments: readonly Array<ArgumentDescriptor>; readonly description: string | undefined; readonly flags: readonly Array<FlagDescriptor>; readonly name: string; readonly subcommands: readonly Array<CommandDescriptor>;}FlagDescriptor interface
Added in v4.0.0
Source
Describes a command flag for completions.
Signature
interface FlagDescriptor { readonly aliases: readonly Array<string>; readonly description: string | undefined; readonly name: string; readonly type: FlagType;}Describes the supported flag value shapes.
Signature
type FlagType = | { readonly _tag: "Boolean"; } | { readonly _tag: "String"; } | { readonly _tag: "Integer"; } | { readonly _tag: "Float"; } | { readonly _tag: "Date"; } | { readonly _tag: "Choice"; readonly values: ReadonlyArray<string>; } | { readonly _tag: "Path"; readonly pathType: "file" | "directory" | "either"; };Shell type used to generate completion scripts.
Signature
type Shell = "bash" | "zsh" | "fish";
Generates a shell completion script for a command descriptor.
When to use
Use when you need an installable completion script from an existing
CommandDescriptor.Details
Dispatches by
shellto Bash, Zsh, or Fish generation and returns a static script string forexecutableName.See
Shellfor supported shell namesCommandDescriptorfor the command shape used by completion generation