From 9063d249df306298d10329b067488302d1d24f44 Mon Sep 17 00:00:00 2001 From: Jade Abraham Date: Thu, 31 Oct 2024 16:22:49 -0700 Subject: [PATCH] format Signed-off-by: Jade Abraham --- tools/chplcheck/src/chplcheck.py | 1 - tools/chplcheck/src/config.py | 10 ++++++++-- tools/chplcheck/src/driver.py | 6 ++++-- tools/chplcheck/src/rule_types.py | 17 ++++++++++++++--- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/tools/chplcheck/src/chplcheck.py b/tools/chplcheck/src/chplcheck.py index bdd647fd8163..d56f9c2aa75b 100755 --- a/tools/chplcheck/src/chplcheck.py +++ b/tools/chplcheck/src/chplcheck.py @@ -264,7 +264,6 @@ def main(): print(f" {r}") return 2 - if args.lsp: run_lsp(driver) return 0 diff --git a/tools/chplcheck/src/config.py b/tools/chplcheck/src/config.py index 03063347a3e7..3a07ac4d58cf 100644 --- a/tools/chplcheck/src/config.py +++ b/tools/chplcheck/src/config.py @@ -22,16 +22,22 @@ import argparse import re + @dataclass(frozen=True) class RuleSetting: """ Settings for an rules, these can optionally be namespaced to a specific rule """ + setting_name: str rule_name: Optional[str] = None def __str__(self): - return f"{self.rule_name}.{self.setting_name}" if self.rule_name else self.setting_name + return ( + f"{self.rule_name}.{self.setting_name}" + if self.rule_name + else self.setting_name + ) class RuleSettingAction(argparse.Action): @@ -61,6 +67,7 @@ def __call__(self, parser, namespace, values, option_string=None): setting_dict[setting] = setting_value setattr(namespace, self.dest, setting_dict) + @dataclass class Config: """ @@ -74,7 +81,6 @@ class Config: add_rules: List[str] rule_settings: Dict[RuleSetting, str] - @classmethod def add_arguments(cls, parser: argparse.ArgumentParser, prefix: str = ""): parser.add_argument( diff --git a/tools/chplcheck/src/driver.py b/tools/chplcheck/src/driver.py index d45707bd725c..4a0d345477c8 100644 --- a/tools/chplcheck/src/driver.py +++ b/tools/chplcheck/src/driver.py @@ -145,7 +145,7 @@ def _check_rule( yield from rule.check(context, root) - def basic_rule(self, pat, default:bool=True, settings: List[str]=[]): + def basic_rule(self, pat, default: bool = True, settings: List[str] = []): """ This method is a decorator factory for adding 'basic' rules to the driver. A basic rule is a function returning a boolean that gets called @@ -209,7 +209,9 @@ def wrapper_basic_rule(*args, **kwargs): return decorator_fixit - def advanced_rule(self, _func=None, *, default=True, settings: List[str]=[]): + def advanced_rule( + self, _func=None, *, default=True, settings: List[str] = [] + ): """ This method is a decorator for adding 'advanced' rules to the driver. An advanced rule is a function that gets called on a root AST node, diff --git a/tools/chplcheck/src/rule_types.py b/tools/chplcheck/src/rule_types.py index 3579c50487fd..e405d37a78e7 100644 --- a/tools/chplcheck/src/rule_types.py +++ b/tools/chplcheck/src/rule_types.py @@ -162,7 +162,9 @@ def __init__(self, driver, name: str, settings: typing.List[str]) -> None: self.settings = self._parse_settings(settings) self.fixit_funcs: typing.List[FixitHook[VarResultType]] = [] - def _parse_settings(self, settings_from_user: typing.List[str]) -> typing.List[RuleSetting]: + def _parse_settings( + self, settings_from_user: typing.List[str] + ) -> typing.List[RuleSetting]: settings: typing.List[RuleSetting] = [] for s in settings_from_user: if s.startswith("."): @@ -226,7 +228,12 @@ class BasicRule(Rule[BasicRuleResult]): """ def __init__( - self, driver, name: str, pattern: typing.Any, check_func: BasicRuleCheck, settings: typing.List[str] + self, + driver, + name: str, + pattern: typing.Any, + check_func: BasicRuleCheck, + settings: typing.List[str], ) -> None: super().__init__(driver, name, settings) self.pattern = pattern @@ -275,7 +282,11 @@ class AdvancedRule(Rule[AdvancedRuleResult]): """ def __init__( - self, driver, name: str, check_func: AdvancedRuleCheck, settings: typing.List[str] + self, + driver, + name: str, + check_func: AdvancedRuleCheck, + settings: typing.List[str], ) -> None: super().__init__(driver, name, settings) self.check_func = check_func