diff --git a/mecha/api.py b/mecha/api.py index 00a0ceb5..609a6d9a 100644 --- a/mecha/api.py +++ b/mecha/api.py @@ -309,7 +309,8 @@ def parse( multiline: Optional[bool] = None, provide: Optional[JsonDict] = None, preprocessor: Optional[Preprocessor] = None, - ) -> AstRoot: ... + ) -> AstRoot: + ... @overload def parse( @@ -322,7 +323,8 @@ def parse( multiline: Optional[bool] = None, provide: Optional[JsonDict] = None, preprocessor: Optional[Preprocessor] = None, - ) -> AstNodeType: ... + ) -> AstNodeType: + ... @overload def parse( @@ -335,7 +337,8 @@ def parse( multiline: Optional[bool] = None, provide: Optional[JsonDict] = None, preprocessor: Optional[Preprocessor] = None, - ) -> Any: ... + ) -> Any: + ... def parse( self, @@ -423,7 +426,8 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> PackType: ... + ) -> PackType: + ... @overload def compile( @@ -436,7 +440,8 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> None: ... + ) -> None: + ... @overload def compile( @@ -451,7 +456,8 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> TextFileType: ... + ) -> TextFileType: + ... @overload def compile( @@ -466,7 +472,8 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> Function: ... + ) -> Function: + ... def compile( self, @@ -651,7 +658,9 @@ def format_perf(self) -> List[List[str]]: else ( "Optimize" if step is self.optimize - else "Check" if step is self.check else repr(step) + else "Check" + if step is self.check + else repr(step) ) ) ) diff --git a/mecha/ast.py b/mecha/ast.py index 11b5b769..342d278f 100644 --- a/mecha/ast.py +++ b/mecha/ast.py @@ -706,19 +706,23 @@ def evaluate(self) -> Any: @overload @classmethod - def from_value(cls, value: Union[bool, int, float, str]) -> "AstNbtValue": ... + def from_value(cls, value: Union[bool, int, float, str]) -> "AstNbtValue": + ... @overload @classmethod - def from_value(cls, value: Mapping[Any, Any]) -> "AstNbtCompound": ... + def from_value(cls, value: Mapping[Any, Any]) -> "AstNbtCompound": + ... @overload @classmethod - def from_value(cls, value: Sequence[Any]) -> "AstNbtList": ... + def from_value(cls, value: Sequence[Any]) -> "AstNbtList": + ... @overload @classmethod - def from_value(cls, value: Any) -> "AstNbt": ... + def from_value(cls, value: Any) -> "AstNbt": + ... @classmethod def from_value(cls, value: Any) -> "AstNbt": @@ -928,7 +932,9 @@ class AstItem(AstNode): """Ast item node.""" identifier: Optional[AstResourceLocation] = None - components: AstChildren[Union[AstItemComponent, AstItemComponentGroup]] = AstChildren() + components: AstChildren[ + Union[AstItemComponent, AstItemComponentGroup] + ] = AstChildren() data_tags: Optional[AstNbtCompound] = None @@ -1088,9 +1094,9 @@ class AstSelectorAdvancementMatch(AstNode): """Ast selector advancement match node.""" key: AstResourceLocation = required_field() - value: Union[AstBool, AstChildren[AstSelectorAdvancementPredicateMatch]] = ( - required_field() - ) + value: Union[ + AstBool, AstChildren[AstSelectorAdvancementPredicateMatch] + ] = required_field() @dataclass(frozen=True, slots=True) diff --git a/mecha/contrib/bake_macros.py b/mecha/contrib/bake_macros.py index 3d21a798..f68d3d2a 100644 --- a/mecha/contrib/bake_macros.py +++ b/mecha/contrib/bake_macros.py @@ -84,7 +84,8 @@ def __call__( source: TextFileBase[Any], *, preprocessor: Preprocessor, - ) -> AstRoot: ... + ) -> AstRoot: + ... @dataclass diff --git a/mecha/contrib/embed.py b/mecha/contrib/embed.py index 43271039..e55a60a4 100644 --- a/mecha/contrib/embed.py +++ b/mecha/contrib/embed.py @@ -63,13 +63,15 @@ def __call__( *, using: str, preprocessor: Preprocessor, - ) -> AstNode: ... + ) -> AstNode: + ... class EmbedSerializeCallback(Protocol): """Callback required for serializing embed.""" - def __call__(self, node: AstNode) -> str: ... + def __call__(self, node: AstNode) -> str: + ... class EmbedHandler: diff --git a/mecha/contrib/source_map.py b/mecha/contrib/source_map.py index 9b56cf9d..92a6ec4e 100644 --- a/mecha/contrib/source_map.py +++ b/mecha/contrib/source_map.py @@ -30,9 +30,7 @@ class SourceMapOptions(BaseModel): - header: str = ( - "# [source_map] {{ compilation_unit.filename or compilation_unit.resource_location }}" - ) + header: str = "# [source_map] {{ compilation_unit.filename or compilation_unit.resource_location }}" class Config: extra = "forbid" diff --git a/mecha/contrib/statistics.py b/mecha/contrib/statistics.py index 7729c6e0..1df9459b 100644 --- a/mecha/contrib/statistics.py +++ b/mecha/contrib/statistics.py @@ -50,9 +50,9 @@ class Statistics(BaseModel): lambda: defaultdict(int) ) scoreboard_references: DefaultDict[str, int] = defaultdict(int) - scoreboard_fake_player_references: DefaultDict[str, DefaultDict[str, int]] = ( - defaultdict(lambda: defaultdict(int)) - ) + scoreboard_fake_player_references: DefaultDict[ + str, DefaultDict[str, int] + ] = defaultdict(lambda: defaultdict(int)) scoreboard_objectives: Dict[str, str] = {} diff --git a/mecha/contrib/validation/mcdoc.py b/mecha/contrib/validation/mcdoc.py index 551d8983..5c172371 100644 --- a/mecha/contrib/validation/mcdoc.py +++ b/mecha/contrib/validation/mcdoc.py @@ -86,12 +86,8 @@ PATTERN_FLOAT: str = r"[-+]?(?:[0-9]*\.[0-9]+|[0-9]+)(?:[eE][-+]?[0-9]+)?" PATTERN_TYPED_NUMBER: str = rf"{PATTERN_FLOAT}[bBdDfFlLsS]?" PATTERN_RANGE_DELIMITER: str = r" McdocAttributeTree: close_pattern = ( ("brace", ")") if open_tree.match("brace") - else ("bracket", "]") if open_tree.match("bracket") else ("curly", "}") + else ("bracket", "]") + if open_tree.match("bracket") + else ("curly", "}") ) positional_values: List[McdocAttributeValue] = [] diff --git a/mecha/database.py b/mecha/database.py index f713dd3e..b2ad695d 100644 --- a/mecha/database.py +++ b/mecha/database.py @@ -182,7 +182,8 @@ def __call__( self, pack: Union[ResourcePack, DataPack], match: Optional[List[str]] = None, - ) -> Iterable[Tuple[TextFileBase[Any], CompilationUnit]]: ... + ) -> Iterable[Tuple[TextFileBase[Any], CompilationUnit]]: + ... @dataclass diff --git a/mecha/dispatch.py b/mecha/dispatch.py index 21b64d4a..6ca74191 100644 --- a/mecha/dispatch.py +++ b/mecha/dispatch.py @@ -94,13 +94,15 @@ def bake(self, *args: Any, **kwargs: Any) -> "Rule": @overload -def rule(func: Callable[..., Any]) -> Rule: ... +def rule(func: Callable[..., Any]) -> Rule: + ... @overload def rule( *args: Type[AbstractNode], **kwargs: Any -) -> Callable[[Callable[..., Any]], Rule]: ... +) -> Callable[[Callable[..., Any]], Rule]: + ... def rule(*args: Any, **kwargs: Any) -> Any: diff --git a/mecha/parse.py b/mecha/parse.py index 9f42c8f3..ec063ef7 100644 --- a/mecha/parse.py +++ b/mecha/parse.py @@ -483,8 +483,12 @@ def get_default_parsers() -> Dict[str, Parser]: "command:argument:minecraft:float_range": delegate("range"), "command:argument:minecraft:function": delegate("resource_location_or_tag"), "command:argument:minecraft:loot_table": delegate("resource_location_or_nbt"), - "command:argument:minecraft:loot_predicate": delegate("resource_location_or_nbt"), - "command:argument:minecraft:loot_modifier": delegate("resource_location_or_nbt"), + "command:argument:minecraft:loot_predicate": delegate( + "resource_location_or_nbt" + ), + "command:argument:minecraft:loot_modifier": delegate( + "resource_location_or_nbt" + ), "command:argument:minecraft:game_profile": delegate("game_profile"), "command:argument:minecraft:gamemode": delegate("gamemode"), "command:argument:minecraft:heightmap": delegate("heightmap"), @@ -593,11 +597,13 @@ def __init__(self, parser: str): @overload -def delegate(parser: str) -> Parser: ... +def delegate(parser: str) -> Parser: + ... @overload -def delegate(parser: str, stream: TokenStream) -> Any: ... +def delegate(parser: str, stream: TokenStream) -> Any: + ... def delegate(parser: str, stream: Optional[TokenStream] = None) -> Any: @@ -1108,9 +1114,7 @@ class NbtParser: curly_pattern: str = r"\{|\}" bracket_pattern: str = r"\[|\]" quoted_string_pattern: str = NBT_QUOTED_STRING_PATTERN - number_pattern: str = ( - r"[+-]?(?:[0-9]*?\.[0-9]+|[0-9]+\.[0-9]*?|[1-9][0-9]*|0)(?:[eE][+-]?[0-9]+)?[bslfdBSLFD]?\b" - ) + number_pattern: str = r"[+-]?(?:[0-9]*?\.[0-9]+|[0-9]+\.[0-9]*?|[1-9][0-9]*|0)(?:[eE][+-]?[0-9]+)?[bslfdBSLFD]?\b" string_pattern: str = r"[a-zA-Z0-9._+-]+" colon_pattern: str = r":" comma_pattern: str = r"," @@ -1461,7 +1465,9 @@ class ComponentPredicateParser: key_parser: Parser value_parser: Parser - def __call__(self, stream: TokenStream) -> AstChildren[Union[AstItemComponent, AstItemComponentGroup]]: + def __call__( + self, stream: TokenStream + ) -> AstChildren[Union[AstItemComponent, AstItemComponentGroup]]: groups: List[AstItemComponentGroup] = [] pairs: List[AstItemComponent] = [] @@ -1482,7 +1488,12 @@ def __call__(self, stream: TokenStream) -> AstChildren[Union[AstItemComponent, A has_value = predicate or stream.get("equal") is not None value_node = self.value_parser(stream) if has_value else None - pair = AstItemComponent(inverted=inverted, predicate=predicate, key=key_node, value=value_node) + pair = AstItemComponent( + inverted=inverted, + predicate=predicate, + key=key_node, + value=value_node, + ) pair = set_location(pair, key_node, value_node) pairs.append(pair) @@ -1494,7 +1505,9 @@ def __call__(self, stream: TokenStream) -> AstChildren[Union[AstItemComponent, A else: stream.expect(("bracket", "]")) if len(pairs) > 0: - groups.append(AstItemComponentGroup(components=AstChildren(pairs))) + groups.append( + AstItemComponentGroup(components=AstChildren(pairs)) + ) break if len(groups) == 0: @@ -1540,9 +1553,7 @@ def __call__(self, stream: TokenStream) -> Any: class RangeParser: """Parser for ranges.""" - pattern: str = ( - rf"\.\.{NUMBER_PATTERN}|{NUMBER_PATTERN}\.\.(?:{NUMBER_PATTERN})?|{NUMBER_PATTERN}" - ) + pattern: str = rf"\.\.{NUMBER_PATTERN}|{NUMBER_PATTERN}\.\.(?:{NUMBER_PATTERN})?|{NUMBER_PATTERN}" def __call__(self, stream: TokenStream) -> AstRange: with stream.syntax(range=self.pattern): diff --git a/mecha/serialize.py b/mecha/serialize.py index d12682a6..2c210d20 100644 --- a/mecha/serialize.py +++ b/mecha/serialize.py @@ -280,7 +280,9 @@ def item(self, node: AstItem, result: List[str]): yield node.identifier if node.components: result.append("[") - if len(node.components) > 0 and isinstance(node.components[0], AstItemComponentGroup): + if len(node.components) > 0 and isinstance( + node.components[0], AstItemComponentGroup + ): pipe = "|" if self.formatting.cmd_compact else " | " else: pipe = "," if self.formatting.cmd_compact else ", " diff --git a/mecha/spec.py b/mecha/spec.py index 182a4e6e..fec21660 100644 --- a/mecha/spec.py +++ b/mecha/spec.py @@ -18,7 +18,8 @@ class Parser(Protocol): """Protocol describing parser signature.""" - def __call__(self, stream: TokenStream) -> Any: ... + def __call__(self, stream: TokenStream) -> Any: + ... @dataclass