You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The TUI markdown renderer (ui-tui/src/components/markdown.tsx) detects GFM pipe tables correctly, but renderTable only produces aligned columns without any border lines — no | separators, no - row dividers. The output looks like plain aligned text, making tables nearly indistinguishable from regular paragraphs, especially in dark terminal themes.
What renderTable currently outputs (conceptual)
Header1 Header2 Header3 <- amber color
data data data <- default color
data data data
No box-drawing characters, no pipe separators, no row dividers.
What users expect
Something with visible borders — either Unicode box-drawing or at minimum pipe+dash separators:
| Header1 | Header2 | Header3 |
|---------|---------|---------|
| data | data | data |
| data | data | data |
Or with Unicode box-drawing:
╔════════╦════════╦════════╗
║ Header ║ Header ║ Header ║
╠════════╬════════╬════════╣
║ data ║ data ║ data ║
╚════════╩════════╩════════╝
Context
File: ui-tui/src/components/markdown.tsx, function renderTable
The function uses Ink Box + Text components with paddingLeft: 2 and column alignment via stringWidth, but draws no borders
Header row gets t.color.amber, data rows get default color — this is the only visual differentiation
Option A: Add Unicode box-drawing borders (configurable via theme)
Option B: Add pipe+dash separators to match GFM rendering
Option C: Wrap detected tables in a styled Ink Box with borderStyle
Option C would leverage Ink's existing border support (borderStyle: "round" | "single" | "double" | "bold") and would be the most consistent with the rest of the TUI's visual style.
Problem
The TUI markdown renderer (
ui-tui/src/components/markdown.tsx) detects GFM pipe tables correctly, butrenderTableonly produces aligned columns without any border lines — no|separators, no-row dividers. The output looks like plain aligned text, making tables nearly indistinguishable from regular paragraphs, especially in dark terminal themes.What
renderTablecurrently outputs (conceptual)No box-drawing characters, no pipe separators, no row dividers.
What users expect
Something with visible borders — either Unicode box-drawing or at minimum pipe+dash separators:
Or with Unicode box-drawing:
Context
ui-tui/src/components/markdown.tsx, functionrenderTableBox+Textcomponents withpaddingLeft: 2and column alignment viastringWidth, but draws no borderst.color.amber, data rows get default color — this is the only visual differentiationSuggested Fix
Option A: Add Unicode box-drawing borders (configurable via theme)
Option B: Add pipe+dash separators to match GFM rendering
Option C: Wrap detected tables in a styled Ink
BoxwithborderStyleOption C would leverage Ink's existing border support (
borderStyle: "round" | "single" | "double" | "bold") and would be the most consistent with the rest of the TUI's visual style.Environment
2182de55(latest HEAD)hermes --tui