tui.builders

ターミナルUIを
Webのように作る

SuperLightTUI搭載 — zero-unsafe即時モードRust TUIライブラリ。50+ウィジェット、ライブプレビュー、本番コードをエクスポート。他フレームワーク対応予定。

$cargo add superlighttui

無料 ・ サインアップ不要 ・ オープンソース

tui.builders/editor
dashboard.rs
● NORMAL65×22SLT v0.11.0UTF-8

テンプレート

よく使うTUIパターン向けの事前構築レイアウト。エディタで開いて調整し、エクスポートできます。

すべて見る
50+ ウィジェット7 テーマ出力 < 2MB

ワークフロー

01. 設計

02. 設定

let mut ui = Context::new();
ui.col(|ui| {
  ui.text("Hello");
});

03. エクスポート

コンパイル完了
0.42秒で完了

04. 実行

仕組み

1つのエディタに4つの機能。視覚的に設計し、プロパティを確認し、Rustへ出力し、テーマを切り替えます。

ウィジェット

text
button
input
list
table
tabs
progress
gauge
sparkline
checkbox
toggle
select

+11 さらに

キャンバス
ライブ

パレットからキャンバスへウィジェットをドラッグ。コンテナをネストして複雑なレイアウトも作成できます。

プレビュー

プロパティ

タイプ

container

名前

カウンター

方向

col
row

間隔

1

パディング

1

ボーダー

rounded&blacktriangledown;

各ウィジェットのAPIはすべて視覚的なコントロールとして利用できます。方向、余白、色、ボーダーまで編集可能です。

counter.rsSLT v0.11.0
use slt::{Context, Border, Color};

fn main() -> std::io::Result<()> {
    let mut count: i32 = 0;
    slt::run(|ui: &mut Context| {
        if ui.key('q') { ui.quit(); }
        if ui.key('k') { count += 1; }

        ui.bordered(Border::Rounded)
          .pad(1).gap(1).col(|ui| {
            ui.text("Counter")
              .bold().fg(Color::Cyan);
            ui.row(|ui| {
                ui.text("Count:");
                ui.text(format!("{count}"))
                  .bold().fg(Color::Green);
            });
        });
    })
}
$cargo run&check; 問題なくコンパイル

生成コードは実際のSuperLightTUI APIを使用します。コピーしてプロジェクトに貼り付け、cargo runで実行できます。

Dark
Catppuccin
Tokyo
Dracula
Nord
Gruvbox
Solarized

SLTライブラリに含まれる7つのテーマを搭載。ワンクリックで切り替え、即座にプレビューできます。

tui.builders で作られた例

dashboard.rs

ダッシュボード

system-monitor.rs

システムモニター

chat-app.rs

チャットアプリケーション

file-browser.rs

ファイルエクスプローラー

todo-app.rs

ToDo リスト管理

基盤: SuperLightTUI - 即時モードのRust TUIフレームワーク。依存は2つ、unsafeはゼロ、60fpsレンダーループ。

50+ウィジェット
7テーマ
2依存
0unsafe
60fps

ひとつのビルダー、すべてのTUIフレームワーク

一度デザインして、お好みのスタックにエクスポート。SuperLightTUIから始まり、さらに多くのフレームワークに対応予定。

ターミナルUIを作り始めよう

無料、オープンソース、アカウント不要

エディタを開く