forked from hatashiro/ClassHierarchy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.py
42 lines (33 loc) · 1.11 KB
/
settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- encoding: utf-8 -*-
import sublime
class NoSettingException(Exception):
pass
def get_setting(settings, key):
if settings.has(key):
return settings.get(key)
else:
return None
def get_setting_from_view(key):
try:
view = sublime.active_window().active_view()
return get_setting(view.settings(), "class_hierarchy_%s" % key)
except:
return None
def get_setting_from_preferences(key):
settings = sublime.load_settings("Preferences.sublime-settings")
return get_setting(settings, "class_hierarchy_%s" % key)
def get_setting_from_plugin(key):
settings = sublime.load_settings("ClassHierarchy.sublime-settings")
return get_setting(settings, key)
def setting(key, view=None):
value = get_setting_from_view(key)
if value:
return value
value = get_setting_from_preferences(key)
if value:
return value
value = get_setting_from_plugin(key)
if value:
return value
sublime.status_message('"%s" is not found in settings. Please check the setting or restart Sublime Text.' % key)
raise NoSettingException