def load_last_run(self):
self.load_config()
self.save_all()
s = sublime.load_settings("ElixirTest.last-run")
return (s.get("last_test_run"), s.get("last_test_working_dir"))
python类load_settings()的实例源码
def log(cls, string):
"""
Log string to sublime text console if debug is enabled
"""
if not hasattr(cls, "enabled"):
settings = sublime.load_settings('TerminalView.sublime-settings')
cls.enabled = settings.get("terminal_view_print_debug", False)
if cls.enabled:
prefix = "[terminal_view debug] [%.3f] " % (time.time())
print(prefix + string)
def __init__(self, sublime_view, title, syntax_file=None):
self._view = sublime_view
self._view.set_name(title)
self._view.set_scratch(True)
self._view.set_read_only(True)
self._view.settings().set("gutter", False)
self._view.settings().set("highlight_line", False)
self._view.settings().set("auto_complete_commit_on_tab", False)
self._view.settings().set("draw_centered", False)
self._view.settings().set("word_wrap", False)
self._view.settings().set("auto_complete", False)
self._view.settings().set("draw_white_space", "none")
self._view.settings().set("draw_indent_guides", False)
self._view.settings().set("caret_style", "blink")
self._view.settings().set("scroll_past_end", False)
self._view.settings().add_on_change('color_scheme', lambda: set_color_scheme(self._view))
if syntax_file is not None:
self._view.set_syntax_file("Packages/User/" + syntax_file)
# Mark in the views private settings that this is a terminal view so we
# can use this as context in the keymap
self._view.settings().set("terminal_view", True)
settings = sublime.load_settings('TerminalView.sublime-settings')
self._show_colors = settings.get("terminal_view_show_colors", False)
self._right_margin = settings.get("terminal_view_right_margin", 3)
self._bottom_margin = settings.get("terminal_view_bottom_margin", 0)
# Use pyte as underlying terminal emulator
hist = settings.get("terminal_view_scroll_history", 1000)
ratio = settings.get("terminal_view_scroll_ratio", 0.5)
self._term_emulator = pyte_terminal_emulator.PyteTerminalEmulator(80, 24, hist, ratio)
self._keypress_callback = None
self._view_content_cache = sublime_view_cache.SublimeViewContentCache()
self._view_region_cache = sublime_view_cache.SublimeViewRegionCache()
# Register the new instance of the sublime buffer class so other
# commands can look it up when they are called in the same sublime view
SublimeBufferManager.register(sublime_view.id(), self)
def __init__(self):
active_view = sublime.active_window().active_view()
self.user_settings = sublime.load_settings("CommandBox.sublime-settings")
self.sources = [active_view.settings(), ProjectData(), self.user_settings]
def get_settings():
return sublime.load_settings(SETTINGS)
def is_ignored():
preferences = sublime.load_settings('Preferences.sublime-settings')
if PKG in preferences.get('ignored_packages'):
return True
return False
def is_installed_by_package_control():
settings = sublime.load_settings('Package Control.sublime-settings')
return str(__pc_name__ in set(settings.get('installed_packages', [])))
def get_current_theme():
return sublime.load_settings('Preferences.sublime-settings').get('theme')
def run(self):
"""Run the command."""
base_path = os.path.join(sublime.packages_path(), 'User', '*.tmTheme')
sublime_path = os.path.join(sublime.packages_path(), 'User', 'SublimeLinter', '*.tmTheme')
themes = glob(base_path) + glob(sublime_path)
prefs = sublime.load_settings('Preferences.sublime-settings')
scheme = prefs.get('color_scheme')
for theme in themes:
# Ensure it is a (SL) theme and it is not current current scheme
if re.search(r'\(SL\)', theme) and os.path.normpath(scheme) not in theme:
persist.debug('deleting {}'.format(os.path.split(theme)[1]))
os.remove(theme)
def observe(self, observer=None):
"""Observer changes to the plugin settings."""
self.plugin_settings = sublime.load_settings('SublimeLinter.sublime-settings')
self.plugin_settings.clear_on_change('sublimelinter-persist-settings')
self.plugin_settings.add_on_change('sublimelinter-persist-settings',
observer or self.on_update)
def settings():
"""Shortcut to the settings"""
return load_settings("GutterColor.sublime-settings")
def __init__(self, view, region, file_id):
self.generate_webcolors()
self.view = view
self.region = region
self.file_id = file_id
self.settings = load_settings("GutterColor.sublime-settings")
self.text = self.view.substr(self.region)
def parse_global(self):
"""Parse global settings."""
color_settings = {}
for item in self.csm.plist_file["settings"]:
if item.get('scope', None) is None and item.get('name', None) is None:
color_settings = item["settings"]
break
# Get general theme colors from color scheme file
self.bground = self.strip_color(color_settings.get("background", '#FFFFFF'), simple_strip=True)
rgba = RGBA(self.bground)
self.lums = rgba.get_luminance()
is_dark = self.lums <= LUM_MIDPOINT
settings = sublime.load_settings("Preferences.sublime-settings")
self.variables = {
"is_dark": is_dark,
"is_light": not is_dark,
"sublime_version": int(sublime.version()),
"mdpopups_version": ver.version(),
"color_scheme": self.scheme_file,
"use_pygments": not settings.get('mdpopups.use_sublime_highlighter', False),
"default_formatting": settings.get('mdpopups.default_formatting', True)
}
self.html_border = rgba.get_rgb()
self.fground = self.strip_color(color_settings.get("foreground", '#000000'))
# Intialize colors with the global foreground, background, and fake html_border
self.colors = OrderedDict()
self.colors['.foreground'] = OrderedDict([('color', 'color: %s; ' % self.fground)])
self.colors['.background'] = OrderedDict([('background-color', 'background-color: %s; ' % self.bground)])
def _get_setting(name, default=None):
"""Get the Sublime setting."""
return sublime.load_settings('Preferences.sublime-settings').get(name, default)
def _get_scheme(view):
"""Get the scheme object and user CSS."""
scheme = view.settings().get('color_scheme')
settings = sublime.load_settings("Preferences.sublime-settings")
obj = None
user_css = ''
if scheme is not None:
if scheme in _scheme_cache:
obj, user_css, t = _scheme_cache[scheme]
# Check if cache expired or user changed pygments setting.
if (
_is_cache_expired(t) or
obj.variables.get('use_pygments', True) != (not settings.get(HL_SETTING, False)) or
obj.variables.get('default_formatting', True) != settings.get(FORMAT_SETTING, True)
):
obj = None
user_css = ''
if obj is None:
try:
obj = Scheme2CSS(scheme)
_prune_cache()
user_css = _get_user_css()
_scheme_cache[scheme] = (obj, user_css, time.time())
except Exception:
_log('Failed to convert/retrieve scheme to CSS!')
_debug(traceback.format_exc(), ERROR)
return obj, user_css
def get_language_from_view(view):
"""Guess current language from view."""
lang = None
user_map = sublime.load_settings('Preferences.sublime-settings').get('mdpopups.sublime_user_lang_map', {})
syntax = os.path.splitext(view.settings().get('syntax').replace('Packages/', '', 1))[0]
keys = set(list(lang_map.keys()) + list(user_map.keys()))
for key in keys:
v1 = lang_map.get(key, (tuple(), tuple()))[1]
v2 = user_map.get(key, (tuple(), tuple()))[1]
if syntax in (tuple(v2) + v1):
lang = key
break
return lang
def get_setting(key, default=None):
settings = sublime.load_settings('Terminal.sublime-settings')
os_specific_settings = {}
if os.name == 'nt':
os_specific_settings = sublime.load_settings('Terminal (Windows).sublime-settings')
elif os.name == 'darwin':
os_specific_settings = sublime.load_settings('Terminal (OSX).sublime-settings')
else:
os_specific_settings = sublime.load_settings('Terminal (Linux).sublime-settings')
return os_specific_settings.get(key, settings.get(key, default))
def get_setting(key, default):
old_settings = sublime.load_settings("Preferences.sublime-settings")
new_settings = sublime.load_settings("Tern.sublime-settings")
setting = new_settings.get(key, None)
if setting is None:
return old_settings.get(key, default)
else:
return new_settings.get(key, default)
def on_hover(self, view, point, hover_zone):
if "PHP" not in view.settings().get('syntax'):
return
self.settings = sublime.load_settings('CompletePHP.sublime-settings')
if self.settings.get('showInlineDocsOnHover') == False:
return
if hover_zone != sublime.HOVER_TEXT:
return
wordregion = view.word(point)
word = view.substr(wordregion).lower()
print(word)
self.show_doc_popup(view, point, word)
def get_settings(self, view, key, default=None):
"""Get user settings for key.
Combine SwiftKitten package settings with project settings
"""
settings = load_settings("SwiftKitten.sublime-settings")
project_data = view.window().project_data()
return project_data.get(key, settings.get(key, default))