id = "mdcat"
name = "mdcat"
homepage = "https://github.com/BIRSAx2/mdcat"
description = "Render CommonMark Markdown to text terminals."
executables = ["mdcat", "mdless", "mdpick"]
[dotfiles]
paths = ["[configHome]/mdcat/config.toml"]
secret = []
[commands]
format = 1
label = "Render Markdown"
description = "Render Markdown files to the terminal with mdcat. Image protocol, tab expansion, completions and terminal-detection options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "manual"
kind = "manual"
url = "https://github.com/BIRSAx2/mdcat/blob/main/mdcat.1.adoc"
revision = "2026-10-27"
evidence = """
-p
--paginate
-P
--no-pager
-c
--no-colour
--columns=_COLUMNS_
--full-width
-l
--local
--theme=_THEME_
_THEME_ is one of `auto`, `dark`, `light`, `catppuccin-mocha`, `catppuccin-latte`, `gruvbox-dark`, `gruvbox-light`, `dracula`, `nord`, `solarized-dark`, or `solarized-light`.
--list-themes
--margin
--smart-punctuation
--emoji
--frontmatter
-w
--watch
--toc
"""
[[commands.field]]
id = "files"
label = "Markdown files"
description = "Reads standard input when empty."
type = "path"
position = 0
multiple = true
path = { kind = "file", role = "input" }
sources = ["manual"]
[[commands.field]]
id = "paginate"
label = "Use a pager"
type = "boolean"
option = ["--paginate", "-p"]
sources = ["manual"]
[[commands.field]]
id = "theme"
label = "Colour theme"
type = "enum"
option = ["--theme"]
choices = [{ value = "auto", label = "Auto" }, { value = "dark", label = "Dark" }, { value = "light", label = "Light" }, { value = "catppuccin-mocha", label = "Catppuccin Mocha" }, { value = "catppuccin-latte", label = "Catppuccin Latte" }, { value = "gruvbox-dark", label = "Gruvbox Dark" }, { value = "gruvbox-light", label = "Gruvbox Light" }, { value = "dracula", label = "Dracula" }, { value = "nord", label = "Nord" }, { value = "solarized-dark", label = "Solarized Dark" }, { value = "solarized-light", label = "Solarized Light" }]
sources = ["manual"]
[[commands.field]]
id = "columns"
label = "Max columns"
description = "0 disables line wrapping."
type = "integer"
option = ["--columns"]
sources = ["manual"]
[[commands.field]]
id = "full_width"
label = "Full terminal width"
type = "boolean"
option = ["--full-width"]
sources = ["manual"]
[[commands.field]]
id = "local"
label = "Local resources only"
type = "boolean"
option = ["--local", "-l"]
sources = ["manual"]
[[commands.field]]
id = "no_colour"
label = "No colours"
type = "boolean"
option = ["--no-colour", "-c"]
sources = ["manual"]
[[commands.field]]
id = "margin"
label = "Left margin"
type = "boolean"
option = ["--margin"]
sources = ["manual"]
[[commands.field]]
id = "smart_punctuation"
label = "Smart punctuation"
type = "boolean"
option = ["--smart-punctuation"]
sources = ["manual"]
[[commands.field]]
id = "emoji"
label = "Emoji shortcodes"
type = "boolean"
option = ["--emoji"]
sources = ["manual"]
[[commands.field]]
id = "toc"
label = "Table of contents"
type = "boolean"
option = ["--toc"]
sources = ["manual"]
[[commands.field]]
id = "watch"
label = "Watch and re-render"
description = "Needs exactly one file; incompatible with --paginate."
type = "boolean"
option = ["--watch", "-w"]
sources = ["manual"]
[[commands.task]]
id = "view"
label = "View a file"
fields = ["files", "theme"]
required = ["files"]
[[commands.task]]
id = "live-preview"
label = "Live preview"
set = { watch = [true] }
lock = ["watch"]
fields = ["files", "watch", "theme"]
required = ["files"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["files", "theme", "paginate", "watch", "toc"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["columns", "full_width", "local", "no_colour", "margin", "smart_punctuation", "emoji"]