plugin-gentleman 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/tui.tsx +11 -20
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "plugin-gentleman",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.4",
|
|
5
5
|
"description": "OpenCode TUI plugin featuring Mustachi - an animated ASCII mascot with eyes, mustache, and optional motivational phrases during busy states",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
package/tui.tsx
CHANGED
|
@@ -227,22 +227,14 @@ const HomeLogo = (props: { theme: TuiThemeCurrent }) => {
|
|
|
227
227
|
} else if (idx >= (2 * totalLines) / 3) {
|
|
228
228
|
color = darkGray // Bottom shadow
|
|
229
229
|
}
|
|
230
|
-
return <text fg={color}>{line}</text>
|
|
230
|
+
return <text fg={color}>{line.padEnd(61, " ")}</text>
|
|
231
231
|
})}
|
|
232
232
|
|
|
233
|
-
{/* OpenCode branding
|
|
234
|
-
<box flexDirection="
|
|
235
|
-
<
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
<box flexDirection="row" gap={0}>
|
|
239
|
-
<text fg={props.theme.textMuted}>║ </text>
|
|
240
|
-
<text fg={props.theme.primary} bold={true}>OpenCode</text>
|
|
241
|
-
<text fg={props.theme.textMuted}> ║</text>
|
|
242
|
-
</box>
|
|
243
|
-
<box flexDirection="row" gap={0}>
|
|
244
|
-
<text fg={props.theme.textMuted}>╚═══════════╝</text>
|
|
245
|
-
</box>
|
|
233
|
+
{/* OpenCode branding */}
|
|
234
|
+
<box flexDirection="row" gap={0} marginTop={1}>
|
|
235
|
+
<text fg={props.theme.textMuted} dimColor={true}>╭ </text>
|
|
236
|
+
<text fg={props.theme.primary} bold={true}> O p e n C o d e </text>
|
|
237
|
+
<text fg={props.theme.textMuted} dimColor={true}> ╮</text>
|
|
246
238
|
</box>
|
|
247
239
|
|
|
248
240
|
<text> </text>
|
|
@@ -378,8 +370,6 @@ const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; isBusy?:
|
|
|
378
370
|
return lines
|
|
379
371
|
}
|
|
380
372
|
|
|
381
|
-
const faceLines = buildFace()
|
|
382
|
-
|
|
383
373
|
// Grayscale palette for TUI clarity
|
|
384
374
|
const lightGray = "#C0C0C0" // Light gray for highlights
|
|
385
375
|
const midGray = "#808080" // Mid gray for main body
|
|
@@ -389,24 +379,25 @@ const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; isBusy?:
|
|
|
389
379
|
return (
|
|
390
380
|
<box flexDirection="column" alignItems="center">
|
|
391
381
|
{/* Full Mustachi face with grayscale gradient + pink tongue */}
|
|
392
|
-
{
|
|
382
|
+
{buildFace().map((line, idx, arr) => {
|
|
393
383
|
// Check if this is a tongue line
|
|
394
384
|
const isTongue = line.startsWith("TONGUE:")
|
|
395
385
|
const displayLine = isTongue ? line.substring(7) : line
|
|
386
|
+
const paddedLine = displayLine.padEnd(25, " ")
|
|
396
387
|
|
|
397
388
|
if (isTongue) {
|
|
398
|
-
return <text fg={tongueColor}>{
|
|
389
|
+
return <text fg={tongueColor}>{paddedLine}</text>
|
|
399
390
|
}
|
|
400
391
|
|
|
401
392
|
// Apply grayscale gradient to eyes and mustache
|
|
402
|
-
const totalLines =
|
|
393
|
+
const totalLines = arr.length
|
|
403
394
|
let color = midGray
|
|
404
395
|
if (idx < totalLines / 3) {
|
|
405
396
|
color = lightGray // Top highlight
|
|
406
397
|
} else if (idx >= (2 * totalLines) / 3) {
|
|
407
398
|
color = darkGray // Bottom shadow
|
|
408
399
|
}
|
|
409
|
-
return <text fg={color}>{
|
|
400
|
+
return <text fg={color}>{paddedLine}</text>
|
|
410
401
|
})}
|
|
411
402
|
|
|
412
403
|
{/* Busy phrase if loading */}
|