id = "durdraw"
name = "Durdraw"
homepage = "https://github.com/cmang/durdraw"
description = "ASCII and ANSI art text editor for the terminal"
executables = ["durdraw"]
platforms = ["macos", "linux"]
[dotfiles]
paths = ["~/.durdraw/durdraw.ini"]
secret = []
side_effect = false
[commands]
format = 1
label = "Open or play ASCII art"
description = "Open a .dur, ASCII or ANSI file in the editor, or play animations and exit. Themes, export and undo-size options are only partly covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/cmang/durdraw#command-line-usage"
revision = "2026-10-27"
evidence = """
usage: durdraw [-h] [-p PLAY [PLAY ...]] [-d DELAYEXIT] [-x TIMES] [--256color | --16color] [-b] [-W WIDTH] [-H HEIGHT] [-m]
filename .dur or ascii file to load
-p PLAY [PLAY ...], --play PLAY [PLAY ...]
Just play .dur, .ANS or .ASC file or files, then exit
-d DELAYEXIT, --delayexit DELAYEXIT
Wait X seconds after playback before exiting (requires -p)
-x TIMES, --times TIMES
Play X number of times (requires -p)
--256color Try 256 color mode
--16color Try 16 color mode
-b, --blackbg Use a black background color instead of terminal default
-W WIDTH, --width WIDTH
Set canvas width
-H HEIGHT, --height HEIGHT
Set canvas height
-m, --max Maximum canvas size for terminal (overrides -W and -H)
--nomouse Disable mouse support
--cursor CURSOR Cursor mode (block, underscore, or pipe)
--theme THEME Load a custom theme file
"""
[[commands.field]]
id = "filename"
label = "File to edit"
description = "A .dur, ASCII or ANSI file to load into the editor. Leave empty for a blank canvas."
type = "path"
position = 0
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "play"
label = "Play file and exit"
description = "Just play this file, then exit instead of editing."
type = "path"
option = ["--play", "-p"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "delay_exit"
label = "Wait after playback (seconds)"
description = "Requires Play file."
type = "integer"
option = ["--delayexit", "-d"]
sources = ["help"]
[[commands.field]]
id = "times"
label = "Play count"
description = "Requires Play file."
type = "integer"
option = ["--times", "-x"]
sources = ["help"]
[[commands.field]]
id = "color256"
label = "256 color mode"
type = "boolean"
option = ["--256color"]
sources = ["help"]
[[commands.field]]
id = "color16"
label = "16 color mode"
type = "boolean"
option = ["--16color"]
sources = ["help"]
[[commands.field]]
id = "blackbg"
label = "Black background"
type = "boolean"
option = ["--blackbg", "-b"]
sources = ["help"]
[[commands.field]]
id = "width"
label = "Canvas width"
type = "integer"
option = ["--width", "-W"]
sources = ["help"]
[[commands.field]]
id = "height"
label = "Canvas height"
type = "integer"
option = ["--height", "-H"]
sources = ["help"]
[[commands.field]]
id = "max"
label = "Maximum canvas size"
type = "boolean"
option = ["--max", "-m"]
sources = ["help"]
[[commands.field]]
id = "nomouse"
label = "Disable mouse support"
type = "boolean"
option = ["--nomouse"]
sources = ["help"]
[[commands.field]]
id = "cursor"
label = "Cursor mode"
type = "enum"
option = ["--cursor"]
choices = [{ value = "block", label = "Block" }, { value = "underscore", label = "Underscore" }, { value = "pipe", label = "Pipe" }]
sources = ["help"]
[[commands.field]]
id = "theme"
label = "Theme file"
type = "path"
option = ["--theme"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.task]]
id = "edit"
label = "Edit a file"
fields = ["filename", "max"]
required = ["filename"]
[[commands.task]]
id = "play"
label = "Play an animation"
fields = ["play", "times", "delay_exit"]
required = ["play"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["filename", "play", "times", "delay_exit", "max"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["color256", "color16", "blackbg", "width", "height", "nomouse", "cursor", "theme"]