Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

💡 Per-side border colors

Aperta
#69 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@rauhryan ci sta già lavorando.

Dal 10/6/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

enhancement

Is your feature request related to a problem?

A border applies one color to all four sides—there's no way to color sides independently. You can't draw a box with, say, a red top edge and a green bottom edge, or give one side its own background. The border op only takes scalar per-side widths plus a single shared color.

Describe the solution you'd like

Let each side accept a structured form { width, color? } (in addition to the scalar width), overriding the shared color for that edge:

open("box", {
  border: {
    color: rgba(255, 255, 255), // shared fallback
    top: { width: 1, color: rgba(255, 0, 0) }, // red top
    bottom: { width: 1, color: rgba(0, 255, 0) }, // green bottom
    left: 1,
    right: 1,
  },
});

The shared color stays the fallback for any side that doesn't override. Once #68 lands, the same design should apply for bg.

Describe alternatives you've considered

Nesting four separate single-edge bordered elements to recolor each side is possible but explodes the element count, doesn't share corners cleanly, and is fragile under resize. Per-side data belongs on the one border op.

Additional context

Failing test case on nm/repro/border-per-side (test · diff).

Today the border op carries one color plus a single packed width word; render_border (src/clayterm.c:300) draws every edge with that one color. Per-side color/bg needs the border type (ops.ts) to accept { width, color?, bg? } per side and additional words in the border wire format—ideally the same per-side encoding being added in the feat/border-style branch.

Lingua principale
TypeScript
Stelle
42
Fork
2
Merge medio
2g 5h
PR unite (30g)
12

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di bombshell-dev/tty

Tutte le issue di bombshell-dev/tty

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.