12
12

More than 5 years have passed since last update.

「Sublime Text 2で全角スペースをハイライト表示するプラグインを作る」で、ハイライトとアウトラインできるようにしてみた

Posted at

全角スペースをハイライト表示するプラグインを弄らせて頂きました。

変更点

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

ソース

AlwaysHighlight.py
#!/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)
    # outline
    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)

設定

Preferences.sublime-settings
    // パッケージの有効化
    "enable_alwayshighlight": true,

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

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

以上です。

参考にさせていただきました m(_ _)m

12
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12