CotEditorはAppleScriptおよびJXA (JavaScript for Automation)をサポートしています。
以下で説明するCotEditorのクラス・コマンド以外にも、AppleScriptで標準的に実装されている語句を使用することができます。CotEditorにおけるAppleScriptサポートの詳細な仕様については、辞書ライブラリを参照してください。ライブラリを参照するにはCotEditor上で次のようにします:
CotEditorで独自に定義されているクラス・プロパティです。
view opacity
contents
text
length
selection
encoding
IANA charset
Shift_JIS
, EUC-JP
など)line ending
CR
/ LF
/ CRLF
)tab width
expands tab
wrap lines
coloring style
line spacing
contents
range
line range
length
省略可。また、lengthは0
でも1
でも、1行を選択する)selection
例文contents of selection of document 1
set contents of selection of front document to "Apple"
range of selection of front document
set range of selection of front document to {1, 12}
set line range of selection of front document to 10
set range of selection of front document to {-15, -1}
「selection」は単独では意味を持ちません。contentsなどのプロパティとともに使用してください。
locationが負の場合、対象ドキュメントの文字列の後ろから数えてlocation番目から始まる範囲となります。
lengthが正である場合、指定される範囲はlocationから数えてlength文字数分となります。また、対象ドキュメントの文字列の長さを超えてlengthが入力された場合、末尾までが範囲となります。
lengthが負である場合、指定される範囲は対象ドキュメントの文字列の後ろから数えてlength文字までとなります。もし、lengthの絶対値がlocationよりも小さい(locationよりも前に終了位置がある)場合には、locationが優先されlocation位置にキャレットが移動します({location, 0}
が入力されたのと同じ)。
この指定方法はPHPのsubstr
のそれにならっています。
選択位置を変える命令だけでは画面のスクロールは行われません。選択位置を見えるようにするためにはscroll to caret
コマンドを使用してください。
CotEditorで独自に定義されているコマンドです。
([]で囲まれたものはオプションです)
write to console
write to console "Script failed."
find
true
を返す。見つからなければfalse
を返す。for
(Unicode text)RE
(boolean)]wrap
(boolean)]ignore case
(boolean)]backwards
(boolean)]検索は、現在の選択位置(キャレット位置)を基準に行われます。
例えば、wrap
やbackwards
が指定されていなかったとき、選択位置以降に対象文字列がない場合にはfalse
を返します。
RE
(正規表現検索)の場合は、backwards
(後方からの検索)ができません。同時に指定された場合はRE
が優先され、backwards
は無視されます。
find front document for "Apple" with ignore case
replace
0
を返す。for
(Unicode text)to
(Unicode text)all
(boolean)]RE
(boolean)]wrap
(boolean)]ignore case
(boolean)]backwards
(boolean)]find
同様、命令実行前の選択位置(キャレット位置)を基準に置換が行われます。書類全体を対象に実行するときはall
を指定してください。
all
オプションを付けて書類全体を対象に実行され置換が行われた場合、実行後の選択位置(キャレット位置)は書類の先頭になります。ただし、対象文字列が見つからなかった場合は選択位置(キャレット位置)は変更されません。
RE
(正規表現検索)の場合は、backwards
(後方からの検索)ができません。同時に指定された場合はRE
が優先され、backwards
は無視されます。
replace front document for "Apple" to "Orange" with all and ignore case
scroll to caret
scroll to caret front document
convert
to
(Unicode text)lossy
(boolean)convert front document to "Unicode (UTF-8)" without lossy
reinterpret
as
(Unicode text)ファイルそのものが未保存の場合は、false
を返します。
ファイル保存されていない変更部分は失われます。
reinterpret front document as "Japanese (EUC)"
shift left
shift right
shift right selection of front document
comment out
uncomment
現在のシンタックスにコメント記号が設定されていない、選択範囲にコメント記号がないなど、コマンドが実行できない場合はなにも行いません。
comment out selection of front document
string
in
(list)無効な範囲を指定した場合などは、空の文字列を返します。
このコマンドは指定された選択範囲を変更しません。
string front document in {0, 10}
change case
to
upper
/lower
/capitalized
対象にできるのは`selection`オブジェクトだけです。
change case selection of front document to upper
change roman width
to
half
/full
対象にできるのは`selection`オブジェクトだけです。
change roman width selection of front document to full
change kana
to
hiragana
/katakana
対象にできるのは`selection`オブジェクトだけです。
change kana selection of front document to katakana
normalize unicode
to
NFKC
/NFD
/NFC
/NFKD
/NFKC Casefold
/Modified NFC
/Modified NFD
対象にできるのは`selection`オブジェクトだけです。
normalize unicode selection of front document to NFC
move line up
move line down
対象にできるのは`selection`オブジェクトだけです。
sort lines
reverse lines
対象にできるのは`selection`オブジェクトだけです。
delete duplicate line
対象にできるのは`selection`オブジェクトだけです