Initial Release: OpenQode Public Alpha v1.3

This commit is contained in:
Gemini AI
2025-12-14 00:40:14 +04:00
Unverified
commit 8e8d80c110
119 changed files with 31174 additions and 0 deletions

90
bin/tui-theme.mjs Normal file
View File

@@ -0,0 +1,90 @@
/**
* TUI Theme Module - Centralized styling for OpenQode TUI
* Provides consistent colors, spacing, and border styles
* With capability detection for cross-platform compatibility
*/
// Capability detection
const hasUnicode = process.platform !== 'win32' ||
process.env.WT_SESSION || // Windows Terminal
process.env.TERM_PROGRAM === 'vscode'; // VS Code integrated terminal
// Theme configuration
export const theme = {
// Spacing scale (terminal rows/chars)
spacing: {
xs: 0,
sm: 1,
md: 2,
lg: 3
},
// Semantic colors
colors: {
fg: 'white',
muted: 'gray',
border: 'gray',
info: 'cyan',
success: 'green',
warning: 'yellow',
error: 'red',
accent: 'magenta',
user: 'cyan',
assistant: 'white',
system: 'yellow'
},
// Border styles with fallback
borders: {
default: hasUnicode ? 'round' : 'single',
single: 'single',
round: hasUnicode ? 'round' : 'single',
double: hasUnicode ? 'double' : 'single'
},
// Card-specific styles
cards: {
system: {
borderStyle: hasUnicode ? 'round' : 'single',
borderColor: 'yellow',
paddingX: 1,
paddingY: 0,
marginBottom: 1
},
user: {
marginTop: 1,
marginBottom: 1,
promptIcon: hasUnicode ? '' : '>',
promptColor: 'cyan'
},
assistant: {
borderStyle: 'single',
borderColor: 'gray',
paddingX: 1,
paddingY: 0,
marginBottom: 1,
divider: hasUnicode ? '── Assistant ──' : '-- Assistant --'
},
error: {
borderStyle: hasUnicode ? 'round' : 'single',
borderColor: 'red',
paddingX: 1,
paddingY: 0,
marginBottom: 1,
icon: hasUnicode ? '⚠' : '!'
}
},
// Icons with fallback
icons: {
info: hasUnicode ? '' : 'i',
warning: hasUnicode ? '⚠' : '!',
error: hasUnicode ? '✗' : 'X',
success: hasUnicode ? '✓' : 'OK',
bullet: hasUnicode ? '•' : '-',
arrow: hasUnicode ? '→' : '->',
prompt: hasUnicode ? '' : '>'
}
};
export default theme;