# Line width configuration lineWidth: max: 120 # Maximum line width (terminal width) # value: 80 # Uncomment to set fixed line width # ASCII fallback mode for limited terminals that don't support Unicode asciiMode: false # Set to true to use ASCII characters instead of Unicode theme: # ======== # HEADERS (h1-h6) # ======== h1: color: red bold indicator: marker: '#' color: red bold h2: color: blue bold indicator: marker: '##' color: blue bold h3: color: blue bold indicator: marker: '###' color: blue bold h4: color: cyan bold indicator: marker: '####' color: cyan bold h5: color: cyan indicator: marker: '#####' color: cyan h6: color: cyan indicator: marker: '######' color: cyan # ======== # TEXT BLOCKS # ======== p: color: '' blockquote: color: '' # Rotating indicators by depth (cycles after level 3) indicators: - marker: '│ ' color: blue - marker: '┃ ' color: cyan - marker: '┆ ' color: magenta address: color: italic pre: padding: left: 1 right: 0 top: 0 bottom: 0 # ======== # INLINE TEXT FORMATTING # ======== span: color: '' bold: color: bold italic: color: italic i: color: italic em: color: italic cite: color: italic underline: color: underline strikethrough: color: strikethrough mark: color: bgYellow black # ======== # SEMANTIC INLINE TEXT # ======== code: color: yellowBright bgBlack # Default for inline code highlight: color: bgYellowBright black block: # Applies only to
 blocks
      enabled: true
      color: yellowBright

      numbers:
        enabled: true
        color: blackBright dim

      gutter:
        enabled: false
        marker: ' │ '
        color: blackBright dim

      label:
        enabled: false
        position: top  # top or bottom
        color: bgBlack cyan
        prefix:
          marker: '['
          color: gray bgBlack
        suffix:
          marker: ']'
          color: gray bgBlack

      overflowIndicator:
        enabled: true  # Replaces line number for continuation lines
        marker: '↳'
        color: blackBright dim

      diff:  # Git-style diff highlighting
        enabled: false
        added:
          color: bgGreen black
          indicator:
            marker: '+ '
            color: green bold
        removed:
          color: bgRed black
          indicator:
            marker: '- '
            color: red bold
        modified:
          color: bgYellow black
          indicator:
            marker: '~ '
            color: yellow bold
        unchanged:
          color: ''
          indicator:
            marker: '  '

  kbd:
    color: cyan
    prefix:
      marker: '['
      color: gray
    suffix:
      marker: ']'
      color: gray
    key:
      enabled: false  # Key-by-key styling: [ Ctrl ] + [ S ]
      style: simple  # simple or box
      separator: '+'

  samp:
    color: yellowBright
    prefix:
      marker: '$ '
      color: green dim
    suffix:
      marker: ''
      color: ''

  var:
    color: blue italic

  abbr:
    color: underline
    title:
      color: cyan
      prefix:
        marker: '('
        color: gray
      suffix:
        marker: ')'
        color: gray

  dfn:
    color: underline italic
    title:
      color: cyan
      prefix:
        marker: '('
        color: gray
      suffix:
        marker: ')'
        color: gray

  time:
    color: cyan

  sub:
    color: ''
    prefix:
      marker: '₍'
      color: gray dim
    suffix:
      marker: '₎'
      color: gray dim

  sup:
    color: ''
    prefix:
      marker: '⁽'
      color: gray dim
    suffix:
      marker: '⁾'
      color: gray dim

  # ========
  # TEXT MODIFICATIONS (del/ins)
  # ========

  del:
    color: bgRed black
    diff:
      enabled: false
      style: git  # simple or git
      marker: '-'
      color: red bold

  ins:
    color: bgGreen black
    diff:
      enabled: false
      style: git  # simple or git
      marker: '+'
      color: green bold

  # ========
  # LINKS
  # ========

  a:
    color: blue underline
    href:
      enabled: auto  # auto = show only if terminal doesn't support hyperlinks
      color: gray
    title:
      enabled: false
      color: yellow
      prefix:
        marker: ' ('
        color: yellow
      suffix:
        marker: ')'
        color: yellow
    external:
      enabled: false  # Show indicator for external links
      marker: '↗'
      color: gray
      position: after  # before or after
      spacing: ' '

  # ========
  # LISTS
  # ========

  ul:
    color: ''  # Unordered list text color
    indicators:
      disc:  # Disc marker (•)
        color: redBright
        marker: '•'
      square:  # Square marker (▪)
        color: yellowBright
        marker: '▪'
      circle:  # Circle marker (⚬)
        color: cyanBright
        marker: '⚬'
    indent: '  '  # Indentation for nested lists

  ol:
    color: ''  # Ordered list text color
    indicators:
      '1':  # Decimal numbers (1, 2, 3...)
        color: blueBright
        marker: '1'  # Marker type
        decimal: '.'  # Separator after number
      I:  # Roman numerals uppercase (I, II, III...)
        color: cyanBright
        marker: I
        decimal: '.'
      A:  # Letters uppercase (A, B, C...)
        color: magentaBright
        marker: A
        decimal: '.'
      i:  # Roman numerals lowercase (i, ii, iii...)
        color: blueBright
        marker: i
        decimal: '.'
      a:  # Letters lowercase (a, b, c...)
        color: cyanBright
        marker: a
        decimal: '.'
    indent: '   '  # Indentation for nested lists

  li:
    color: ''  # List item text color

  dl:
    color: ''  # Definition list container color

  dt:
    color: blue bold  # Definition term color

  dd:
    color: cyan  # Definition description color

  # ========
  # TABLES
  # ========

  table:
    color: ''  # Default table color (inherited by tr and td)
    responsive:
      enabled: true  # Enable responsive mode for narrow terminals
      threshold: 60  # Terminal width threshold to switch to list view
      separator: ': '  # Separator between header and value in list mode
      itemSeparator: '\n\n'  # Separator between items in list mode

    # Zebra striping for alternating row colors with flexible pattern
    striping:
      enabled: false  # Enable zebra striping
      count: 2  # Number of different colors to cycle through (2-5)
      rows:  # Array of row stripe styles (0-based array index, but represents 1-based row numbers in data attributes)
        - color: 'white bgBlack'        # Row 1 (index 0): rows 1, count+1, count*2+1, ...
        - color: 'white bgBlackBright'  # Row 2 (index 1): rows 2, count+2, count*2+2, ...
        - color: 'white bgBlue'         # Row 3 (index 2): rows 3, count+3, ... - used only if count >= 3
        - color: 'white bgGreen'        # Row 4 (index 3): rows 4, count+4, ... - used only if count >= 4
        - color: 'white bgMagenta'      # Row 5 (index 4): rows 5, count+5, ... - used only if count >= 5
      # Example with count=2 (classic zebra): rows alternate between rows[0] and rows[1]
      # Example with count=3: rows cycle through rows[0].color, rows[1].color, rows[2].color
      # Note: data-cli-striping-row-N-color uses 1-based numbering (N=1,2,3,4,5) for user convenience

    # Cell alignment indicators
    alignment:
      enabled: false
      left:
        indicator: ''
        color: ''
      center:
        indicator: '≡ '
        color: gray dim
      right:
        indicator: '» '
        color: gray dim

  caption:
    color: blue bold  # Table caption color

  thead:
    color: 'red bold'  # Table head section color

  tbody:
    color: ''  # Table body section color

  tfoot:
    color: ''  # Table footer section color

  tr:
    color: ''  # Table row color

  th:
    color: 'red bold'  # Table header cell color

  td:
    color: ''  # Table data cell color

  # ========
  # FORMS & INPUTS
  # ========

  input:
    # Disabled state (applies to all input types)
    disabled:
      color: gray dim  # Color for disabled inputs

    # Required field indicator
    required:
      enabled: true  # Show required field indicator
      indicator:
        marker: '*'  # Required marker
        color: red  # Marker color
        position: after  # before or after input (before adds marker before input, after adds after)

    checkbox:
      checked:
        color: green bold  # Color for checked state
        marker: '✓'  # Marker for checked
      unchecked:
        color: gray  # Color for unchecked state
        marker: ' '  # Marker for unchecked
      prefix:
        color: gray  # Opening bracket color
        marker: '['
      suffix:
        color: gray  # Closing bracket color
        marker: ']'

    radio:
      checked:
        color: red bold  # Color for checked state
        marker: '•'  # Marker for checked
      unchecked:
        color: gray  # Color for unchecked state
        marker: ' '  # Marker for unchecked
      prefix:
        color: gray  # Opening parenthesis color
        marker: (
      suffix:
        color: gray  # Closing parenthesis color
        marker: )

    button:
      color: bgBlack bold  # Button text color (for input type="button")
      prefix:
        color: bgBlack gray  # Opening marker color
        marker: '[ '
      suffix:
        color: bgBlack gray  # Closing marker color
        marker: ' ]'

    textInput:
      color: cyanBright bgBlack  # Text input field color

    textarea:
      color: cyanBright bgBlack  # Textarea field color

    range:
      filled:
        color: magenta bgMagenta  # Color for filled portion of range
        marker: '█'
      empty:
        color: gray bgGray  # Color for empty portion
        marker: '░'
      thumb:
        color: magenta bold bgGray  # Slider thumb color
        marker: '●'

    color:
      indicator:
        marker: '■'  # Color indicator (will be colored with the actual color value)
      prefix:
        marker: '('  # Opening bracket for color value
        color: gray  # Bracket color
      suffix:
        marker: ')'  # Closing bracket for color value
        color: gray  # Bracket color
      value:
        color: ''  # Hex value color (empty = no color)

    password:
      char: '*'  # Character to use for masking password (alternatives: *, ●, ⚫)
      count: 6  # Number of masking characters to display
      color: gray  # Password mask color

    email:
      prefix:
        marker: '@ '  # Email prefix indicator
        color: cyan  # Prefix color
      color: cyan  # Email text color

    date:
      prefix:
        marker: '# '  # Date prefix indicator
        color: blue  # Prefix color
      color: blue  # Date value color

    file:
      color: cyan  # File name color
      prefix:
        marker: '@'  # Prefix marker for file input
        color: gray
      placeholder: No file chosen  # Placeholder text when no file selected

  button:
    color: bgBlack bold  # Button text color (separate from input type="button")
    disabled:
      color: gray dim  # Color for disabled button
    prefix:
      color: bgBlack gray  # Opening marker color
      marker: '[ '
    suffix:
      color: bgBlack gray  # Closing marker color
      marker: ' ]'

  fieldset:
    color: gray  # Content color
    disabled:
      color: gray dim  # Color for disabled fieldset
    border:
      color: gray  # Border color
      style: single  # Border style
      dim: false  # Dim border
    title:
      color: yellow  # Legend (title) color
    padding:
      top: 0
      bottom: 0
      left: 1
      right: 1

  label:
    color: ''  # Label element color

  select:
    color: cyan bold  # Select label color
    disabled:
      color: gray dim  # Color for disabled select
    prefix:
      marker: ''  # Prefix before label
      color: ''
    suffix:
      marker: ':'  # Suffix after label
      color: cyan bold

  option:
    color: ''  # Option text color
    disabled:
      color: gray dim  # Color for disabled option
    selected:
      marker: '◉'  # Marker for selected option
      color: green bold  # Selected option color
    unselected:
      marker: '○'  # Marker for unselected option
      color: gray  # Unselected option color

  optgroup:
    indicator:
      marker: '▸ '  # Marker for option group
      color: cyan bold
    label:
      color: cyan bold  # Option group label color

  # ========
  # INTERACTIVE ELEMENTS
  # ========

  details:
    color: gray  # Content color
    indicator:
      open:
        marker: '▼ '  # Marker when details is open
        color: gray
      closed:
        marker: '▶ '  # Marker when details is closed
        color: gray
    border:
      color: gray
      style: single
      dim: false
    padding:
      top: 0
      bottom: 0
      left: 1
      right: 1

  progress:
    # width: 30  # Fixed width (optional, adaptive by default: 30% of lineWidth, min 10, max 60)
    filled:
      color: bgWhite cyan  # Color for filled portion
      marker: '█'  # Character for filled portion
    empty:
      color: bgBlack gray  # Color for empty portion
      marker: '░'  # Character for empty portion

  meter:
    width: 30  # Bar width (adaptive by default: 30% of lineWidth, min 10, max 60)

    # Value ranges with different colors based on value position
    ranges:
      low:  # Low range (value < low threshold)
        threshold: 0.33  # Percentage of max value (0-1)
        color: red bgRed  # Color for low range
        marker: '█'
      medium:  # Medium range (low <= value < high)
        threshold: 0.66  # Percentage of max value
        color: yellow bgYellow  # Color for medium range
        marker: '█'
      high:  # High/optimal range (value >= high threshold)
        threshold: 1.0  # Percentage of max value
        color: green bgGreen  # Color for high range
        marker: '█'

    empty:
      color: gray bgBlack  # Empty portion color
      marker: '░'

    # Value labels
    labels:
      enabled: true  # Show value labels
      format: '%v/%m'  # %v = value, %m = max, %n = min, %% = percent
      color: gray  # Label text color
      position: right  # left or right of the bar

  data:
    color: ''  # Text color (uses default if empty)
    # Value display (data-value attribute)
    value:
      enabled: false  # Show value attribute
      color: cyan  # Value color
      prefix:
        marker: ' ['  # Opening bracket
        color: gray
      suffix:
        marker: ']'  # Closing bracket
        color: gray

  # ========
  # MEDIA
  # ========

  img:
    indicator:
      marker: '!'  # Prefix marker (like Markdown)
      color: cyan  # Color for indicator marker
    prefix:
      marker: '['  # Opening bracket
      color: gray  # Opening bracket color
    suffix:
      marker: ']'  # Closing bracket
      color: gray  # Closing bracket color
    alt:
      color: cyan  # Alt text color

  # ========
  # VISUAL ELEMENTS
  # ========

  hr:
    color: gray  # Line color
    marker: '─'  # Character for the line

  figure:
    color: gray  # Content color
    border:
      color: gray  # Border color
      style: round  # Border style: round, single, double, bold, classic
      dim: false  # Dim border (less bright)
    padding:
      top: 0  # Padding lines at top
      bottom: 0  # Padding lines at bottom
      left: 1  # Padding spaces on left
      right: 1  # Padding spaces on right

  figcaption:
    color: bgGreen bold  # Caption color
    prefix: ' '  # Text before caption
    suffix: ' '  # Text after caption

  # ========
  # CONTAINER ELEMENTS (semantic HTML5)
  # ========

  div:
    color: ''  # Generic container color

  header:
    color: ''  # Header container color

  footer:
    color: ''  # Footer container color

  article:
    color: ''  # Article container color

  section:
    color: ''  # Section container color

  main:
    color: ''  # Main content container color

  nav:
    color: ''  # Navigation container color

  aside:
    color: ''  # Aside container color

  form:
    color: ''  # Form container color

  picture:
    color: ''  # Picture container color

  hgroup:
    color: ''  # Heading group container color

  dialog:
    color: ''  # Dialog container color

  # ========
  # LEGACY / DEPRECATED ELEMENTS
  # ========

  center:
    color: ''  # Centered text color (deprecated, use CSS text-align instead)

  blink:
    color: ''  # Blink element color (deprecated)
    # Animation indicator for blinking text
    animation:
      enabled: false  # Enable animation indicator
      indicator:
        marker: '⚡'  # Blink indicator
        color: yellow
        position: both  # before, after, or both

  marquee:
    color: ''  # Marquee element color (deprecated)
    # Direction indicators for scrolling text
    direction:
      enabled: true  # Show scroll direction indicator
      left:  # Default scrolling direction
        indicator:
          marker: '⟵'  # Left scroll indicator
          color: cyan
      right:
        indicator:
          marker: '⟶'  # Right scroll indicator
          color: cyan
      up:
        indicator:
          marker: '⟰'  # Up scroll indicator
          color: cyan
      down:
        indicator:
          marker: '⟱'  # Down scroll indicator
          color: cyan
      position: before  # before or after text