src/pqc_lint/patterns/__init__.py
871 B · 34 lines · python Raw
1 """Per-language pattern matchers."""
2
3 from pqc_lint.patterns.base import PatternMatcher, PatternSpec
4 from pqc_lint.patterns.c_cpp import CCppMatcher
5 from pqc_lint.patterns.go import GoMatcher
6 from pqc_lint.patterns.java import JavaMatcher
7 from pqc_lint.patterns.javascript import JavaScriptMatcher
8 from pqc_lint.patterns.python import PythonMatcher
9 from pqc_lint.patterns.rust import RustMatcher
10
11 ALL_MATCHERS: list[PatternMatcher] = [
12 PythonMatcher(),
13 JavaScriptMatcher(),
14 GoMatcher(),
15 RustMatcher(),
16 JavaMatcher(),
17 CCppMatcher(),
18 ]
19
20 MATCHERS_BY_LANGUAGE: dict[str, PatternMatcher] = {m.language: m for m in ALL_MATCHERS}
21
22 __all__ = [
23 "PatternMatcher",
24 "PatternSpec",
25 "ALL_MATCHERS",
26 "MATCHERS_BY_LANGUAGE",
27 "PythonMatcher",
28 "JavaScriptMatcher",
29 "GoMatcher",
30 "RustMatcher",
31 "JavaMatcher",
32 "CCppMatcher",
33 ]
34