このページではスクリプトメニューから実行するUNIXスクリプトにCotEditorで編集中の書類の情報やテキストを渡したり、スクリプトの実行結果を書類に反映する方法を説明します。
最前面の書類が保存済みの場合は、その書類の絶対ファイルパスが引数 (argv) としてスクリプトに渡されます。
スクリプトにCotEditorからデータを渡すには、スクリプトの冒頭にコメントを置き、固定文字列「%%%{CotEditorXInput=xxxx}%%%
」を埋め込みます。「xxxx
」で、受け渡すデータを指定します。
Selection | 現在選択しているテキスト |
---|---|
AllText | 書類のすべてのテキスト |
None | 何も渡さない(デフォルト) |
CotEditorでスクリプトの出力を受け取るには、スクリプトの冒頭にコメントを置き、固定文字列「%%%{CotEditorXOutput=xxxx}%%%
」を埋め込みます。「xxxx
」で、受け取った後の処理を指定します。
ReplaceSelection | 現在選択しているテキストを出力内容で置き換えます。 |
---|---|
ReplaceAllText | 書類のすべてのテキストを出力内容で置き換えます。 |
InsertAfterSelection | 選択範囲の直後に出力内容を挿入します。 |
AppendToAllText | 書類の末尾に出力内容を挿入します。 |
NewDocument | 新規書類を作成し、そこに出力内容を挿入します。 |
Pasteboard puts | クリップボードに出力内容を格納します。 |
Discard | 何もしない(デフォルト) |
以下のPythonスクリプトは最前面書類の選択範囲内のすべての行の行頭に“>”を追加します。
#!/usr/bin/env python
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%
import sys
for line in sys.stdin:
print(">" + line.rstrip())
ほかにも、以下のサイトから様々なサンプルスクリプトを入手することができます:
coteditor/SampleScripts -GitHub