開発メモ

開発メモ

SublimeText2で全角文字をハイライトする

SublimeText2で全角文字(特にスペース)をハイライトする

参考サイトでは、パターンにマッチしている部分をアウトライン(枠で囲う)する だけだったので、ちょっと改造して、ハイライトもできるようにした。

手順

基本的には参考サイトの通り

  1. プラグインソースコードを、プラグインのディレクトリに放り込む
    (Preference -> BrousePackagesで、プラグインのディレクトリを開く)
#!/usr/bin/python
# -*- coding: utf8 -*-
import sublime
import sublime_plugin

class AlwaysHihghlight(sublime_plugin.EventListener):
    # highlight
    def highlight(self, view):
        pattern = view.settings().get('alwayshighlight_pattern')
        if pattern:
            view.add_regions('AlwaysHighlight_Highlight',view.find_all(pattern), "invalid", sublime.DRAW_EMPTY)

    def outline(self, view):
        pattern = view.settings().get('alwayshighlight_outline_pattern')
        if pattern:
            view.add_regions('AlwaysHighlight_Outline',view.find_all(pattern), "invalid", sublime.DRAW_OUTLINED)

    def update(self,view):
        if view.settings().get('enable_alwayshighlight') == True:
            self.highlight(view)
            self.outline(view)
        else:
            view.erase_regions('highlight')

    # Called after changes have been made to a view.
    # @override
    def on_modified(self, view):
        self.update(view)

    # Called when a view gains input focus.
    # @override
    def on_activated(self, view):
        self.update(view)

    # Called when the file is finished loading.
    # @override
    def on_load(self, view):
        self.update(view)
  1. 個人用の設定に、以下の設定を放り込む
    (Cmd+, で個人用の設定を開く)
    // パッケージの有効化
    "enable_alwayshighlight": true,

    // ハイライトしたい文字パターンを設定
   "alwayshighlight_pattern": "[{}「」¥=”’+@:;・_ー 0-9A-Za-z]",

    // アウトラインしたい文字パターンを設定
    "alwayshighlight_outline_pattern": "[\n\t\r\n]",

参考サイト:http://qiita.com/WelinaNana/items/47742a4fee048f5156ab