fix: resolve CI mypy type checking issues
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-02-02 22:57:30 +00:00
parent 9f4e2544f6
commit 889aa8d0e8

View File

@@ -49,13 +49,15 @@ class CodeAnalyzer:
def __init__(self, language: str, config: Config) -> None: def __init__(self, language: str, config: Config) -> None:
self.language = self.LANGUAGE_MAP.get(language, language) self.language = self.LANGUAGE_MAP.get(language, language)
self.config = config self.config = config
self._parser: tree_sitter.Parser | None = None
self._language: Any = None
self._try_init_language() self._try_init_language()
def _try_init_language(self) -> None: def _try_init_language(self) -> None:
try: try:
self._parser = tree_sitter.Parser() self._parser = tree_sitter.Parser()
self._language = get_language(self.language) self._language = get_language(self.language)
self._parser.set_language(self._language) self._parser.language = self._language
except Exception: except Exception:
self._parser = None self._parser = None
self._language = None self._language = None
@@ -72,7 +74,7 @@ class CodeAnalyzer:
"go": [".go"], "go": [".go"],
"ruby": [".rb"], "ruby": [".rb"],
} }
return extensions.get(self.language, [f".{self.language}"]) return set(extensions.get(self.language, [f".{self.language}"]))
def _is_code_file(self, path: Path) -> bool: def _is_code_file(self, path: Path) -> bool:
return path.suffix in self._file_extensions() return path.suffix in self._file_extensions()
@@ -202,7 +204,7 @@ class CodeAnalyzer:
indent_sizes[indent] = indent_sizes.get(indent, 0) + 1 indent_sizes[indent] = indent_sizes.get(indent, 0) + 1
dominant_style = "space" if style_votes["space"] >= style_votes["tab"] else "tab" dominant_style = "space" if style_votes["space"] >= style_votes["tab"] else "tab"
dominant_indent = max(indent_sizes, key=indent_sizes.get, default=4) dominant_indent = max(indent_sizes.items(), key=lambda x: x[1], default=(4, 0))[0]
return { return {
"language": self.language, "language": self.language,