id = "itermocil"
name = "itermocil"
homepage = "https://github.com/TomAnthony/itermocil"
description = "Create pre-defined window/pane layouts and run commands in iTerm."
executables = ["itermocil"]
platforms = ["macos"]
[dotfiles]
paths = ["~/.itermocil/"]
secret = []
[commands]
format = 1
label = "Open a layout"
description = "Open an iTerm2 window layout by name or from a YAML file. Run without a layout name to use ./iTermocil.yml."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "readme"
kind = "manual"
url = "https://github.com/TomAnthony/itermocil/blob/master/README.md"
revision = "README"
evidence = """
$ itermocil [options] <layout-name>
| `--list` | Lists all available layouts in `~/.itermocil`
| `--layout` | Takes a custom file path to a YAML layout file instead of `[layout-name]`
| `--here` | Uses the current window as the layout's first window
| `--edit` | Edit the layout file in either `$EDITOR` or your preferred GUI editor
"""
[[commands.field]]
id = "name"
label = "Layout name"
description = "A layout in ~/.itermocil."
type = "string"
position = 0
sources = ["readme"]
[[commands.field]]
id = "layout"
label = "Layout file"
description = "Use this YAML file instead of a named layout."
type = "path"
path = { kind = "file", role = "input" }
option = ["--layout"]
sources = ["readme"]
[[commands.field]]
id = "here"
label = "Use current window"
type = "boolean"
option = ["--here"]
sources = ["readme"]
[[commands.field]]
id = "edit"
label = "Edit instead of open"
type = "boolean"
option = ["--edit"]
sources = ["readme"]
[[commands.field]]
id = "list"
label = "List layouts"
type = "boolean"
option = ["--list"]
sources = ["readme"]
[[commands.task]]
id = "open"
label = "Open a layout"
fields = ["name", "here"]
required = ["name"]
[[commands.task]]
id = "edit"
label = "Edit a layout"
set = { edit = [true] }
lock = ["edit"]
fields = ["name", "edit"]
required = ["name"]
[[commands.task]]
id = "list"
label = "List layouts"
set = { list = [true] }
lock = ["list"]
fields = ["list"]
required = []
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["name", "here", "edit", "list"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["layout"]