HN 日本語サマリー

← 一覧へ戻る
プログラミング

Toast IDEがMarkdownスペルチェックに対応

Toast IDE Gets Markdown Spell Checking (github.com)

5 pointsby dividedcomet2 コメント

要約

Toastは、ターミナル内で動作する開発環境で、マネージドLSP、ファイルツリー、タブ編集、テーマなどを標準装備しています。このプロジェクトは初期開発段階ですが、構文ハイライト、スペルチェック、定義ジャンプ、Gitステータス付きファイルツリー、プロジェクト横断検索、Markdownプレビューなどの機能を備えています。インストールはHomebrewまたはリリースからのダウンロードで可能です。

全文翻訳

toast toastは、ターミナル内で動作する美しい開発環境です。nvimやemacsはエディタをゼロから構築する必要がありますが、toastはマネージドLSP、統合ファイルツリー、複数ファイルタブ、テーマを標準で提供します。toastは、数時間かけてエディタを整備することなく、ターミナルに留まりたい開発者のためのものです。 ⚠️ このプロジェクトは初期開発段階であり、バグに遭遇する可能性があります。 ⚠️ 機能 未保存変更インジケーター、マウスでのクローズボタン、終了確認付きのマルチタブ編集 構文ハイライト(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)で強化されたプロジェクト全体検索 次/前のナビゲーション、大文字/小文字を区別する検索、単語全体検索オプション付きのファイル内検索/置換 .md、.markdown、.mdxファイルのMarkdownプレビュー テーマシステム — 組み込みシステム(実行時にターミナルカラーから派生)、toast-dark、toast-light、およびVSCodeテーマインポーターが含まれています。 設定は~/.config/toast/config.jsonで設定可能 インストール 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 ソースからビルド Go 1.25.2+が必要です。 git clone https://github.com/paradise-runner/toast cd toast make build # バイナリはbin/toastに書き込まれます 使用方法 toast # 現在のディレクトリを開く toast path/to/dir # 特定のディレクトリを開く toast path/to/file # ファイルを開く(gitルートを自動検出) toast new/file.go # 親ディレクトリが存在する場合、新しいファイルバッファを開く toast --help toast --version プロジェクト検索にはrgが必要です。組み込み言語サーバーが不足している場合、Toastは右下にインストールプロンプトを表示します。マネージドインストールは、言語の標準ツールチェーン(go、npm、またはrustup)を使用するか、プリビルドバイナリ(harper)をダウンロードし、プロンプトを承認した後にのみ実行されます。Toastは、$PATHにある互換性のあるサーバーも使用します。 キーバインディング すべてのキーバインディングは、~/.config/toast/config.jsonで再マッピングできます(設定を参照)。 キー アクション Ctrl+Q 終了 Ctrl+S / Cmd+S 保存 Ctrl+W / Cmd+W タブを閉じる Ctrl+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 }, "sidebar": { "visible": true, "width": 30, "confirm_delete": true, "file_icons": { "enabled": true, "color_mode": "accent" } }, "ignored_patterns": [ ".git", "node_modules", "__pycache__", ".DS_Store" ] } キーバインディング すべてのデフォルトキーバインディングは、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、go_to_line、go_to_definition、toggle_focus、markdown_preview、show_hover、trigger_completion。 lspを省略すると、Go、Rust、Python、JavaScript、TypeScript、MarkdownのToastマネージドデフォルトが使用されます。すべての言語サーバーを無効にするには "lsp": {} を設定します。lspのエントリは、その言語のマネージドデフォルトをオーバーライドし、リストにないマネージド言語はデフォルトを維持します — そのため、部分的な設定でも新しく出荷されたサーバーを失うことはありません。各エントリは拡張機能駆動型であるため、Toastを変更せずに他の言語を追加できます。すでに$PATHにインストールされているカスタムサーバーは、コマンドとそのファイル名のサフィックスのみが必要です。 { "lsp": { "zig": { "command": "zls", "args": [], "extensions": [".zig"] } } } オプトインマネージドカスタムサーバーの場合、managed_command(インストールされた実行可能ファイルのパス)とインストールレシピを追加します。レシピは、{install_dir}、{install_root}、{root_dir}、{home}、および{target}(プラットフォームごとのプリビルドバイナリ用のプラットフォームのRustターゲットトリプル)プレースホルダーをサポートします。 { "lsp": { "example": { "command": "example-language-server", "args": ["--stdio"], "extensions": [".example"], "managed_command": "{install_dir}/bin/example-language-server", "install": { "name": "Example Language Server", "command": "example-package-manager", "args": ["install", "--bin-dir", "{install_dir}/bin", "example-language-server"], "env": {} } } } } または、インストールレシピはプリビルドバイナリアーカイブをダウンロードできます。アーカイブは、ルートに単一の実行可能ファイルを含んでいる必要があります(ラップするトップレベルディレクトリは許容されます)。これは{install_dir}/binにインストールされます。 { "lsp": { "example": { "command": "example-language-server", "args": ["--stdio"], "extensions": [".example"], "managed_command": "{install_dir}/bin/example-language-server", "install": { "name": "Example Language Server", "download": { "url": "https://github.com/org/example/releases/latest/download/example-ls-{target}.tar.gz" } } } } } テーマ 組み込みテーマ: system、toast-dark、toast-light。 カスタムテーマは~/.config/toast/themes/にあります。 VSCodeテーマをインポートする: toast migrate-theme vscode path/to/theme.json # ~/.config/toast/themes/<theme-name>.json に書き込む その後、設定で "theme": "<theme-name>" を設定します。 フィードバックと問題 バグを見つけたり、機能リクエストがありますか?ぜひお聞かせください!できるだけ詳細を添えてGitHubでイシューを開いてください。あなたのフィードバックはToastをより良くするのに役立ちます。 開発 make build # コンパイル make run # go run ./cmd/toast . make test # go test ./... make test-integration # オプトインGhostty/tmuxターミナル統合テストを実行 make test-integration-update # ゴールデンスクリーンショットを更新