Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

💡 Per-side border colors

Abierto
#69 0 comentarios 0 reacciones 1 asignado Ver en GitHub

@rauhryan ya está trabajando en esto.

Desde el 10/6/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
42
Forks
2
Merge medio
2 d 5 h
PR fusionados (30 d)
12

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de bombshell-dev/tty

Todos los issues de bombshell-dev/tty

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.