Sublime Text API Reference（翻訳）

のちのち個人的に必要になりそうなので、[Sublime Text 3 API Refernce][1]の翻訳を載せていきます。一応最初の文言以外は翻訳しました。ただ文章がgdgdなのでちょいちょい手直ししていきます。
 __よく意味がわからないものは原文ママで載せています。また多少の意訳を含んでおり、個人的に使用したことのないAPIも含まれています。英語は苦手ですが、日本語もダメなので良くわからない文章に…（´・ω...:.;::..__

#Module sublime
使い方：

```py
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

使い方:

```py
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など)を与えることでフォーマットとして利用できるのだと思われます。[参考リンク][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][3] を参照してください。

###`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`+`@`で検索できる要素)を返します。|
注：[翻訳元][1]では引数に`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`)として取り扱われます。

使い方:

```py
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


使い方:

```py
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`の一種類のフラグのみ用いることができます。フラグの内容は[本表下][6]で説明します。    
`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`が返されます。|


[1]:http://www.sublimetext.com/docs/3/api_reference.html
[2]:http://www.sublimetext.com/forum/viewtopic.php?f=6&t=10778&sid=646ad468471cdc5fa8ac5089e12527f6&start=10
[3]:http://docs.sublimetext.info/en/latest/extensibility/syntaxdefs.html
[4]:http://qiita.com/TalesofFox/items/387ef41d37a3c54a83eb#2-1
[5]:http://qiita.com/TalesofFox/items/387ef41d37a3c54a83eb#2-2
[6]:http://qiita.com/TalesofFox/items/387ef41d37a3c54a83eb#2-3