66import typer
77from rich .console import Console
88
9- from robocop import __version__ , config
10- from robocop .config import defaults
11- from robocop .config .parser import compile_rule_pattern
9+ from robocop import __version__
10+ from robocop .config import defaults , manager , parser , schema
1211from robocop .formatter .runner import RobocopFormatter
1312from robocop .linter import rules_list
1413from robocop .linter .diagnostics import Diagnostic
@@ -203,15 +202,15 @@ def list_commands(self, ctx: click.Context) -> list[str]: # noqa: ARG002
203202 ),
204203]
205204linter_target_version_option = Annotated [
206- config . parser .TargetVersion | None ,
205+ parser .TargetVersion | None ,
207206 typer .Option (
208207 case_sensitive = False ,
209208 help = "Enable only rules supported by configured version" ,
210209 rich_help_panel = "Selecting rules" ,
211210 ),
212211]
213212formatter_target_version = Annotated [
214- config . parser .TargetVersion | None ,
213+ parser .TargetVersion | None ,
215214 typer .Option (
216215 case_sensitive = False ,
217216 help = "Enable only formatters supported by configured version" ,
@@ -225,7 +224,7 @@ def list_commands(self, ctx: click.Context) -> list[str]: # noqa: ARG002
225224 "-t" ,
226225 help = "Disable rules below given threshold" ,
227226 show_default = RuleSeverity .INFO .value ,
228- parser = config . parser .parse_rule_severity ,
227+ parser = parser .parse_rule_severity ,
229228 metavar = "I/W/E" ,
230229 rich_help_panel = "Selecting rules" ,
231230 ),
@@ -360,10 +359,10 @@ def check_files(
360359 if not reports :
361360 reports = []
362361 reports .append ("gitlab" )
363- file_filters = config . schema .RawFileFiltersOptions (
362+ file_filters = schema .RawFileFiltersOptions (
364363 include = include , default_include = default_include , exclude = exclude , default_exclude = default_exclude
365364 )
366- linter_config = config . schema .RawLinterConfig (
365+ linter_config = schema .RawLinterConfig (
367366 configure = configure ,
368367 select = select ,
369368 extend_select = extend_select ,
@@ -382,8 +381,8 @@ def check_files(
382381 unsafe_fixes = unsafe_fixes ,
383382 diff = diff ,
384383 )
385- cache_config = config . schema .RawCacheConfig (enabled = cache , cache_dir = cache_dir )
386- overwrite_config = config . schema .RawConfig (
384+ cache_config = schema .RawCacheConfig (enabled = cache , cache_dir = cache_dir )
385+ overwrite_config = schema .RawConfig (
387386 linter = linter_config ,
388387 formatter = None ,
389388 file_filters = file_filters ,
@@ -393,7 +392,7 @@ def check_files(
393392 verbose = verbose ,
394393 target_version = target_version ,
395394 )
396- manager = config . manager .ConfigManager (
395+ config_manager = manager .ConfigManager (
397396 sources = sources ,
398397 config = configuration_file ,
399398 root = root ,
@@ -404,8 +403,8 @@ def check_files(
404403 overwrite_config = overwrite_config ,
405404 )
406405 if clear_cache :
407- manager .cache .invalidate_all ()
408- runner = RobocopLinter (manager )
406+ config_manager .cache .invalidate_all ()
407+ runner = RobocopLinter (config_manager )
409408 return runner .run ()
410409
411410
@@ -483,7 +482,7 @@ def check_project(
483482 if not reports :
484483 reports = []
485484 reports .append ("gitlab" )
486- linter_config = config . schema .RawLinterConfig (
485+ linter_config = schema .RawLinterConfig (
487486 configure = configure ,
488487 select = select ,
489488 extend_select = extend_select ,
@@ -497,10 +496,10 @@ def check_project(
497496 exit_zero = exit_zero ,
498497 return_result = return_result ,
499498 )
500- file_filters = config . schema .RawFileFiltersOptions (
499+ file_filters = schema .RawFileFiltersOptions (
501500 include = include , default_include = default_include , exclude = exclude , default_exclude = default_exclude
502501 )
503- overwrite_config = config . schema .RawConfig (
502+ overwrite_config = schema .RawConfig (
504503 linter = linter_config ,
505504 formatter = None ,
506505 file_filters = file_filters ,
@@ -509,7 +508,7 @@ def check_project(
509508 silent = silent ,
510509 target_version = target_version ,
511510 )
512- manager = config . manager .ConfigManager (
511+ config_manager = manager .ConfigManager (
513512 sources = sources ,
514513 config = configuration_file ,
515514 root = root ,
@@ -519,7 +518,7 @@ def check_project(
519518 force_exclude = force_exclude ,
520519 overwrite_config = overwrite_config ,
521520 )
522- runner = RobocopLinter (manager )
521+ runner = RobocopLinter (config_manager )
523522 return runner .run_project_checks ()
524523
525524
@@ -687,21 +686,21 @@ def format_files(
687686 ] = False ,
688687) -> int :
689688 """Format Robot Framework files."""
690- whitespace_config = config . schema .RawWhitespaceConfig (
689+ whitespace_config = schema .RawWhitespaceConfig (
691690 space_count = space_count ,
692691 indent = indent ,
693692 continuation_indent = continuation_indent ,
694693 line_ending = line_ending ,
695694 separator = separator ,
696695 line_length = line_length ,
697696 )
698- skip_config = config . schema .RawSkipConfig (
697+ skip_config = schema .RawSkipConfig (
699698 skip = set (skip ) if skip else None ,
700699 keyword_call = set (skip_keyword_call ) if skip_keyword_call else None ,
701700 keyword_call_pattern = set (skip_keyword_call_pattern ) if skip_keyword_call_pattern else None ,
702701 sections = set (skip_sections ) if skip_sections else None ,
703702 )
704- formatter_config = config . schema .RawFormatterConfig (
703+ formatter_config = schema .RawFormatterConfig (
705704 select = select ,
706705 extend_select = extend_select ,
707706 force_order = force_order ,
@@ -718,11 +717,11 @@ def format_files(
718717 reruns = reruns ,
719718 return_result = return_result ,
720719 )
721- file_filters = config . schema .RawFileFiltersOptions (
720+ file_filters = schema .RawFileFiltersOptions (
722721 include = include , default_include = default_include , exclude = exclude , default_exclude = default_exclude
723722 )
724- cache_config = config . schema .RawCacheConfig (enabled = cache , cache_dir = cache_dir )
725- overwrite_config = config . schema .RawConfig (
723+ cache_config = schema .RawCacheConfig (enabled = cache , cache_dir = cache_dir )
724+ overwrite_config = schema .RawConfig (
726725 formatter = formatter_config ,
727726 language = language ,
728727 file_filters = file_filters ,
@@ -731,7 +730,7 @@ def format_files(
731730 silent = silent ,
732731 target_version = target_version ,
733732 )
734- manager = config . manager .ConfigManager (
733+ config_manager = manager .ConfigManager (
735734 sources = sources ,
736735 config = configuration_file ,
737736 root = root ,
@@ -742,8 +741,8 @@ def format_files(
742741 overwrite_config = overwrite_config ,
743742 )
744743 if clear_cache :
745- manager .cache .invalidate_all ()
746- runner = RobocopFormatter (manager )
744+ config_manager .cache .invalidate_all ()
745+ runner = RobocopFormatter (config_manager )
747746 return runner .run ()
748747
749748
@@ -780,29 +779,29 @@ def list_rules(
780779 """
781780 # TODO: rich support (colorized enabled, severity etc)
782781 console = Console (soft_wrap = True )
783- overwrite_config = config . schema .RawConfig (
782+ overwrite_config = schema .RawConfig (
784783 silent = silent ,
785784 target_version = target_version ,
786785 )
787- manager = config . manager .ConfigManager (overwrite_config = overwrite_config )
786+ config_manager = manager .ConfigManager (overwrite_config = overwrite_config )
788787 resolver = ConfigResolver (load_rules = True )
789- resolved_config = resolver .resolve_config (manager .default_config )
788+ resolved_config = resolver .resolve_config (config_manager .default_config )
790789 if filter_pattern :
791- compiled_pattern = compile_rule_pattern (filter_pattern )
790+ compiled_pattern = parser . compile_rule_pattern (filter_pattern )
792791 rules = rules_list .filter_rules_by_pattern (resolved_config .rules , compiled_pattern )
793792 else :
794793 rules = rules_list .filter_rules_by_category (
795- resolved_config .rules , filter_category , manager .default_config .linter .target_version
794+ resolved_config .rules , filter_category , config_manager .default_config .linter .target_version
796795 )
797796 if with_fix :
798797 rules = rules_list .filter_rules_by_fixability (rules )
799798 severity_counter = {"E" : 0 , "W" : 0 , "I" : 0 }
800799 enabled = 0
801800 for rule in rules :
802- rule .enabled = rule .enabled and not rule .is_disabled (manager .default_config .linter .target_version )
801+ rule .enabled = rule .enabled and not rule .is_disabled (config_manager .default_config .linter .target_version )
803802 enabled += int (rule .enabled )
804803 if not silent :
805- console .print (rule .rule_short_description (manager .default_config .linter .target_version ))
804+ console .print (rule .rule_short_description (config_manager .default_config .linter .target_version ))
806805 severity_counter [rule .severity .value ] += 1
807806 configurable_rules_sum = sum (severity_counter .values ())
808807 plural = get_plural_form (configurable_rules_sum )
@@ -838,10 +837,10 @@ def list_reports(
838837) -> None :
839838 """List available reports."""
840839 console = Console (soft_wrap = True )
841- linter_config = config . schema .RawLinterConfig (reports = reports )
842- overwrite_config = config . schema .RawConfig (linter = linter_config , silent = silent )
843- manager = config . manager .ConfigManager (overwrite_config = overwrite_config )
844- runner = RobocopLinter (manager )
840+ linter_config = schema .RawLinterConfig (reports = reports )
841+ overwrite_config = schema .RawConfig (linter = linter_config , silent = silent )
842+ config_manager = manager .ConfigManager (overwrite_config = overwrite_config )
843+ runner = RobocopLinter (config_manager )
845844 if not silent :
846845 console .print (print_reports (runner .reports , enabled )) # TODO: color etc
847846
@@ -858,12 +857,12 @@ def list_formatters(
858857 from rich .table import Table # noqa: PLC0415
859858
860859 console = Console (soft_wrap = True )
861- overwrite_config = config . schema .RawConfig (
862- silent = silent , target_version = target_version , formatter = config . schema .RawFormatterConfig (allow_disabled = True )
860+ overwrite_config = schema .RawConfig (
861+ silent = silent , target_version = target_version , formatter = schema .RawFormatterConfig (allow_disabled = True )
863862 )
864- manager = config . manager .ConfigManager (overwrite_config = overwrite_config )
863+ config_manager = manager .ConfigManager (overwrite_config = overwrite_config )
865864 resolver = ConfigResolver (load_rules = True , load_formatters = True )
866- resolved_config = resolver .resolve_config (manager .default_config )
865+ resolved_config = resolver .resolve_config (config_manager .default_config )
867866
868867 if filter_category == filter_category .ALL :
869868 formatters = list (resolved_config .formatters .values ())
@@ -894,15 +893,15 @@ def print_resource_documentation(name: Annotated[str, typer.Argument(help="Rule
894893 """Print formatter, rule or report documentation."""
895894 # TODO load external from cli
896895 console = Console (soft_wrap = True )
897- manager = config . manager .ConfigManager ()
896+ config_manager = manager .ConfigManager ()
898897 resolver = ConfigResolver (load_rules = True , load_formatters = True )
899- resolved_config = resolver .resolve_config (manager .default_config )
898+ resolved_config = resolver .resolve_config (config_manager .default_config )
900899
901900 if name in resolved_config .rules :
902901 console .print (resolved_config .rules [name ].description_with_configurables )
903902 return
904903
905- reports = load_reports (manager .default_config )
904+ reports = load_reports (config_manager .default_config )
906905 if name in reports :
907906 docs = textwrap .dedent (str (reports [name ].__doc__ ))
908907 console .print (docs )
0 commit comments