コマンドライン
ドキュメント作成中
一部の内容はまだ不完全な場合があります。
ThinkTerm がシェルから行うことはすべて、thinkterm という一つのバイナリを通ります。
thinkterm --helpサブコマンド
| コマンド | 何をするか |
|---|---|
start | GUI を起動します。別のプログラムを実行することもできます。別名 -e |
tui [DOMAIN…] | 現在のターミナルで ThinkTerm のインターフェースを開きます |
connect <name> | ThinkTerm マルチプレクサへ接続します |
ssh | SSH セッションを確立します |
serial | シリアルポートを開きます |
cli <subcommand> | 動作中のマルチプレクササーバーと対話します |
imgcat <file> | 画像をターミナルへ出力します |
ls-fonts | 使用中のフォント情報を表示します |
show-keys | 現在のキー割り当てを表示します |
set-working-directory | シェル統合のため、現在の作業ディレクトリをターミナルへ伝えます |
record | ターミナルセッションを asciicast として記録します |
replay | asciicast を再生します |
shell-completion | bash、zsh、fish、elvish、PowerShell 向けの補完スクリプトを出力します |
動作中のマルチプレクサと対話する
thinkterm cli が相手にするのは、すでに動作しているサーバー — GUI ウィンドウの背後にあるもの、あるいはバックグラウンドの mux サーバー — です。マルチプレクサはウィンドウ、Thread、接続中のクライアントをまたいで任意のペインを指定できるため、これらのコマンドは今見ていないセッションにも届きます。
調べる
| コマンド | 何をするか |
|---|---|
list | ウィンドウ、タブ、ペインを一覧します |
list-clients | 接続中のクライアントを一覧します |
get-pane-direction | 指定方向のペインを報告します |
作る・壊す
| コマンド | 何をするか |
|---|---|
spawn | 新しいタブまたはウィンドウを開始します |
split-pane | 既存のペインを分割します |
move-pane-to-new-tab | ペインを独立したタブへ移します |
kill-pane | ペインを閉じます |
移動とサイズ変更
| コマンド | 何をするか |
|---|---|
activate-pane | ペインにフォーカスします |
activate-pane-direction | 指定方向のペインにフォーカスします |
activate-tab | タブにフォーカスします |
adjust-pane-size | ペインのサイズを変更します |
zoom-pane | ペインをタブいっぱいに拡大します |
テキストの入出力
| コマンド | 何をするか |
|---|---|
send-text | 入力されたかのようにペインへテキストを書き込みます |
get-text | ペインの画面に今あるテキストを読み取ります |
名前と基盤
| コマンド | 何をするか |
|---|---|
set-tab-title | タブの名前を変更します |
set-window-title | ウィンドウの名前を変更します |
rename-workspace | ワークスペースの名前を変更します |
agent | エージェント状態を問い合わせます。現時点では読み取り専用です |
tlscreds | TLS 資格情報を取得します |
proxy | RPC プロキシパイプを開始します |
一覧を返すコマンドでは、出力をテーブルまたは JSON で選べます。
2 つのペインのプログラムは互いに話せます
send-text と get-text だけで、一方のプログラムがもう一方を動かせます。どちらにも改変は要りません。
プログラム A ──send-text──► プログラム B のターミナル入力
B が作業し、応答を出力する
プログラム A ◄──get-text─── 結果を読み取る対話的なものなら何でも参加できます — コーディング支援ツール、シェルスクリプト、REPL。インターフェースはペインそのものなので、このために作り込む必要はありません。
現状このやり取りはターミナル入力の注入によって行われます。つまりメッセージの同定はできず、応答も構造化されておらず、完了はポーリングで確かめるしかありません。より構造化されたプロトコルを設計中です。
