のちのち個人的に必要になりそうなので、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)
##view
id取得
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
クラスで扱ったものと同じ内容です。
Methods | Return Value | 説明 |
---|---|---|
score_selector(point , selector ) |
Int | 与えられたpoint におけるscope に対してselector のマッチを行い、そのスコア(int )を返します。スコアが0ならマッチしていない、0以上であればマッチしているという評価になります。同じscope に対して異なるselector の比較を行った場合、よりよくマッチしたselector がより高いスコアを返します。 |
scope とselector に関してはSublime Text Unofficial Documentation - Scopes vs Scope Selectors を参照してください。 |
###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 が返されます。 |