Sublime Text 2 を使うようになり、どんどん馴染んでいます。とても良いエディタですね。
さて最近、WordPress のコードを書く事が多くなったのですが、WordPress の例のコーディングスタイルには中々慣れません。というか、他の言語や環境のコードも書くので、慣れても困ります。そこで簡単に「それ風」にコードを置換してくれる Sublime Text 2 用の極々単純なプラングインを書きました。
GitHub で公開しています。
st2-WPStyle | https://github.com/yuka2py/st2-WPStyle
機能
- 基本的に、例のパーレン括弧の内側に半角スペースを挿入するだけの、簡単なものです。
- 型キャストだけは例外でパーレン括弧の内側にスペースを入れません。
使い方
とても簡単です。
Packages ディレクトリにインストールしたら、Command Pallet から「WPStyle: Apply style to selection or all」を実行してください。
- 選択範囲があれば、その範囲のみを対象とします。
- 選択範囲が無いときは、現在のファイルの全てを対象とします。
- 文字列や、PHP コードの外側についても対象となるので、その辺りは注意しつつ上手くやってください。
プラグインの中身
エントリが寂しかったので、ソースコードでも貼っておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import re import sublime import sublime_plugin class WpstyleCommand(sublime_plugin.TextCommand): def run(self, edit): patterns = ( (re.compile(r'\((?=\S)', re.M), r'( '), (re.compile(r'(?<=\S)\)', re.M), r' )'), (re.compile(r'\(\s+\)', re.M), r'()'), (re.compile(r'\(\s*(array|bool|boolean|string|integer|object|float|double)\s*\)', re.M), r'(\1)'), (re.compile(r'\(\s+$', re.M), r'('), ) regions = self.view.sel() if regions[0].size() == 0: region = sublime.Region(0, self.view.size()) regions.add(region) for region in regions: text = self.view.substr(region) for pattern, replace in patterns: text = pattern.sub(replace, text) self.view.replace(edit, region, text) |
えっと…これだけです。 (^_^;A
§
Sublime Text 2 のプラグインは初めて書いたのですが、まあ、簡単ですねー。久々に Python が触れて嬉しかったです(と、同時にだいぶ忘れていて半泣きになりました)。
プラグインの作り方のエントリはググると沢山出てくるのですが、気が向いたら僕もエントリに書きたいと思います。
以上です。