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

💡 Border style variety (named styles + custom charset)

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

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
c, typescript
領域
cli, tooling

調査の方向性

まず feat/border-style の比較と、test/border-styles.test.ts にある失敗しているテストを確認します。次に、src/clayterm.c の render_border と cornerRadius の三項演算子、ops.ts の wire-format の経路、および PROP_BORDER のデコードを読みます。要求された名前付きスタイルまたはカスタムグリフのマッピングがデコード後も維持され、テストで正しくレンダリングされれば完了です。

索引モデルが issue の本文から書いたものです。

説明

enhancement

Is your feature request related to a problem?

We can only draw one style of border. The renderer hardcodes every glyph—corners ┌┐└┘, horizontals ─, verticals │. When cornerRadius > 0, the corners are swapped for ╭╮╰╯ .

Describe the solution you'd like

Callers should be able to pick from CSS border-style (to the extent possible), and potentially custom glyphs.

"double" would select ╔╗╚╝ / ═ / ║; a custom object maps each position (topLeft, top, topRight, right, bottomRight, bottom, bottomLeft, left) to a string drawn verbatim:

const border = {
  color: rgba(255, 255, 255),
  left: 1,
  right: 1,
  top: 1,
  bottom: 1,
  charset: "double", // or others
};

Describe alternatives you've considered

Drop our border and paint the box as raw text cells, which loses the layout engine's border reservation, junction handling, and per-side widths—reimplementing the border renderer in user space.

Additional context

Failing test case on nm/repro/border-styles (test · diff); charset is dropped today, so single-line glyphs render regardless. The change likely lives in render_border at src/clayterm.c:300 and the cornerRadius-keyed ternaries at src/clayterm.c:310-313, with the wire format threading a style/glyph field through ops.ts:256, ops.ts:138-149, and the PROP_BORDER decode at src/clayterm.c:530-537.

Implementation is in progress on feat/border-style and may be closed by its PR.

主要言語
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 を短くまとめたダイジェスト。