Repository navigation
Description
Summary
Fix markdown table border rendering where box-drawing characters appear disconnected/broken instead of forming clean connected lines.
Problem
Currently, OpenCode renders markdown tables with box-drawing characters (┌│┐─┼) via Glamour. However, these characters render as disconnected segments in many terminal environments, making tables very difficult to read.
Current Rendering (Broken/Disconnected)
The box-drawing characters appear as separate fragments:
┌ ─ ─ ─ ┬ ─ ─ ─ ┐
│ │ │
├ ─ ─ ─ ┼ ─ ─ ─ ┤
Instead of properly connected lines like this:
┌───────┬───────┐
│ │ │
├───────┼───────┤
Desired: Rich-style Connected Borders
Python's Rich library renders tables with properly connected borders that look clean:
┌─────────┬──────┬─────────┐
│ Name │ Age │ Status │
├─────────┼──────┼─────────┤
│ Alice │ 30 │ Active │
│ Bob │ 25 │ Pending │
└─────────┴──────┴─────────┘
Root Cause Analysis
This appears to be related to how Glamour renders table borders - possibly:
- Character spacing issues between box-drawing characters
- Font rendering inconsistencies with Unicode box-drawing
- ANSI escape sequence handling that breaks character connections
Proposed Solutions
Option 1: Fix Glamour Integration
Ensure box-drawing characters are rendered adjacently without spacing issues.
Option 2: Alternative Table Renderer
Consider using a table rendering approach similar to:
- Rich (Python) - uses
rich.table.Tablewith proper border handling - Lipgloss tables - Charm's Go library with proper border rendering
Option 3: Configuration Option
Add a tui.table_renderer option:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"table_renderer": "rich" // or "glamour", "lipgloss"
}
}Use Cases
- Data-heavy workflows: DevOps/SA work involves many comparison tables
- Readability: Connected borders are essential for distinguishing columns
- Professional output: Current broken rendering looks unprofessional
Environment
- OpenCode version: Latest
- OS: macOS
- Terminal: Various (WezTerm, iTerm2, etc.)
- The issue persists across different terminal emulators
References
- Rich Tables - Python library with proper table rendering
- Lipgloss Tables - Go library by Charm
Additional Context
This significantly impacts user experience when working with LLM outputs containing structured data tables. The disconnected borders make it hard to follow rows and columns, especially in multi-column tables.
Activity
github-actions commentedon Feb 4, 2026
This issue might be a duplicate of existing issues. Please check:
Feel free to ignore if none of these address your specific case.
[-]Feature Request: Add markdown table style configuration option[/-][+]Feature Request: Fix table border rendering - box-drawing characters appear disconnected[/+]github-actions commentedon Apr 6, 2026
To stay organized issues are automatically closed after 90 days of no activity. If the issue is still relevant please open a new one.