code: def lint_path_add(
      self,
      snakefile,
      regex1=re.compile(f"{NAME_PATTERN} *\\+ *{PATH_PATTERN}"),
      regex2=re.compile(f"{PATH_PATTERN} *\\+ *{NAME_PATTERN}"),
  ):
      for match in chain(
          regex1.finditer(snakefile), regex2.finditer(snakefile)
      ):
          line = get_line(match, snakefile)
          yield Lint(
              title=f"Path composition with '+' in line {line}",
              body="This becomes quickly unreadable. Usually, it is better to endure some "
              "redundancy against having a more readable workflow. Hence, just repeat common "
              'prefixes. If path composition is unavoidable, use pathlib or (python >= 3.6) string formatting with f"...". ',
          )
  
file_path: snakemake/snakemake/linting/snakefiles.py
imports: import re
  from itertools import chain
  from snakemake.linting import Linter, Lint, links, NAME_PATTERN
label_desc: Use image node_id 6 for calling the SnakefileLinter obj's underlying member method code with example usage: obj.lint_path_add(snakefile, regex1, regex2) without return types