@@ -273,14 +273,9 @@ def buildRefInfo(refInfoV):
273273class EditorClient :
274274 """ A singleton class holding information for the entire application that must be accessible globally"""
275275 def __init__ (self ):
276- # load formatting settings and set callbacks for setting changes
277- settings = sublime .load_settings ('Preferences.sublime-settings' )
278- for setting_name in ['tab_size' , 'indent_size' , 'translate_tabs_to_spaces' ]:
279- settings .add_on_change (setting_name , self .load_format_settings )
280- self .load_format_settings ()
281-
282276 # retrieve the path to tsserver.js
283277 # first see if user set the path to the file
278+ settings = sublime .load_settings ('Preferences.sublime-settings' )
284279 proc_file = settings .get ('typescript_proc_file' )
285280 if not proc_file :
286281 # otherwise, get tsserver.js from package directory
@@ -295,11 +290,17 @@ def __init__(self):
295290 self .available_tempfile_list = []
296291 self .tmpseq = 0
297292
293+ # load formatting settings and set callbacks for setting changes
294+ for setting_name in ['tab_size' , 'indent_size' , 'translate_tabs_to_spaces' ]:
295+ settings .add_on_change (setting_name , self .load_format_settings )
296+ self .load_format_settings ()
297+
298298 def load_format_settings (self ):
299299 settings = sublime .load_settings ('Preferences.sublime-settings' )
300300 self .tab_size = settings .get ('tab_size' , 4 )
301301 self .indent_size = settings .get ('indent_size' , 4 )
302302 self .translate_tab_to_spaces = settings .get ('translate_tabs_to_spaces' , False )
303+ self .set_features ()
303304
304305 def is_st2 (self ):
305306 if not hasattr (self , '_is_st2' ):
@@ -451,6 +452,7 @@ def open_file(view):
451452 cli .service .open (view .file_name ())
452453
453454def tab_size_changed ():
455+ view = active_view ()
454456 reconfig_file (view )
455457 clientInfo = cli .get_or_add_file (view .file_name ())
456458 clientInfo .pending_changes = True
@@ -1529,6 +1531,11 @@ def setCaretPos(view, pos):
15291531# format on ";", "}", or "\n"; called by typing these keys in a ts file
15301532# in the case of "\n", this is only called when no completion dialogue visible
15311533class TypescriptFormatOnKey (sublime_plugin .TextCommand ):
1534+ def is_enabled (self ):
1535+ settings = sublime .load_settings ('Preferences.sublime-settings' )
1536+ _is_enabled = settings .get ('typescript_auto_format' , True )
1537+ return _is_enabled
1538+
15321539 def run (self , text , key = "" , insertKey = True ):
15331540 if 0 == len (key ):
15341541 return
0 commit comments