@@ -44,9 +44,8 @@ def __enter__(self):
44
44
45
45
def __exit__ (self , exc_type , exc_value , exc_traceback ):
46
46
if exc_type :
47
- class_name = self .__class__ .__name__
48
- log .error ('Error occurred in %s while exiting: %s\n %s' , class_name , exc_value , '' .join (traceback .format_tb (exc_traceback )))
49
- return False # return True to suppress exceptions
47
+ log .error ('Error in %s while exiting: %s\n %s' , self .__class__ .__name__ , exc_value , '' .join (traceback .format_tb (exc_traceback )))
48
+ return False
50
49
51
50
def run (self ):
52
51
self .start_timer ()
@@ -61,13 +60,12 @@ def run(self):
61
60
try :
62
61
cwd = self .get_current_working_directory ()
63
62
filelist = self .get_recursive_files (cwd )
64
-
65
63
self .prepare_context (cwd , filelist )
66
64
self .process_files ()
67
65
except Exception as e :
68
66
self .handle_error (e )
69
67
except Exception as e :
70
- log .error ('Error occurred during dir formatting: %s\n %s' , e , '' .join (traceback .format_tb (e .__traceback__ )))
68
+ log .error ('Error during dir formatting: %s\n %s' , e , '' .join (traceback .format_tb (e .__traceback__ )))
71
69
72
70
@staticmethod
73
71
def stop ():
@@ -96,12 +94,9 @@ def end_timer(self):
96
94
if START_TIME is None :
97
95
log .warning ('Timer was not started.' )
98
96
return 'N/A'
99
-
100
- end_time = perf_counter ()
101
- elapsed_time = end_time - START_TIME
102
- formatted_time = self .format_elapsed_time (elapsed_time )
97
+ elapsed_time = perf_counter () - START_TIME
103
98
START_TIME = None
104
- return '{}' . format ( formatted_time )
99
+ return self . format_elapsed_time ( elapsed_time )
105
100
106
101
def get_current_working_directory (self ):
107
102
return PathHandler .get_pathinfo (view = self .view , path = self .view .file_name ())['cwd' ]
@@ -159,35 +154,32 @@ def format_next_file(self, new_view, is_ready=False):
159
154
160
155
def _on_format_completed (self , new_view , is_ready , is_success ):
161
156
self .post_dir_format (new_view , is_success )
157
+
162
158
if is_ready and is_success :
163
159
new_view .run_command ('undo' ) # entry_view
164
160
elif self .CONTEXT ['entry_view' ] != new_view :
165
161
new_view .set_scratch (True )
166
162
new_view .close ()
167
163
168
164
if self .CONTEXT ['current_index' ] == self .CONTEXT ['filelist_length' ]:
169
- # Handle the last file
170
- self .handle_formatting_completion ()
171
-
172
- self .open_next_file ()
165
+ self .handle_formatting_completion () # handle the last file
166
+ else :
167
+ self .open_next_file ()
173
168
174
169
def post_dir_format (self , new_view , is_success ):
175
170
new_cwd = self .get_post_format_cwd (is_success )
176
- self .show_result (is_success )
171
+ self .update_status (is_success )
177
172
self .save_formatted_file (new_view , new_cwd , is_success )
178
173
179
174
def get_post_format_cwd (self , is_success ):
180
175
base_directory = self .CONTEXT ['cwd' ]
181
176
sub_directory = RECURSIVE_SUCCESS_DIRECTORY if is_success else RECURSIVE_FAILURE_DIRECTORY
182
177
return os .path .join (base_directory , sub_directory )
183
178
184
- def show_result (self , is_success ):
185
- if is_success :
186
- self .CONTEXT ['success_count' ] += 1
187
- log .status ('🎉 Formatting successful. 🥳✨\n ' )
188
- else :
189
- self .CONTEXT ['failure_count' ] += 1
190
- log .status ('❌ Formatting failed. 😢💔\n ' )
179
+ def update_status (self , is_success ):
180
+ self .CONTEXT ['success_count' ] += is_success
181
+ self .CONTEXT ['failure_count' ] += not is_success
182
+ log .status ('🎉 Formatting successful. 🥳✨\n ' if is_success else '❌ Formatting failed. 😢💔\n ' )
191
183
192
184
def save_formatted_file (self , new_view , new_cwd , is_success ):
193
185
file_path = new_view .file_name ()
@@ -244,8 +236,7 @@ def generate_status_text(self):
244
236
245
237
def open_console_on_failure (self ):
246
238
if OptionHandler .query (CONFIG , False , 'open_console_on_failure' ) and self .CONTEXT ['failure_count' ] > 0 :
247
- current_view = self .get_current_view ()
248
- current_view .window ().run_command ('show_panel' , {'panel' : 'console' , 'toggle' : True })
239
+ self .get_current_view ().window ().run_command ('show_panel' , {'panel' : 'console' , 'toggle' : True })
249
240
250
241
def show_completion_message (self ):
251
242
ok = self .CONTEXT ['success_count' ]
@@ -269,36 +260,31 @@ def show_completion_message(self):
269
260
InterfaceHandler .popup_message (message , 'INFO' , dialog = True )
270
261
271
262
def reset_context (self ):
272
- for key , value in self .CONTEXT .items ():
273
- if isinstance (value , list ):
274
- self .CONTEXT [key ] = []
275
- elif isinstance (value , int ):
276
- self .CONTEXT [key ] = 0
277
- else :
278
- self .CONTEXT [key ] = None
263
+ for key in self .CONTEXT :
264
+ self .CONTEXT [key ] = [] if isinstance (self .CONTEXT [key ], list ) else 0 if isinstance (self .CONTEXT [key ], int ) else None
279
265
# Reset and end
280
266
CONFIG ['STOP' ] = True
281
267
282
268
@staticmethod
283
269
def handle_error (error , cwd = None , file_path = None ):
284
- log .error ('Error occurred : %s\n %s' , error , '' .join (traceback .format_tb (error .__traceback__ )))
270
+ log .error ('Error: %s\n %s' , error , '' .join (traceback .format_tb (error .__traceback__ )))
285
271
if cwd and (error .errno != os .errno .EEXIST ):
286
- log .error ('Could not create directory : %s' , cwd )
287
- InterfaceHandler .popup_message ('Could not create directory: %s\n Error mainly appears due to a lack of necessary permissions .' % cwd , 'ERROR' )
272
+ log .error ('Directory creation failed : %s' , cwd )
273
+ InterfaceHandler .popup_message ('Error creating directory: %s\n Permissions issue likely .' % cwd , 'ERROR' )
288
274
if file_path :
289
275
log .error ('Could not save file: %s' , file_path )
290
- InterfaceHandler .popup_message ('Could not save file: %s\n Error mainly appears due to a lack of necessary permissions .' % file_path , 'ERROR' )
276
+ InterfaceHandler .popup_message ('Error saving file: %s\n Permissions issue likely .' % file_path , 'ERROR' )
291
277
292
278
293
279
class SerialFormat :
294
280
@staticmethod
295
281
def run (view = None , callback = None , ** kwargs ):
296
- is_success = False
297
282
try :
298
283
region = sublime .Region (0 , view .size ())
299
284
uid = kwargs .get ('uid' , None )
300
285
uid , syntax = SyntaxHandler .get_assigned_syntax (view = view , uid = uid , region = region , auto_format_config = None )
301
286
exclude_syntaxes = OptionHandler .query (CONFIG , [], 'formatters' , uid , 'dir_format' , 'exclude_syntaxes' )
287
+
302
288
if TextHandler .is_chars_limit_exceeded (view ):
303
289
callback (False )
304
290
elif not syntax or syntax in exclude_syntaxes :
@@ -307,11 +293,8 @@ def run(view=None, callback=None, **kwargs):
307
293
log .warning ('Syntax out of the scope. Plugin scope: %s, UID: %s, File syntax: %s, File: %s' , scope , uid , syntax , view .file_name ())
308
294
callback (False )
309
295
else :
310
- kwargs .update ({
311
- 'view' : view ,
312
- 'region' : region
313
- })
296
+ kwargs .update ({'view' : view , 'region' : region })
314
297
is_success = Formatter (** kwargs ).run ()
315
298
callback (is_success )
316
299
except Exception as e :
317
- log .error ('Error occurred : %s\n %s' , e , '' .join (traceback .format_tb (e .__traceback__ )))
300
+ log .error ('Error in SerialFormat : %s\n %s' , e , '' .join (traceback .format_tb (e .__traceback__ )))
0 commit comments