プログラミング
Show HN: Toast、デフォルトで美しいターミナルIDE
Show HN: Toast, a beautiful by default in terminal IDE (github.com)
要約
Toastは、ターミナル内で動作する美しく機能的なIDEです。LSP、ファイルツリー、タブ、テーマなどが標準で組み込まれており、設定に時間をかけずにターミナル環境で開発したい開発者向けに設計されています。現在開発初期段階ですが、Homebrewやリリースバイナリからのインストールが可能です。
全文翻訳
Toastは、ターミナル内で動作する美しい開発環境です。
vim、nvim、emacsはエディタをゼロから構築する必要がありますが、ToastはマネージドLSP、統合ファイルツリー、複数ファイルタブ、テーマなどを標準で提供します。
Toastは、ターミナル環境を快適にするために何時間も費やしたくない開発者のためのものです。
⚠️ このプロジェクトは開発初期段階であり、バグが発生する可能性があります。
⚠️ クイックインストール
brew install paradise-runner/tap/toast
機能
エディタ
AI機能なし
テレメトリなし
組み込みファイルツリー
マウスサポート
Toast
✅
✅
✅
✅
vim
✅
✅
❌
❌
emacs
✅
✅
❌
❌
vscode
❌
❌
✅
✅
zed
❌
❌
✅
✅
保存されていない変更を示すインジケーター、マウスでのクローズボタン、終了確認付きのマルチタブ編集
tree-sitterによるシンタックスハイライト(Go、Python、JavaScript、TypeScript、Rust、CSS、HTML、YAML、Bash、Markdown)
マネージド言語サーバー — Toastは、Go、Rust、Python、JavaScript、TypeScript、Markdown(harper)の不足しているサーバーのインストールを提案し、他の言語用の拡張可能な設定を提供します。
スペルチェック — Markdownおよびプレーンテキストファイル内のスペルミスは、テーマの診断色で下線が表示されます(harper経由)。
定義へ移動 — Ctrlキーを押しながらホバーすると、シンボルにターゲットの下線が表示され、Ctrl+クリックで正確な定義にジャンプします。
gitステータス、無視されたファイルの減光、作成/削除アクション、ファイル監視、ドラッグ可能なリサイズを備えたファイルツリーサイドバー
rg(ripgrep)で強化されたプロジェクト全体の検索
次の/前のナビゲーション、大文字/小文字の区別、単語単位のオプションを備えたファイル内検索/置換
コマンドパレット — Ctrl+Shift+Pで、キーバインドヒント、ライブトグル状態、MRU順序、ステータスバーでの確認フラッシュ付きで、すべての操作をファジー検索します。
Markdownプレビュー(.md、.markdown、.mdxファイル用)
テーマシステム — 組み込みシステム(実行時にターミナルカラーから派生)、toast-dark、toast-light、およびVSCodeテーマインポーターが含まれます。
自動保存 — 設定可能な非アクティブ遅延(デフォルト300ミリ秒)後に、変更されたファイルがディスクに書き込まれます。手動保存モードもオプションで利用可能です。
設定方法
Homebrew(macOS)
brew install paradise-runner/tap/toast
リリースをダウンロード
リリースページからプラットフォーム用のzipファイルをダウンロードし、解凍して、バイナリを$PATHに配置します。
# Apple Siliconの例
curl -Lo toast.zip https://github.com/paradise-runner/toast/releases/latest/download/toast-darwin-arm64.zip
unzip toast.zip
install -m755 toast-darwin-arm64 /usr/local/bin/toast
スタンドアロンmacOSアプリ
⚠️ 実験的:これはtoastをlibghosttyターミナルウィンドウ内にバンドルしており、ターミナルバージョンよりもバグが多いです。
TUI — Homebrewまたは上記のリリースバイナリ — が主要で最もテスト済みの実行方法です。
ネイティブアプリをターミナルよりも優先しますか? 各リリースにはToast.appも含まれています — 独自のターミナルウィンドウ(libghostty)、ネイティブメニューバー、ドックアイコンを備えた完全なデスクトップアプリです。
ターミナル、Homebrew、またはGoは不要です。
リリースページからMac用のzipをダウンロードしてください:Apple Silicon(M1/M2/M3/M4)の場合はtoast-app-darwin-arm64.zip、Intelの場合はtoast-app-darwin-amd64.zip。
解凍してToast.appをApplicationsフォルダにドラッグします。
curl -LO https://github.com/paradise-runner/toast/releases/latest/download/toast-app-darwin-arm64.zip
unzip toast-app-darwin-arm64.zip
mv Toast.app /Applications/
初回起動:アプリはまだコード署名も公証もされていないため、macOS Gatekeeperは通常のダブルクリックをブロックします。
FinderでToast.appを右クリックし、「開く」を選択し、もう一度「開く」を選択します — その後は問題なく起動します。
または、一度だけクォーランティンフラグをクリアします。
xattr -dr com.apple.quarantine /Applications/Toast.app
open -a Toast ~/src/foo.go
open -a Toast ~/src/myproject
ソースからビルド
Go 1.25.2+が必要です。
git clone https://github.com/paradise-runner/toast
cd toast
make build
# バイナリはbin/toastに書き込まれます
使用方法
toast
# 現在のディレクトリを開く
toad path/to/dir
# 特定のディレクトリを開く
toad path/to/file
# ファイルを開く(gitルートを自動検出)
toad new/file.go
# 親ディレクトリが存在する場合、新しいファイルバッファを開く
toad --help
toad --version
キーバインド
すべてのキーバインドは~/.config/toast/config.jsonで再マッピングできます(設定を参照)。
キー
アクション
Ctrl+Q
終了
Ctrl+S / Cmd+S
保存
Ctrl+W / Cmd+W
タブを閉じる
Ctrl+P
ファイルをクイックオープン(ファジー検索)
Ctrl+Shift+P / Cmd+Shift+P
コマンドパレット
Ctrl+Alt+Right
次のタブ
Ctrl+Alt+Left
前のタブ
Ctrl+B
サイドバーの切り替え
Ctrl+Shift+E
エディタとファイルツリーの間でフォーカスを切り替える
Ctrl+Shift+F
検索
Ctrl+F / Cmd+F
現在のファイルで検索/置換
Ctrl+G / Cmd+L
行へ移動
Ctrl+Shift+M
Markdownプレビューの切り替え
Ctrl+Z / Cmd+Z
元に戻す
Ctrl+Y / Ctrl+Shift+Z / Cmd+Y / Cmd+Shift+Z
やり直し
Ctrl+Space / Cmd+Space
補完をトリガー
Ctrl+Shift+K
ホバーを表示
Ctrl+hover / Ctrl-click
定義をチェックしてジャンプ
F12
カーソル位置の定義へ移動
設定
Toastは起動時に~/.config/toast/config.jsonを読み込みます。キーが欠落している場合はデフォルト値が使用されます。
{
"theme": "toast-dark",
"editor": {
"tab_width": 4,
"auto_indent": true,
"trim_trailing_whitespace_on_save": true,
"insert_final_newline_on_save": true,
"auto_save": "auto",
"auto_save_delay_ms": 300,
"bottom_padding": 3
},
"sidebar": {
"visible": true,
"width": 30,
"confirm_delete": true,
"file_icons": {
"enabled": true,
"color_mode": "accent"
}
},
"ignored_patterns": [
".git",
"node_modules",
"__pycache__",
".DS_Store"
]
}
auto_saveは保存モードを選択します:「auto」(デフォルト)は非アクティブ状態がauto_save_delay_msミリ秒続いた後に変更されたバッファをディスクに書き込み、「manual」は明示的な保存(ctrl+s / super+s)が必要です。
キーバインド
すべてのデフォルトキーバインドはkeybindingsオブジェクトでオーバーライドできます。各アクションはキー文字列のリストを受け入れます(ctrl、alt、shift、super修飾子をサポート)。空のリストはアクションをバインド解除します。
{
"keybindings": {
"save": ["ctrl+s"],
"quick_open": ["ctrl+o"],
"next_tab": ["ctrl+tab"],
"prev_tab": ["ctrl+shift+tab"],
"quit": []
}
}
利用可能なアクション:quit, toggle_sidebar, save, new_file, close_tab, undo, redo, next_tab, prev_tab, search, find_replace, quick_open, command_palette, theme_picker, go_to_line, go_to_definition, toggle_focus, markdown_preview, show_hover, trigger_completion。
Go、Rust、Python、JavaScript、TypeScript、MarkdownのToastのマネージドデフォルトを使用するにはlspを省略します。すべての言語サーバーを無効にするには"lsp": {}を設定します。
{
"lsp": {
"zig": {
"command": "zls",
"args": [],
"extensions": [".zig"]
}
}
}
テーマ
組み込みテーマ:system, toast-dark, toast-light。
カスタムテーマは~/.config/toast/themes/に配置します。
VSCodeテーマをインポートする:
toad migrate-theme vscode path/to/theme.json
# ~/.config/toast/themes/<theme-name>.json に書き込みます
その後、configで"theme": "<theme-name>"を設定します。
フィードバックと問題
バグを見つけたり、機能リクエストがありますか? ぜひお聞かせください!できるだけ多くの詳細を添えてGitHubでIssueを開いてください。あなたのフィードバックはToastをより良くするのに役立ちます。
開発
make build
# コンパイル
make run
# go run ./cmd/toast .
make test
# go test ./...
make test-integration
# オプトインGhostty/tmuxターミナル統合テストを実行
make test-integration-update
# ゴールデンスクリーンショットを更新