Skip to content

Commit 7f9dccb

Browse files
committed
Look at view for color scheme first, then preference file.
ref: #23
1 parent 963a2ce commit 7f9dccb

1 file changed

Lines changed: 27 additions & 4 deletions

File tree

scope_hunter.py

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,18 @@ def on_selection_modified(self, view):
665665
sh_thread.modified = True
666666
sh_thread.time = time()
667667

668+
def on_activated(self, view):
669+
"""Check color scheme on activated and update if needed."""
670+
671+
scheme = view.settings().get("color_scheme")
672+
if scheme is None:
673+
pref_settings = sublime.load_settings('Preferences.sublime-settings')
674+
scheme = pref_settings.get('color_scheme')
675+
676+
if sh_theme is not None and scheme is not None:
677+
if scheme != sh_theme.scheme_file:
678+
reinit_plugin()
679+
668680

669681
class ShThread(threading.Thread):
670682
"""Load up defaults."""
@@ -771,8 +783,7 @@ def get_theme_res(self, *args, **kwargs):
771783
def setup(self):
772784
"""Setup the theme object."""
773785

774-
pref_settings = sublime.load_settings('Preferences.sublime-settings')
775-
self.scheme_file = pref_settings.get('color_scheme')
786+
self.scheme_file = scheme_matcher.scheme_file
776787
self.tt_theme = sh_settings.get('tooltip_theme', 'ScopeHunter/tt_theme').rstrip('/')
777788
theme_file = 'dark' if scheme_matcher.is_dark_theme else 'light'
778789

@@ -786,8 +797,20 @@ def init_color_scheme():
786797
"""Setup color scheme match object with current scheme."""
787798

788799
global scheme_matcher
789-
pref_settings = sublime.load_settings('Preferences.sublime-settings')
790-
scheme_file = pref_settings.get('color_scheme')
800+
scheme_file = None
801+
802+
# Attempt syntax specific from view
803+
window = sublime.active_window()
804+
if window is not None:
805+
view = window.active_view()
806+
if view is not None:
807+
scheme_file = view.settings().get('color_scheme', None)
808+
809+
# Get global scheme
810+
if scheme_file is None:
811+
pref_settings = sublime.load_settings('Preferences.sublime-settings')
812+
scheme_file = pref_settings.get('color_scheme')
813+
791814
try:
792815
scheme_matcher = ColorSchemeMatcher(scheme_file)
793816
except Exception:

0 commit comments

Comments
 (0)