SublimeText2で全角文字をハイライトする
SublimeText2で全角文字(特にスペース)をハイライトする
参考サイトでは、パターンにマッチしている部分をアウトライン(枠で囲う)する だけだったので、ちょっと改造して、ハイライトもできるようにした。
手順
基本的には参考サイトの通り
#!/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)
- 個人用の設定に、以下の設定を放り込む
(Cmd+, で個人用の設定を開く)
// パッケージの有効化 "enable_alwayshighlight": true, // ハイライトしたい文字パターンを設定 "alwayshighlight_pattern": "[{}「」¥=”’+@:;・_ー 0-9A-Za-z]", // アウトラインしたい文字パターンを設定 "alwayshighlight_outline_pattern": "[\n\t\r\n]",
参考サイト:http://qiita.com/WelinaNana/items/47742a4fee048f5156ab