コードから送る
ここにあるコマンドは、編集中のバッファから使います。送り先はそのプロジェクトのセッションで、決められないときは一度だけ尋ね、その答えをバッファに記憶します。ターンの実行中に送ったプロンプトはキューで待ちます。
行、リージョン、ファイルを送る
Section titled “行、リージョン、ファイルを送る”メニュー(C-c c ?)で:
| キー | 送るもの |
|---|---|
s |
ミニバッファで入力した 1 行(C-u s で送り先のセッションを尋ねる) |
x |
1 行と、今のファイルと行 |
g |
リージョン(なければバッファ全体)を引用ブロックで(C-u g で前に置く指示を尋ねる) |
f |
@ とファイルのパスを、CLI が読むために。先にバッファの保存を勧める |
x と g は、次のようなブロックでコードを付けます。
---Current context: hello.py L1-L3```pythondef greet(name): return "hello " + name```ポイントのエラーを直す
Section titled “ポイントのエラーを直す”e は、今の行の診断を周りのコードとともに送ります。診断は Flymake、Flycheck、ポイントのヘルプテキストの順に探します。
インラインで質問する
Section titled “インラインで質問する”l はリージョンかファイルについて質問し、答えをトランスクリプトではなくポイントの上のオーバーレイに表示します。n と p でスクロールし、r で続けて質問し、q で閉じます。質問は軽量なセッションか分岐したセッションで動き、どちらにするかはバッファごとに一度だけ選びます。
リージョンを書き換える
Section titled “リージョンを書き換える”w は指示に従ってリージョンを書き換えます。置き換え案がその場に表示され、RET でバッファに書き込みます。ツールは使わず、CLI がコードを返し、Emacs がバッファを書き換えます。
プロンプトの @ 参照
Section titled “プロンプトの @ 参照”プロンプト領域では、@ でコードを指せます。上の 3 つはそのまま書く語で、下の 2 つは @ の後にファイルのパスを書きます。
| 参照 | 送るもの |
|---|---|
@region |
アクティブなリージョン(引用したコードブロック) |
@cursor |
ポイントのある行と、その前後の行 |
@diagnostics |
バッファの Flymake か Flycheck の診断 |
@ とファイルと行(例: @src/reader.py:10-40) |
ファイルのその行 |
@ とファイル(例: @src/reader.py) |
CLI が読むためのパス |
上の 4 つは、送る前に Emacs が展開します。参照は短いラベルになり、中身はプロンプトの下の引用ブロックへ移ります。@region・@cursor・@diagnostics が読むのは、セッションへ移る前に編集していたバッファです。添付した内容はエコーエリアに表示されます。リージョンなしで @region を使うと警告が出ます。
パスだけで指したファイルは CLI が読みます。トランスクリプトにはそのことは何も表示されません。
@ の後の TAB は、上の 3 つの語とプロジェクトのファイルを候補に出します。/、~/、./、../ で始まるパスは、find-file と同じくディレクトリごとに、どこからでも補完できます。相対パスはセッションのプロジェクトからの相対です。リモート(TRAMP)のパスは補完しません。CLI が読めないためです。
エディタのコンテキスト
Section titled “エディタのコンテキスト”セッションバッファで C-c C-x を押すとエディタのコンテキストが有効になり、プロンプトごとに今のファイルと行が付きます。