Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

💡 Per-side border colors

オープン
#69 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@rauhryan がすでに取り組んでいます。

2026年6月10日 から。

評価

この issue はまだ評価されていません。

説明

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.

主要言語
TypeScript
スター
42
フォーク
2
平均マージ
2日 5時間
マージ済み PR(30日)
12

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bombshell-dev/tty のほかの issue

bombshell-dev/tty の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。