@@ -639,7 +639,11 @@ def register_local_config(self, file_or_dir: str) -> None:
639
639
original_config_ref = self .config
640
640
self .config = copy .deepcopy (self .config )
641
641
_config_initialization (
642
- self , self ._cli_args , reporter = self .reporter , config_file = local_conf
642
+ self ,
643
+ self ._cli_args ,
644
+ reporter = self .reporter ,
645
+ config_file = local_conf ,
646
+ verbose_mode = self .config .verbose ,
643
647
)
644
648
self ._directory_namespaces [basedir .resolve ()] = (self .config , {})
645
649
# keep dict keys reverse-sorted so that
@@ -958,24 +962,29 @@ def set_current_module(self, modname: str, filepath: str | None = None) -> None:
958
962
# If there is an actual filepath we might need to update the config attribute
959
963
if filepath and self .config .use_local_configs :
960
964
self .register_local_config (filepath )
961
- namespace = self ._get_namespace_for_file (
965
+ config_path , namespace = self ._get_namespace_for_file (
962
966
Path (filepath ), self ._directory_namespaces
963
967
)
964
968
if namespace :
965
- self .config = namespace or self ._base_config
969
+ self .config = namespace
970
+ if self .config .verbose :
971
+ print (
972
+ f"Using config from { config_path } for { filepath } " ,
973
+ file = sys .stderr ,
974
+ )
966
975
967
976
def _get_namespace_for_file (
968
977
self , filepath : Path , namespaces : DirectoryNamespaceDict
969
- ) -> argparse .Namespace | None :
978
+ ) -> tuple [ Path | None , argparse .Namespace | None ] :
970
979
filepath = filepath .resolve ()
971
980
for directory in namespaces :
972
981
if _is_relative_to (filepath , directory ):
973
- namespace = self ._get_namespace_for_file (
982
+ _ , namespace = self ._get_namespace_for_file (
974
983
filepath , namespaces [directory ][1 ]
975
984
)
976
985
if namespace is None :
977
- return namespaces [directory ][0 ]
978
- return None
986
+ return directory , namespaces [directory ][0 ]
987
+ return None , None
979
988
980
989
@contextlib .contextmanager
981
990
def _astroid_module_checker (
0 commit comments