のちのち個人的に必要になりそうなので、Sublime Text 3 API Refernceの翻訳を載せていきます。一応最初の文言以外は翻訳しました。ただ文章がgdgdなのでちょいちょい手直ししていきます。
よく意味がわからないものは原文ママで載せています。また多少の意訳を含んでおり、個人的に使用したことのないAPIも含まれています。英語は苦手ですが、日本語もダメなので良くわからない文章に…(´・ω...:.;::..
Module sublime
使い方:
return_value = sublime.method_name(args)
コールバック
delay(ミリ秒)後にcallbackを呼ぶためのメソッドです。
| Methods |
Return Value |
説明 |
set_timeout(callback, delay) |
None |
Callbacks with an equal delay will be run in the order they were added. |
set_async_timeout(callback, delay) |
None |
非同期でコールバックを呼ぶメソッドです。 |
ステータスメッセージ
| Methods |
Return Value |
説明 |
status_message(string) |
None |
stringをステータスバーに表示します。 |
ダイアログ表示
stringを説明文としたダイアログを表示します。
| Methods |
Return Value |
説明 |
message_dialog(string) |
None |
メッセージダイアログを表示します。 |
error_message(string) |
None |
エラーログを表示します。 |
ok_cancel_dialog(string, <ok_button>) |
bool |
ok/cancelダイアログを表示します。もし<ok_button>に何らかの引数が与えられた場合、okボタン上にその引数を表示します。またokボタンが選択された場合、このメソッドはTrueを返します。 |
リソース処理
.pyファイルや.sublime-*ファイルなどのリソース処理に関するメソッドです。
nameにはPackages/Default/Main.sublime-menuのように記述します。
| Methods |
Return Value |
説明 |
load_resource(name) |
String |
nameに与えられたリソースをロードします。 |
load_binary_resource(name) |
bytes |
nameに与えられたバイナリのリソースをロードします。 |
find_resources(pattern) |
[String] |
patternに合致するファイル名リソースを見つけます。 |
JSONエンコーディング
| Methods |
Return Value |
説明 |
encode_value(value, <pretty>) |
String |
JSONをString型にエンコードします。もしprettyにTrueがセットされた場合、戻り値にインデントと改行が含まれるようになります。 |
decode_value(string) |
value |
JSON文字列をオブジェクトにでコードします。もし文字列が無効であった場合、ValueErrorを投げます。 |
Settingsファイル操作
Settignsファイル操作に関するメソッドです。base_nameにはSettingsファイルのファイル名(拡張子含む)のみを与え、パスを記述してはいけません。
load_settings() ではPackages>Userフォルダ(ディレクトリ)内のSettingsファイルが優先的に読み込まれます。
save_settings() ではUserフォルダ(ディレクトリ)内のSettingsファイルのみが更新され、Settingsファイルがない場合は同名のファイルが新規に作成されます。
| Methods |
Return Value |
説明 |
load_settings(base_name) |
Settings |
base_nameにマッチするファイルがパッケージにあるかどうかサーチし、あればファイルを読み込んでsettignsオブジェクトを作成します。次にそのファイル名でload_settingsを呼んだ場合、再度settingsファイルを読み込むことはせず、そのオブジェクトが呼び出されます。 |
save_settings(base_name) |
None |
settingsオブジェクトの内容をファイルに保存します。 |
Windowオブジェクト取得
| Methods |
Return Value |
説明 |
| windows() |
[Window] |
開いているウィンドウすべてのwindowオブジェクトのリストを返します。 |
| active_window() |
Window |
使用しているウィンドウのwindowオブジェクトを返します。 |
パス取得
| Methods |
Return Value |
説明 |
| packages_path() |
String |
Packages フォルダ(ディレクトリ)のパスを返します。 |
| installed_packages_path() |
String |
installed Packages フォルダ(ディレクトリ)のパスを返します。 |
| cache_path() |
String |
cache フォルダ(ディレクトリ)のパスを返します。 |
クリップボード
| Methods |
Return Value |
説明 |
get_clipboard(<size_limit>) |
String |
クリップボードの中身を返します。size_limitは不必要なほど巨大なデータから保護するためのもので、デフォルトでは 16,777,216 文字に設定されています。 |
set_clipboard(string) |
None |
クリップボードに文字列を格納します。 |
selector評価
| Methods |
Return Value |
説明 |
score_selector(scope, selector) |
Int |
与えられたスコープ(scope)に対しselectorのマッチを行い、そのスコアを返します。0であればマッチしていない、0以上であればマッチしたことを示します。同じスコープ内で違うselectorによるスコアを比較すると、よりよくマッチしたselectorが高いスコアを返します。 |
コマンド実行
Sublime Text内で使用可能なコマンドを実行するメソッドです。
コマンド名や引数の仕様については.sublime-keymapファイルや.sublime-menuファイルを参照のこと。
| Methods |
Return Value |
説明 |
run_command(string, <args>) |
None |
stringに与えられた名前のApplicationCommandを実行します。<args>が与えられれば、それらとともに実行されます。 |
ログ取得
flagはTrueかFalseを与えてください。
| Methods |
Return Value |
説明 |
log_commands(flag) |
None |
commandのログをコントロールします。もしこのメソッドが実行された場合は、メニューやキーバインドから実行されるすべてのコマンドがコンソールに記録されます。 |
log_input(flag) |
None |
インプットのログをコントロールします。もしこのメソッドが実行された場合は、すべての押下したキーがコンソールに記録されます。 |
log_result_regex(flag) |
None |
正規表現の結果をコントロールします。このメソッドはビルドシステムで使われる正規表現のデバッグにとても役立ちます。 |
環境情報取得
Sublime TextのバージョンやOSのプラットフォーム名、CPUのアーキテクチャの情報を取得するメソッドです。
| Methods |
Return Value |
説明 |
| version() |
String |
バージョンナンバーを返します。 |
| platform() |
String |
プラットフォーム名を返します。返す値はosx、linux、windowsの三種類です。 |
| arch() |
String |
CPUのアーキテクチャを返します。戻り値はx32、x64の二種類です。 |
class sublime.View
使い方:
return_value = view.method_name(args)
viewid取得
| Methods |
Return Value |
説明 |
| id() |
int |
viewの固有識別番号(id)を返します。 |
| buffer_id() |
int |
viewのバッファにおける固有識別番号(id)を返します。 |
ファイルパス取得
| Methods |
Return Value |
説明 |
| file_name() |
String |
現在編集しているファイルのパスを返します。またファイルを保存していない場合はNoneを返します。 |
バッファ名操作
| Methods |
Return Value |
説明 |
| name() |
String |
バッファに割り当てられた名前(タブに表示されている名前)が存在していれば、それを返します |
set_name(name) |
None |
バッファに名前(name)を割り当てます。 |
バッファプロパティ
プロパティ取得
| Methods |
Return Value |
説明 |
| is_loading() |
bool |
ファイルをロードしているかもしくは使用する準備が整っていない場合にTrueを返します。 |
| is_dirty() |
bool |
編集中のバッファの内容が変更され、なおかつ未保存である場合にTrueを返します。 |
| is_read_only() |
bool |
変更不可(読み取り専用)のバッファである場合にTrueを返します。 |
| is_scratch() |
bool |
スクラッチバッファ(内容の変更しても保存/未保存が評価されないバッファ)である場合にTrueを返します。 |
プロパティ変更
| Methods |
Return Value |
説明 |
set_read_only(value) |
None |
バッファに読み取り専用に関するプロパティを付加します。valueにはTrueかFalseを与えます。 |
set_scratch(value) |
None |
バッファにスクラッチバッファに関するプロパティを付加します。valueにはTrueかFalseを与えます。 |
Settingsオブジェクト取得
| Methods |
Return Value |
説明 |
| settings() |
Settings |
viewのsettingsオブジェクト(への参照)を返します。Any changes to this settings object will be private to this view. |
windowオブジェクト取得
| Methods |
Return Value |
説明 |
| window() |
Window |
viewが含まれるwindowオブジェクトを返します。 |
コマンド実行
| Methods |
Return Value |
説明 |
run_command(string, <args>) |
None |
stringに与えられた名前のTextCommandを実行します。<args>が与えられれば、それらとともに実行されます。 |
文字数取得
| Methods |
Return Value |
説明 |
| size() |
int |
viewで編集しているファイルの文字数を返します。 |
文字列取得
| Methods |
Return Value |
説明 |
substr(region) |
String |
region(編集中のファイル内での範囲を表すオブジェクト)の内容を文字列として返します。 |
substr(point) |
String |
point(編集中のファイル内での位置を表すオブジェクト)の右側の文字を返します。 |
文字列操作
| Methods |
Return Value |
説明 |
insert(edit, point, string) |
int |
編集中のバッファ内においてstring(文字列)を特定のpointに挿入します。そして挿入された文字列の長さを返します。ただし、タブがスペースに変換されたバッファでは違う挙動を示す場合があります。 |
erase(edit, region) |
None |
regionの内容を消去します。 |
replace(edit, region, string) |
None |
regionにおける記述をstring(文字列)に置換します。 |
現在の選択範囲取得
| Methods |
Return Value |
説明 |
| sel() |
Selection |
選択範囲(の参照)を返します。 |
注:戻り値であるSelectionオブジェクトは、regionオブジェクトのリストです。 |
|
|
リージョン取得
行(改行含まず)
| Methods |
Return Value |
説明 |
line(point) |
Region |
pointが含まれる行全体のregionを返します。 |
line(region) |
Region |
regionが含まれる行全体のregionを返します。複数行にわたる場合にはregionの先頭が存在する行頭からregionの末尾が存在する行末までのregionを返します。 |
行(改行含む)
| Methods |
Return Value |
説明 |
full_line(point) |
Region |
line(point)とほぼ同様ですが、改行も含めた範囲を返します。 |
full_line(region) |
Region |
これもline(region)と改行も含めた範囲を返します。(注:複数行に渡るline(region)でも中間の改行はカウントされているので、実質的な相違点は最後尾の改行が含まれるか否かという点です。) |
複数行(行ごと)
| Methods |
Return Value |
説明 |
lines(region) |
[Region] |
与えられたregionがまたがる行を、行ごとのregionのリストとして返します。 |
改行による分割
| Methods |
Return Value |
説明 |
split_by_newlines(region) |
[Region] |
与えられたregionを、行ごとに分けられたregionリストとして返します。 |
単語
| Methods |
Return Value |
説明 |
word(point) |
Region |
与えられたpointにおける単語のregionを返します。 |
word(region) |
Region |
与えられたregionにおける単語のregionを返します。複数単語にわたる場合にはregionの先頭が存在する単語の頭文字からregionの末尾が存在する単語の語尾までのregionを返します。単語ごとに分割してくれるメソッドではありません。 |
condition分類
pointの位置がどのような状態の位置なのかを分類するメソッドです。
| Methods |
Return Value |
説明 |
classify(point) |
int |
以下の9つのフラグを0個以上用いて計算したビット単位の論理和をClassifies ptとして返します。Classifies pt, returning a bitwise OR of zero or more of these flags(注:訳者は一度も使ったことがないのでよく理解していません。) |
classify のフラグ
それぞれのフラグはsublime.CLASS_XXXという形で参照できます。
| Flags |
bit |
説明 |
| CLASS_WORD_START |
1 |
単語の手前 |
| CLASS_WORD_END |
2 |
単語の直後 |
| CLASS_PUNCTUATION_START |
4 |
カンマやブラケットの手前 |
| CLASS_PUNCTUATION_END |
8 |
カンマやブラケットの直後 |
| CLASS_SUB_WORD_START |
16 |
PUNCTUATION により連続した単語の手前 |
| CLASS_SUB_WORD_END |
32 |
PUNCTUATION により連続した単語の直後 |
| CLASS_LINE_START |
64 |
行頭 |
| CLASS_LINE_END |
128 |
行末 |
| CLASS_EMPTY_LINE |
256 |
空行 |
CLASS_XXXを使ったregion取得
これらのメソッドで引数に用いるclassesにはclassifyで用いたフラグをsublime.CLASS_XXXというような形で与えることができます。またフラグを複数与えたい場合は論理演算(+やorなど)で与えることができます。separatorsでは単語分割のセパレータとなる文字列を設定できますが記述しなくてもかまいません。
検索
| Methods |
Return Value |
説明 |
find_by_class(point, forward, classes, <separators>) |
Region |
与えられたpoint以降もしくは以前に位置するclassesにマッチする箇所のregionを返します。forwardにTrueを与えると次候補を、Falseを与えると前候補を返します。 |
選択範囲拡張
戻り値は与えられた point から左右の、つまり前候補から次候補までのregionとなります。
| Methods |
Return Value |
説明 |
expand_by_class(point, classes, <separators>) |
Region |
classesがマッチする箇所までのregionを返します。 |
expand_by_class(region, classes, <separators>) |
Region |
classesがマッチする箇所までのregionを返します。 |
検索による選択範囲取得
オプションとして正規表現ではなく文字列で検索できるようにするsublime.LITERALと、大文字小文字の区別を行わないsublime.IGNORECASEのフラグを設定することができ、論理演算(+やor)を用いて両方同時に設定することも可能です。
| Methods |
Return Value |
説明 |
find(pattern, fromPosition, <flags>) |
Region |
正規表現文字列であるpatternに最初にマッチした結果のregionを返します。与えられたpoint(fromPosition)を起点として検索を開始し、もしマッチする文字列がなければNoneを返します。 |
find_all(pattern, <flags>, <format>, <extractions>) |
[Region] |
正規表現にマッチした、重複しないすべての箇所のregionを返します。またformatに文字列を、さらにextractionsにリストを与えた場合、検索結果にフォーマットを適用した結果をextractionのリストに作成します。 |
(注: find_all() のextractionsはおそらく正規表現での検索時にformatに対して後方参照(\\1や\\2など)を与えることでフォーマットとして利用できるのだと思われます。参考リンク) |
|
|
行番号と列番号
これらのメソッドでは 0 始まりの行番号と列番号を扱います。またタブは1列と数えるため、ステータスバーの行列の値とは異なる値を返します。
| Methods |
Return Value |
説明 |
rowcol(point) |
(int, int) |
与えたpointにおける行番号および列番号を返します。(注:戻り値は(行番号, 列番号)の順です。) |
text_point(row, col) |
int |
row、calの値から文字の位置を計算します。colは行頭からの文字数として解釈されることに注意してください。(注:row、colはともにintで与えることができます。) |
シンタックス設定
シンタックス変更
| Methods |
Return Value |
説明 |
set_syntax_file(syntax_file) |
None |
viewで使われているシンタックスを変更します。syntax_fileはPackages/Python/Python.tmLanguageのように表記してください。現在のシンタックスを取得したい場合はview.settings().get('syntax')を使ってください。 |
スコープによる選択範囲取得
| Methods |
Return Value |
説明 |
extract_scope(point) |
Region |
与えられたpointにある記述のシンタックスの範囲をregionで返します。 |
スコープ名取得
| Methods |
Return Value |
説明 |
scope_name(point) |
String |
与えられたpointにある記述のスコープ名を文字列で返します。 |
selectorを用いた操作
selector評価
sublimeクラスで扱ったものと同じ内容です。
selectorによる検索
| Methods |
Return Value |
説明 |
find_by_selector(selector) |
[Regions] |
selectorにマッチする箇所すべてをregionのリストとして返します。 |
スクロール
表示位置をスクロールさせるメソッドです。カーソルは移動しません。
画面上端になるようにスクロール
| Methods |
Return Value |
説明 |
show(point, <show_surrounds>) |
None |
pointの位置までスクロールします。 |
show(region, <show_surrounds>) |
None |
regionの位置までスクロールします。 |
show(region_set, <show_surrounds>) |
None |
region_set(注:'selection'オブジェクトだと思われます。)の位置までスクロールします。 |
画面中央になるようにスクロール
| Methods |
Return Value |
説明 |
show_at_center(point) |
None |
pointの位置が中央に表示されるようスクロールします。 |
show_at_center(region) |
None |
regionの位置が中央に表示されるようスクロールします。 |
表示領域
Region
| Methods |
Return Value |
説明 |
| visible_region() |
Region |
viewにおいて現在表示されているエリアをregionとして返します。 |
viewport
(注:この辺りがまったくわかってないです。)
| Methods |
Return Value |
説明 |
| viewport_position() |
Vector |
レイアウトにおけるviewportの距離をベクトル(tuple)で返します。Returns the offset of the viewport in layout coordinates.(注:訳者はよく理解できていません) |
set_viewport_position(vector, <animate>) |
None |
レイアウトポジション、つまりtuple形式のベクトルで示した位置までviewportをスクロールします。 |
| viewport_extent() |
vector |
viewportのwidthとheightをtuple形式のベクトルで返します。 |
layout
(注:ここもまったくわかってないです。)
| Methods |
Return Value |
説明 |
| layout_extent() |
vector |
レイアウトのwidthとheightをtuple形式のベクトルで返します。 |
text_to_layout(point) |
vector |
テキストの位置(point)をレイアウトポジション(tuple形式のベクター)に変換します。 |
layout_to_text(vector) |
point |
レイアウトポジションをテキストの位置(point)に変換します。 |
行の高さと幅
| Methods |
Return Value |
説明 |
| line_height() |
real |
レイアウト内での行の高さを返します。 |
| em_width() |
real |
レイアウト内での文字幅を返します。 |
Regionの装飾
| Methods |
Return Value |
説明 |
add_regions(key, [regions], <scope>, <icon>, <flags>) |
None |
与えられたregionに装飾を施します。各引数の説明については下記を参照してください。 |
get_regions(key) |
[regions] |
keyと関連付けられているregionをリストで返します。 |
erase_regions(key) |
None |
keyと関連付けられたregionを削除します。 |
add_regions() の引数
-
keyは装飾したregionを指定する名前になります。もしすでに使用されたkeyに対して再度regionをセットした場合、新しくセットされたregionが既存のregionを上書きします。
-
scopeにはcommentやstringのようなスコープ名を与えることで、そのregionに色付けすることができます。もし何も設定しなかった場合は色付けされません。
-
iconにはアイコン名を与えることで、regionの位置する行左端のgutter部分にアイコン名に対応したアイコンが表示することができます。与えることが可能なアイコン名はそれぞれdot、circle、bookmark、crossで、scopeによって色付けされます。またiconにはPackages/Theme - Default/dot.pngように、パッケージにある画像ファイルを相対パスで指定することにより独自のアイコンを使用することができます。
さらに以下のフラグを用いてさまざま表示変更を行うことができ、論理演算(+やor)を用いて複数同時に設定することも可能です。
add_region のフラグ
| フラグ名 |
説明 |
| sublime.DRAW_EMPTY |
スペースやタブなどの何も表示されていない箇所の先頭部分を縦線で表示するようにします。 |
| sublime.HIDE_ON_MINIMAP |
装飾が右のミニマップに表示されなくなります。 |
| sublime.DRAW_EMPTY_AS_OVERWRITE |
スペースやタブなどの何も表示されていない箇所を縦線ではなく横線で表示するようにします。 |
| sublime.DRAW_NO_FILL |
regionの色付けを塗りつぶしせず、枠線のみの表示にします。 |
| sublime.DRAW_NO_OUTLINE |
regionの色付けを枠線を表示せず、塗りつぶしのみの表示にします。 |
| sublime.DRAW_SOLID_UNDERLINE |
regionに下線(直線)を表示します。 |
| sublime.DRAW_STIPPLED_UNDERLINE |
regionに下線を(点線)表示します。 |
| sublime.DRAW_SQUIGGLY_UNDERLINE |
regionに下線を(波線)表示します。 |
| sublime.PERSISTENT |
regionに対する装飾がセッションに記憶されます。 |
| sublime.HIDDEN |
装飾を施しません。 |
UNDERLINEスタイルはどれか一つしか表示することができません。またUNDERLINEスタイルを使いたい場合はDRAW_NO_FILLとDRAW_NO_OUTLINEを同時に設定しないと下線を表示することができません。
ステータス表示
| Methods |
Return Value |
説明 |
set_status(key, value) |
None |
viewのステータスバーにkeyに関連付けられたvalueを表示します。ステータスバーでは、個々の要素はカンマで区切られており、keyによって順序が決まっています。またvalueに空の文字列を与えても表示されません。 |
get_status(key) |
String |
keyが設定されていれば、それに関連付けられたステータスを返します。 |
erase_status(key) |
None |
keyに関連付けられたステータスを削除します。 |
コマンドヒストリー
| Methods |
Return Value |
説明 |
command_history(index, <modifying_only>) |
(String,Dict,int) |
実行したコマンドのヒストリー(厳密にはundo/redoのスタック)からindex(int)に対応するコマンド名(String)、引数(Dict)、リピート回数(int)を返します。 |
indexの値が、 |
|
|
-
0 の場合は直前に使用したコマンド
-
負値 の場合はそれ以前に使用したコマンド
-
正値 の場合は
redoのスタック
-
undo/redoのヒストリー数以上のindex の場合は (None, None, 0)
を返します。
<modifying_only>にはboolを与えることができ、Trueの場合にはファイルに変更を加えたコマンドのみを返します。デフォルトはFalseに設定されています。
バッファの変更回数
| Methods |
Return Value |
説明 |
| change_count() |
int |
バッファの変更回数(int)を返します。変更回数はundo/redoなどに関わらず、前の状態から何かしらの変更があった時点で増加します。The change count can be used to determine if the buffer has changed since the last it was inspected. |
コードの折りたたみ
| Methods |
Return Value |
説明 |
fold(region) |
bool |
与えられたregionにある記述を折りたたみます。折りたためたならTrueを、すで折りたたまれていたらFalseを返します。 |
fold([regions]) |
bool |
与えられた複数のregionにある記述を折りたたみます。折りたためたならTrueを、すで折りたたまれていたらFalseを返します。 |
unfold(region) |
[regions] |
与えられたregionにある記述を展開します。また展開した記述のregionを返します。 |
unfold([regions]) |
[regions] |
与えられたregionにあるすべての折りたたまれた記述を展開します。また展開した記述のみのregionを返します。 |
文字エンコード
| Methods |
Return Value |
説明 |
| encoding() |
String |
viewで編集中のファイルのエンコードを返します。 |
set_encoding(encoding) |
None |
viewで編集中のファイルに新しいエンコード(encoding)を適用します。次にファイルを保存した際にはこのエンコードが使用されます。 |
改行コード
| Methods |
Return Value |
説明 |
| line_endings() |
String |
viewで編集しているファイルの改行コードを返します。 |
set_line_endings(line_endings) |
None |
viewで編集しているファイルの改行コードを変更します。使用できる引数(line_endings)は Windows 、 Unix 、 Mac OS 9 の3種類です。なお次に保存する時はこの改行コードで保存されるとともに、保存に伴ってステータスバーの表示も変更されます。 |
上書きモード
| Methods |
Return Value |
説明 |
| overwrite_status() |
Bool |
上書きモードのステータス(bool)を返します。 |
set_overwrite_status(enabled) |
None |
TrueもしくはFalseを与えることによって上書きモードのon/offができます。 |
シンボル取得
| Methods |
Return Value |
説明 |
| symbols() |
[(Region, String)] |
viewで編集しているバッファのすべてのシンボル位置(GotoAnything+@で検索できる要素)を返します。 |
注:翻訳元では引数にline_endingsが表記されていますが、与えてみたところ「その引数は使わない」と怒られたので、本稿ではline_endingsを表記していません。 |
|
|
ポップアップメニュー
| Methods |
Return Value |
説明 |
show_popup_menu(items, on_done, <flags>) |
None |
itemsに与えられた文字列のリストを使ってカーソル位置にポップアップメニューを表示します。選択肢を選んだ後の動作はon_doneを使って決めることができ、またその際on_doneには選択したリストのインデックスが渡されます。もしポップアップメニューをキャンセルした場合、on_doneには -1 が渡されます。現時点で<flags>に使用できるオプションはありません。 |
Class sublime.Region
バッファにおける範囲を示すクラスです。範囲を持たない、つまりカーソル位置のみを示す場合は範囲の始点と終点が同じ値(a=b)として取り扱われます。
使い方:
region = sublime.Region(a, b, xpos) #コンストラクタ
property_value = region.property #プロパティ
return_value = region.method_name(args) #メソッド
コンストラクタ
| Constructor |
説明 |
Region(a, b) |
始点aと終点bの範囲を持つregionオブジェクトを作成します。 |
プロパティ
| Properties |
Type |
説明 |
| a |
int |
regionオブジェクトの始点です。 |
| b |
int |
regionオブジェクトの終点です。カーソル位置でもあります。もしbがaより小さい値だった場合、aより値が大きい場合とは逆方向の範囲が作成されます。 |
| xpos |
int |
上下の方向キーを押すなどして、次の行以降(もしくは前の行以前)に移動する際のカーソル位置を決定します。もし定義されていない場合は-1を返します。(注:単位は文字数ではないようです。またaとbが別の値だった場合、次もしくは前の行への移動はbの位置が優先されるようです。) |
メソッド
左端・右端
| Methods |
Return Value |
説明 |
| begin() |
int |
aとb、どちらか小さいほうの値を返します。 |
| end() |
int |
aとb、どちらか大きいほうの値を返します。 |
サイズ
| Methods |
Return Value |
説明 |
| size() |
int |
region内の文字数を返します。戻り値は常に 0 以上の値となります。 |
| empty() |
bool |
regionにおいて begin()=end() となる場合、つまり範囲を持たない場合にTrueを返します。 |
他のRegionとの比較
| Methods |
Return Value |
説明 |
cover(region) |
Region |
このregionと引数として与えられたregionを合わせた範囲をregionオブジェクトで返します。 |
intersection(region) |
Region |
このregionと引数として与えられたregionの重複する範囲をregionオブジェクトで返します。 |
intersects(region) |
bool |
このregionと引数として与えられたregionに重複する箇所、範囲があった場合Trueを返します。 |
contains(region) |
bool |
このregionに、関数に与えられたregionがすべて含まれていた場合、Trueを返します。(注:重複する部分があるだけの場合はFalseを返します。) |
contains(point) |
bool |
このregionにおいて始点と終点の間にpointが含まれていた場合、Trueを返します。 |
Class sublime.Edit
Editオブジェクトは関数を持っておらず、バッファへの変更をまとめるために存在しています。 objects have no functions, they exist to group buffer modifications.
EditオブジェクトはTextCommandに引き渡されるオブジェクトであり、ユーザーが作成することはできません。無効な、もしくは別のviewからのEditオブジェクトが使用された場合、 その関数群は機能しなくなります。objects are passed to TextCommands, and are not user createable. Using an invalid Edit object, or an Edit object from a different view, will cause the functions that require them to fail.
| Methods |
Return Value |
説明 |
| (no methods) |
|
|
Class sublime.Window
使い方:
return_value = window.method_name(args)
id取得
| Methods |
Return Value |
説明 |
| id() |
int |
windowの固有識別番号(id)を返します。 |
ファイル操作
ファイル作成
| Methods |
Return Value |
説明 |
| new_file() |
View |
新規ファイルを作成します。戻り値となるviewは何も設定されおらず、 is_loaded() メソッドはTrueを返します。 |
ファイルを開く
| Methods |
Return Value |
説明 |
open_file(file_name, <flags>) |
View |
既存のファイルを開き、そのviewを返します。もし指定したファイルがすでに開かれていた場合、そのファイルのタブを表示します。 |
ファイルのロードは非同期で行われるため、戻り値であるviewに対する操作は、 is_loading() メソッドがFalseを返すようになるまで実行できません。
<flags>には以下のフラグが使用でき、論理和(orや+)を用いて複数適用することができます。
open_file() のフラグ
| フラグ名 |
説明 |
| sublime.ENCODED_POSITION |
file_nameに:rowや:row:colといった文字列を付加することで、ファイルを開いた際、当該行や当該位置にカーソルを移動させます。 |
| sublime.TRANSIENT |
ファイルをプレビューの状態で開きます。この状態では内容に変更があるまでタブが割り当てられません。 |
すでに開いているファイルを検索
| Methods |
Return Value |
説明 |
find_open_file(file_name) |
View |
すでに開いているファイルの中からfile_nameと同じパスを持つファイルを探して、そのviewオブジェクトを返します。もしファイルが見つからない場合はNoneを返します。 |
viewの取得
現在のview
| Methods |
Return Value |
説明 |
| active_view() |
View |
windowにおいて現在編集しているファイルのviewオブジェクトを返します。 |
active_view_in_group(group) |
View |
引数に与えられたgroup(のindex)において現在編集しているファイルのviewオブジェクトを返します。 |
group(のindex)は0を基点としたint型の数値です。例えば、 GROUP 1 であればそのindexは 0 となり、 GROUP 2 であれば 1 となります。
複数のview
| Methods |
Return Value |
説明 |
| views() |
[View] |
windowにおいて現在開いているすべてのファイルのviewをリスト形式で返します。 |
views_in_group(group) |
[View] |
引数に与えられたgroup(のindex)において現在開いているすべてのファイルのviewをリスト形式で返します。 |
グループの取得
| Methods |
Return Value |
説明 |
| num_groups() |
int |
windowで開いているグループの数を返します。 |
| active_group() |
int |
windowで現在編集中のグループのindexを返します。 |
フォーカス
| Methods |
Return Value |
説明 |
focus_group(group) |
None |
指定したグループをactiveにします。 |
focus_view(view) |
None |
与えられたviewをactiveにします。 |
index操作
| Methods |
Return Value |
説明 |
get_view_index(view) |
(group, index) |
引数に与えられたviewのgroup(のindex)と、group内でのindex(タブを左から数えて何番目に当たるか)をタプル形式で返します。もしそのviewが見つからない場合は -1 を返します。 |
set_view_index(view, group, index) |
None |
viewをそのgroup内のindexに移動させます。groupにはグループのindexを与えます。 |
プロジェクト
フォルダのパスリスト取得
| Methods |
Return Value |
説明 |
| folders() |
[String] |
windowにおいて開いている(サイドバーに表示されている)すべてのフォルダ(ディレクトリ)のパスをリスト形式で返します。 |
プロジェクトファイルのパス取得
| Methods |
Return Value |
説明 |
| project_file_name() |
String |
もし現在プロジェクトを設定していれば、そのプロジェクトファイルのパスを返します。 |
プロジェクトの設定
| Methods |
Return Value |
説明 |
| project_data() |
Dictionary |
windowにおいて使用しているプロジェクトのデータをdict形式で返します。返されるデータはsublime-projectファイルの中身とまったく同じ内容です。 |
set_project_data(data) |
None |
windowにおいて使用しているプロジェクトのデータを更新します。もしプロジェクトファイルを使用していれば、更新内容をそのプロジェクトファイルに保存し、使用していなければ内部に保存します。(注:セットするdataはsublime-projectファイルとして扱えるよう |
コマンド実行
Sublime Text内で使用可能なコマンドを実行するメソッドです。
コマンド名や引数の仕様については.sublime-keymapファイルや.sublime-menuファイルを参照のこと。
| Methods |
Return Value |
説明 |
run_command(string, <args>) |
None |
stringに与えられた名前のApplicationCommandを実行します。<args>が与えられれば、それらとともに実行されます。 |
Window.run_command メソッドはいかなる種類のコマンドも実行でき、インプットフォーカス経由でそのコマンドを割り当てます。Window.run_command is able to run both any sort of command, dispatching the command via input focus.
各種パネル
クイックパネル
| Methods |
Return Value |
説明 |
show_quick_panel(items, on_done, <flags>, <selected_index>, <on_highlight>) |
None |
与えられたリスト(items)に対してファジーサーチを行うことの出来るクイックパネル(GotoAnythingなどに使われるパネル)を呼び出します。 |
パネル上でいずれかの要素を選択すると、選択した要素のindexを引数としてon_doneが実行され、パネルがキャンセルされた場合、on_doneには -1 が渡されます。
各引数はそれぞれ、以下のような値を渡すことができます。
show_quick_panel の引数
| args |
説明 |
items |
パネルに表示させたい文字列のリスト |
on_done |
選択後の処理を行うメソッド |
<flags> |
等幅フォントを使用するためのフラグ |
<selected_index> |
最初に選択される要素のindex
|
<on_highlight> |
選択を変更するごとに実行されるメソッド |
itemsにはネストしたリストも渡すことができます。例えば[[a1, a2]]というようなリストが渡された場合、一つの要素内にa1、a2が別行で表示されます。
<flags>にはsublime.MONOSPACE_FONTの一種類のフラグのみ用いることができます。フラグの内容は本表下で説明します。
on_highlghtでは、選択を変更するごとに引数として与えたメソッドに選択した要素のindexを渡し、実行します。
show_quick_panel のフラグ
| フラグ名 |
説明 |
| sublime.MONOSPACE_FONT |
クイックパネルに表示されるフォントを等幅フォントにします。 |
インプットパネル
| Methods |
Return Value |
説明 |
show_input_panel(caption, initial_text, on_done, on_change, on_cancel) |
View |
ユーザーが文字列を入力することができるインプットパネルを表示します。 |
インプットパネルは文字列を入力し、enterを押すと、文字列がon_doneに渡され、メソッドが実行されるパネルです。戻り値として、インプットパネルのviewオブジェクトを返します。
各引数はそれぞれ、以下のような値を渡すことができます。
show_input_panel の引数
| args |
説明 |
caption |
パネル左端にてキャプションとなる文字列 |
initial_text |
パネル内に最初に表示させたい文字列 |
on_done |
enterを入力した後に実行されるメソッド |
on_change |
文字を入力するごとに実行されるメソッド |
on_cancel |
パネルをキャンセルした際に実行されるメソッド |
on_doneとon_changeは引数として文字列を受け取るメソッドでなくてはならず、on_changeでは実行されるごとにインプットパネルに入力しているすべての文字列が引き渡されます。
on_cancelでは与えたメソッドは文字列を引数として受け取ることは出来ません。
アウトプットパネル
| Methods |
Return Value |
説明 |
create_output_panel(name) |
View |
nameによって名付けられたアウトプットパネルのviewオブジェクトを返します。 |
このメソッドで作成したviewではoutput.name(nameはこのメソッドに引数として渡した文字列)をその名前として使用することができます。
またこのメソッドだけではアウトプットパネルを表示しないので、パネルを表示するために show_panel コマンドを使わなくてはいけません。show_panel コマンドは上記のoutput.name使って、デフォルトのキーバインドを参考にして run_command すれば表示できます。
シンボル
| Methods |
Return Value |
説明 |
lookup_symbol_in_index(symbol) |
[Location] |
現在のプロジェクト内の全ファイルにおけるすべてのsymbolの位置を返します。 |
lookup_symbol_in_open_files(symbol) |
[Location] |
現在開いている全ファイルにおけるすべてのsymbolの位置を返します。 |
symbolにはクラス名やメソッド名などを文字列で与えることができます。 |
|
|
Class sublime.Settings
| Methods |
Return Value |
説明 |
get(name) |
value |
settingオブジェクトにセットしたnameの値を返します。 |
get(name, default) |
value |
settingオブジェクトにセットしたnameの値を返します。値が設定されていない場合はdefaultの値を返します。 |
set(name, value) |
None |
settingオブジェクトにnameに与えた名前をキーとしてvalueに与えた引数をセットします。valueにはintなどのプリミティブな型やリスト、辞書のみをセットできます。 |
erase(name) |
None |
nameの値を削除します。 Does not remove it from any parent Settings. |
has(name) |
bool |
settignsオブジェクトにnameのキーが存在する場合、Trueを返します。Returns true if the named option exists in this set of Settings or one of its parents. |
add_on_change(name, on_change) |
None |
nameの値が変更された際に呼び出されるコールバックメソッドを設定できます。 |
clear_on_change(name) |
None |
nameに関連付けられたコールバックメソッドをすべて消去します。 |
Class sublime_plugin.EventListener
これらのイベントの多くはviewオブジェクトに基づくバッファーによって引き起こされます。そしてそのメソッドは一度だけ呼び出され、パラメータとして現在使用中のviewが使われます。
Note that many of these events are triggered by the buffer underlying the view, and thus the method is only called once, with the first view as the parameter.
viewは新しく作成されたバッファのviewではなく、作成した時点で使用していたviewが用いられます。
| Methods |
Return Value |
説明 |
on_new(view) |
None |
新しいバッファが作られたときに呼び出されます。 |
on_new_async(view) |
None |
新しいバッファが作られたときに呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_clone(view) |
None |
現在使用中のviewが複製された際に呼び出されます。 |
on_clone_async(view) |
None |
現在使用中のviewが複製された際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_load(view) |
None |
ファイルのロードが終了した際に呼び出されます。 |
on_load_async(view) |
None |
ファイルのロードが終了した際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_pre_close(view) |
None |
viewが閉じられる直前に呼び出されます。引数のviewには閉じられるファイルのviewオブジェクトが使われます。 |
on_close(view) |
None |
viewが閉じられた直後に呼び出されます。(note, there may still be other views into the same buffer). |
on_pre_save(view) |
None |
viewが保存される直前に呼び出されます。 |
on_pre_save_async(view) |
None |
viewが保存される直前に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_post_save(view) |
None |
viewが保存された直後に呼び出されます。 |
on_post_save_async(view) |
None |
viewが保存された直後に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_modified(view) |
None |
編集中のファイルに変更が加えられた直後呼び出されます。 |
on_modified_async(view) |
None |
編集中のファイルに変更が加えられた直後呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_selection_modified(view) |
None |
選択部分を変更した直後に呼び出されます。 |
on_selection_modified_async(view) |
None |
選択部分を変更した直後に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_activated(view) |
None |
viewにフォーカスした際に呼び出されます。 |
on_activated_async(view) |
None |
viewのフォーカスにした際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_deactivated(view) |
None |
viewのフォーカスをはずした際に呼び出されます。 |
on_deactivated_async(view) |
None |
viewのフォーカスを切り替えた際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。 |
on_text_command(view, command_name, args) |
(new_command_name, new_args) |
テキストコマンドが呼び出された際に呼び出されるメソッドです。このメソッドでは戻り値として(new_command_name, new_args)のタプルを設定することにより、実行されるコマンドの代わりに戻り値に設定したコマンドが実行されます。(注:何の条件も設定せずに戻り値を設定すると、すべてのコマンドの代わりに戻り値に設定したコマンドが実行されてしまうため大変危険です!) |
on_window_command(window, command_name, args) |
(new_command_name, new_args) |
ウィンドウコマンドが呼び出された際に呼び出されるメソッドです。このメソッドでは戻り値として(new_command_name, new_args)のタプルを設定することにより、実行されるコマンドの代わりに戻り値に設定したコマンドが実行されます。(注:何の条件も設定せずに戻り値を設定すると、すべてのコマンドの代わりに戻り値に設定したコマンドが実行されてしまうため大変危険です!) |
post_text_command(view, command_name, args) |
None |
Called after a text command has been executed. |
post_window_command(window, command_name, args) |
None |
Called after a window command has been executed. |
on_query_context(view, key, operator, operand, match_all) |
bool or None
|
context keyとして与えられたkeyを設定したキーバインドが使われた際に呼び出されます。もしプラグイン上でその状況にどのように反応するかが設定されていた場合、TrueかFalseを返します。その状況が不明な場合、Noneを返します。設定可能なoperatorを表の下に示します。 |
on_query_context のoperator
operator名 |
説明 |
| sublime.OP_EQUAL. |
keyの値がオペランドと等しいかどうかを評価するためのoperatorです。 |
| sublime.OP_NOT_EQUAL. |
keyの値がオペランドと等しくないかどうかを評価するためのoperatorです。 |
| sublime.OP_REGEX_MATCH. |
keyの値がオペランドに設定した正規表現と等しいかどうかを評価するためのoperatorです。 |
| sublime.OP_NOT_REGEX_MATCH. |
keyの値がオペランドに設定した正規表現にマッチしないないかどうかを評価するためのoperatorです。 |
| sublime.OP_REGEX_CONTAINS. |
keyの値にオペランドに設定した正規表現が含まれるかどうかを評価するためのoperatorです。 |
| sublime.OP_NOT_REGEX_CONTAINS. |
keyの値にオペランドに設定した正規表現が含まれないことを評価するためのoperatorです。 |
match_allは、もし範囲選択をcontextとするのであれば、用いられるべきです。:すべての選択部分とマッチするかどうかを評価する場合は'match_all':trueを、少なくとも一つがマッチすればいよい場合は'match_all':falseを使用してください。
Class sublime_plugin.ApplicationCommand
| Methods |
Return Value |
説明 |
run(<args>) |
None |
コマンドを走らせる際に呼ばれるメソッドです。 |
is_enabled(<args>) |
bool |
コマンドがその時点で利用可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。 |
is_visible(<args>) |
bool |
コマンドがその時点でメニューに表示可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。 |
is_checked(<args>) |
bool |
メニューバーで使われるようなチェックボックスが使用される場合にTrueを返します。.sublime-menuファイルではこの設定を有効にするために、checkbox属性を記述する必要があります。 |
description(<args>) |
String |
引数に与えたコマンドの説明を返します。メニューに使われていた場合はキャプションを返します。デフォルトではNoneが返されます。 |
Class sublime_plugin.WindowCommand
WindowCommandsはウィンドウごとに一つのインスタンスを作成します。Windowオブジェクトはself.windowにより取得できます。
| Methods |
Return Value |
説明 |
run(<args>) |
None |
コマンドを走らせる際に呼ばれるメソッドです。 |
is_enabled(<args>) |
bool |
コマンドがその時点で利用可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。 |
is_visible(<args>) |
bool |
コマンドがその時点でメニューに表示可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。 |
description(<args>) |
String |
引数に与えたコマンドの説明を返します。メニューに使われていた場合はキャプションを返します。デフォルトではNoneが返されます。 |
Class sublime_plugin.TextCommand
TextCommandsはviewごとに一つのインスタンスを作成します。viewオブジェクトはself.viewにより取得できます。
| Methods |
Return Value |
説明 |
run(edit, <args>) |
None |
コマンドを走らせる際に呼ばれるメソッドです。 |
is_enabled(<args>) |
bool |
コマンドがその時点で利用可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。 |
is_visible(<args>) |
bool |
コマンドがその時点でメニューに表示可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。 |
description(<args>) |
String |
引数に与えたコマンドの説明を返します。メニューに使われていた場合はキャプションを返します。デフォルトではNoneが返されます。 |