# Example MDV configuration file
# Copy to ~/.config/mdv/config.yaml

# Theme settings
theme: "monokai"           # Option: "terminal" | "solarized-dark" | "nord" | "tokyonight" | "kanagawa" | "gruvbox" | "monokai" | "tokyonight" | " material-ocean" | "catppuccin"
code_theme: "monokai"      # Option: "terminal" | "solarized-dark" | "nord" | "tokyonight" | "kanagawa" | "gruvbox" | "monokai" | "tokyonight" | " material-ocean" | "catppuccin"
theme_info: false          # Print palette information alongside rendered output
custom_theme: null         # Override individual UI colors (see formats below)
custom_code_theme: null    # Override syntax colors (same format as custom_theme)
custom_callout: null       # Override or create callout styles (e.g. tip:icon=*,color=red;custom:color=#ffffff)
                           # icon/color are optional
                           # Color values use the same formats as custom_theme/custom_code_theme.

# Display behaviour
# Keys must use snake_case (e.g. no_colors, tab_length).
cols: 100                  # Fallback width when terminal size cannot be detected
tab_length: 4              # Replace tab characters with this many spaces
no_colors: false           # Strip all ANSI colors from output
wrap: "char"               # Options: "char" | "word" | "none"
table_wrap: "fit"          # Options: "fit" | "wrap" | "none"
heading_layout: "level"    # Options: "level" | "center" | "flat" | "none"
smart_indent: true         # Smooth heading indentation jumps (only with "level" layout)
table_smart_indent: false  # Automatically adjusts table indentation based on available width
hide_comments: false       # Hide Markdown comments from the rendered output
show_empty_elements: false # Show otherwise hidden empty lists, block quotes, tables, and code blocks
no_code_language: false    # Disable the language label above code blocks
code_guessing: true        # Disable to keep unknown code blocks as plain text
code_block_style: "pretty" # Options: "simple" | "pretty"
callout_style: "pretty"    # Options: "simple:show-icons;fold-icons;uppercase" | "pretty:show-icons;fold-icons;label-inside;uppercase"
                           # label-inside is supported only with "pretty", fold-icons requires show-icons. Icons require Nerd Fonts.
code_wrap_indent: "double" # Options: "none" | "base" | "double"; controls hanging indent inside code blocks
reverse: false             # Render document starting from the end while preserving layout

# Link handling
link_style: "inlinetable"  # Options: "clickable" | "fclickable" | "inline" | "inlinetable" | "endtable" | "hide" (aliases: c/clickable, fc/fclickable, i/inline, it/inlinetable, et/endtable, h/hide)
link_truncation: "wrap"    # Options: "wrap" | "cut" | "tablecut" | "none"

# Footnotes
footnote_style: "endnotes" # Options: "endnotes" | "attached"
missing_footnote_style: "show" # Options: "show" | "hide"

# Content filtering
from_text: null            # Render starting from the first line that contains this text

# `table_wrap` accepts the values above; `heading_layout` also understands camel-case variants from earlier releases.

# Available keys for custom_theme:
# text, text_light, h1..h6, code, code_block, quote, link, emphasis, strong,
# strikethrough, highlight_background, background, border, list_marker,
# table_header, table_border, error, warning

# Available keys for custom_code_theme:
# keyword, string, comment, number, operator, function, variable, type_name

# Color value formats accepted in custom_theme/custom_code_theme/custom_callout:
# Hex strings: "#rrggbb" or "#rgb"
# RGB tuples:  "r,g,b" or "rgb(r,g,b)" (values 0..255)
# ANSI 256:    "ansi(N)" or just "N" (0..255)
# Named:       "red", "darkgrey", etc.
