id = "peco"
name = "peco"
homepage = "https://github.com/peco/peco"
description = "Simplistic interactive filtering tool."
executables = ["peco"]
[dotfiles]
paths = [
"[configHome]/peco/config.json",
"[configHome]/peco/config.yaml",
"~/.peco/config.json",
]
secret = []
[commands]
format = 1
label = "Interactive filter"
description = "Filter lines from stdin interactively with peco. Configuration-file keybindings and --exec are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "manual"
url = "https://raw.githubusercontent.com/peco/peco/master/README.md"
revision = "2026-10-27"
evidence = """
"""
[[commands.field]]
id = "query"
label = "Initial query"
type = "string"
option = ["--query"]
sources = ["help"]
[[commands.field]]
id = "initial_filter"
label = "Initial filter"
type = "enum"
option = ["--initial-filter"]
choices = [{ value = "IgnoreCase", label = "Ignore case" }, { value = "CaseSensitive", label = "Case sensitive" }, { value = "SmartCase", label = "Smart case" }, { value = "IRegexp", label = "Case-insensitive regexp" }, { value = "Regexp", label = "Regexp" }, { value = "Fuzzy", label = "Fuzzy" }]
sources = ["help"]
[[commands.field]]
id = "layout"
label = "Layout"
type = "enum"
option = ["--layout"]
choices = [{ value = "top-down", label = "Top down" }, { value = "bottom-up", label = "Bottom up" }, { value = "top-down-query-bottom", label = "Top down, query at bottom" }]
sources = ["help"]
[[commands.field]]
id = "height"
label = "Inline height"
description = "Lines or percentage (for example 5 or 40%). Empty uses the full screen."
type = "string"
option = ["--height"]
sources = ["help"]
[[commands.field]]
id = "prompt"
label = "Prompt"
type = "string"
option = ["--prompt"]
sources = ["help"]
[[commands.field]]
id = "select_1"
label = "Auto-select a single line"
type = "boolean"
option = ["--select-1"]
sources = ["help"]
[[commands.field]]
id = "exit_0"
label = "Exit on empty input"
type = "boolean"
option = ["--exit-0"]
sources = ["help"]
[[commands.field]]
id = "print_query"
label = "Print query first"
type = "boolean"
option = ["--print-query"]
sources = ["help"]
[[commands.field]]
id = "on_cancel"
label = "Exit status on cancel"
type = "enum"
option = ["--on-cancel"]
choices = [{ value = "success", label = "Success" }, { value = "error", label = "Error" }]
sources = ["help"]
[[commands.field]]
id = "rcfile"
label = "Config file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--rcfile"]
sources = ["help"]
[[commands.task]]
id = "inline"
label = "Inline picker"
fields = ["height", "layout", "query"]
required = ["height"]
set = { height = ["10"] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["query", "initial_filter", "layout", "height", "prompt"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["select_1", "exit_0", "print_query", "on_cancel", "rcfile"]