@@ -547,7 +547,11 @@ def codeintel_scan(view, path, content, lang, callback=None, pos=None, forms=Non
547547 vid = view .id ()
548548 folders = getattr (view .window (), 'folders' , lambda : [])() # FIXME: it's like this for backward compatibility (<= 2060)
549549 folders_id = str (hash (frozenset (folders )))
550- codeintel_config = view .settings ().get ('codeintel_config' , {})
550+ view_settings = view .settings ()
551+ codeintel_config = view_settings .get ('codeintel_config' , {})
552+ _codeintel_max_recursive_dir_depth = view_settings .get ('codeintel_max_recursive_dir_depth' , 10 )
553+ _codeintel_scan_files_in_project = view_settings .get ('codeintel_scan_files_in_project' , True )
554+ _codeintel_selected_catalogs = view_settings .get ('codeintel_selected_catalogs' , [])
551555
552556 def _codeintel_scan ():
553557 global despair , despaired
@@ -609,16 +613,30 @@ def _codeintel_scan():
609613 codeintel_log .warning (msg )
610614 valid = False
611615
616+ codeintel_config_lang = codeintel_config .get (lang , {})
617+ codeintel_max_recursive_dir_depth = codeintel_config_lang .get ('codeintel_max_recursive_dir_depth' , _codeintel_max_recursive_dir_depth )
618+ codeintel_scan_files_in_project = codeintel_config_lang .get ('codeintel_scan_files_in_project' , _codeintel_scan_files_in_project )
619+ codeintel_selected_catalogs = codeintel_config_lang .get ('codeintel_selected_catalogs' , _codeintel_selected_catalogs )
620+
621+ avail_catalogs = mgr .db .get_catalogs_zone ().avail_catalogs ()
622+
612623 # Load configuration files:
613- for catalog in mgr .db .get_catalogs_zone ().avail_catalogs ():
624+ all_catalogs = []
625+ for catalog in avail_catalogs :
626+ all_catalogs .append ("%s (for %s: %s)" % (catalog ['name' ], catalog ['lang' ], catalog ['description' ]))
614627 if catalog ['lang' ] == lang :
615- catalogs .append (catalog ['name' ])
628+ if catalog ['name' ] in codeintel_selected_catalogs :
629+ catalogs .append (catalog ['name' ])
630+ msg = "Avaliable catalogs: %s" % ', ' .join (all_catalogs ) or None
631+ log .debug (msg )
632+ codeintel_log .debug (msg )
633+
616634 config = {
617- "codeintel_selected_catalogs" : catalogs ,
618- "codeintel_max_recursive_dir_depth" : 10 ,
619- "codeintel_scan_files_in_project" : True ,
635+ 'codeintel_max_recursive_dir_depth' : codeintel_max_recursive_dir_depth ,
636+ 'codeintel_scan_files_in_project' : codeintel_scan_files_in_project ,
637+ 'codeintel_selected_catalogs' : catalogs ,
620638 }
621- config .update (codeintel_config . get ( lang , {}) )
639+ config .update (codeintel_config_lang )
622640
623641 _config = {}
624642 try :
@@ -674,7 +692,10 @@ def _codeintel_scan():
674692 msgs .append (('info' , "\n %s\n %s" % (msg , "-" * len (msg ))))
675693
676694 if catalogs :
677- msgs .append (('info' , "New env with catalogs for '%s': %s" % (lang , ', ' .join (catalogs ) or None )))
695+ msg = "New env with catalogs for '%s': %s" % (lang , ', ' .join (catalogs ) or None )
696+ log .debug (msg )
697+ codeintel_log .warning (msg )
698+ msgs .append (('info' , msg ))
678699
679700 buf = mgr .buf_from_content (content .encode ('utf-8' ), lang , env , path or "<Unsaved>" , 'utf-8' )
680701
@@ -875,6 +896,9 @@ def get_revision(path=None):
875896 'codeintel_disabled_languages' ,
876897 'codeintel_live' ,
877898 'codeintel_live_disabled_languages' ,
899+ 'codeintel_max_recursive_dir_depth' ,
900+ 'codeintel_scan_files_in_project' ,
901+ 'codeintel_selected_catalogs' ,
878902 'codeintel_syntax_map' ,
879903 'codeintel_scan_exclude_dir' ,
880904 'codeintel_config' ,
0 commit comments