Skip to content

Commit

Permalink
Better performance
Browse files Browse the repository at this point in the history
Syntax check is only required once per view.
  • Loading branch information
MoritzBrueckner committed Mar 4, 2019
1 parent 9e289f4 commit d24841f
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,24 @@ def run(self):
for v in w.views():
vs = v.settings()

self.reset_setting(vs, PREF, 'draw_centered', False)
self.reset_setting(vs, PREF, 'draw_indent_guides', True)
self.reset_setting(vs, PREF, 'draw_white_space', 'selection')
self.reset_setting(vs, PREF, 'fold_buttons', True)
self.reset_setting(vs, PREF, 'gutter', True)
self.reset_setting(vs, PREF, 'line_numbers', True)
self.reset_setting(vs, PREF, 'rulers', [])
self.reset_setting(vs, PREF, 'scroll_past_end', True)
self.reset_setting(vs, PREF, 'word_wrap', 'auto')
self.reset_setting(vs, PREF, 'wrap_width', 0)
# Syntax has the format 'Packages/[SYNTAX?]/[SYNTAX].sublime-syntax'
# To be safe, I've chosen to get the syntax from the filename, not from
# its directory (so no 'split('/')[1]' here).
syntax = vs.get('syntax').split('/')[-1].split('.')[0]

# Preferences > Syntax Specific
SYN_PREF = sublime.load_settings(syntax + '.sublime-settings')

self.reset_setting(vs, SYN_PREF, PREF, 'draw_centered', False)
self.reset_setting(vs, SYN_PREF, PREF, 'draw_indent_guides', True)
self.reset_setting(vs, SYN_PREF, PREF, 'draw_white_space', 'selection')
self.reset_setting(vs, SYN_PREF, PREF, 'fold_buttons', True)
self.reset_setting(vs, SYN_PREF, PREF, 'gutter', True)
self.reset_setting(vs, SYN_PREF, PREF, 'line_numbers', True)
self.reset_setting(vs, SYN_PREF, PREF, 'rulers', [])
self.reset_setting(vs, SYN_PREF, PREF, 'scroll_past_end', True)
self.reset_setting(vs, SYN_PREF, PREF, 'word_wrap', 'auto')
self.reset_setting(vs, SYN_PREF, PREF, 'wrap_width', 0)
if PREF.get('distraction_free_window.toggle_menu', True):
if sublime.platform() in ['linux', 'windows']:
w.set_menu_visible(True)
Expand All @@ -86,17 +94,9 @@ def run(self):
pass

@staticmethod
def reset_setting(view_prefs, global_prefs, setting, default):
def reset_setting(view_prefs, syntax_prefs, global_prefs, setting, default):
"""
Resets a viewport setting to it's state before distraction free mode.
"""
# Syntax has the format 'Packages/[SYNTAX?]/[SYNTAX].sublime-syntax'
# To be safe, I've chosen to get the syntax from the filename, not from
# its directory (so no 'split('/')[1]' here).
syntax = view_prefs.get('syntax').split('/')[-1].split('.')[0]

# Preferences > Syntax Specific
syntax_prefs = sublime.load_settings(syntax + '.sublime-settings')

# First load the syntax settings, if they don't exist load the global setting
view_prefs.set(setting, syntax_prefs.get(setting, global_prefs.get(setting, default)))

0 comments on commit d24841f

Please sign in to comment.