mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 16:19:21 +00:00
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from astroid import nodes
|
|
|
|
from pylint.checkers import BaseChecker
|
|
from pylint.interfaces import IRawChecker
|
|
|
|
|
|
class MyRawChecker(BaseChecker):
|
|
"""check for line continuations with '\' instead of using triple
|
|
quoted string or parenthesis
|
|
"""
|
|
|
|
__implements__ = IRawChecker
|
|
|
|
name = "custom_raw"
|
|
msgs = {
|
|
"W9901": (
|
|
"use \\ for line continuation",
|
|
"backslash-line-continuation",
|
|
(
|
|
"Used when a \\ is used for a line continuation instead"
|
|
" of using triple quoted string or parenthesis."
|
|
),
|
|
)
|
|
}
|
|
options = ()
|
|
|
|
def process_module(self, node: nodes.Module) -> None:
|
|
"""process a module
|
|
|
|
the module's content is accessible via node.stream() function
|
|
"""
|
|
with node.stream() as stream:
|
|
for (lineno, line) in enumerate(stream):
|
|
if line.rstrip().endswith("\\"):
|
|
self.add_message("backslash-line-continuation", line=lineno)
|
|
|
|
|
|
def register(linter):
|
|
"""required method to auto register this checker"""
|
|
linter.register_checker(MyRawChecker(linter))
|