code: def _run_markdownlint(matched_filenames, show_lint_files):
      
      from prospector.message import Message, Location
  
      for filename in matched_filenames:
          _debug_linter_status("mdl", filename, show_lint_files)
  
      try:
          proc = subprocess.Popen(["mdl"] + matched_filenames,
                                  stdout=subprocess.PIPE,
                                  stderr=subprocess.PIPE)
          lines = proc.communicate()[0].decode().splitlines()
      except OSError as error:
          if error.errno == errno.ENOENT:
              return []
  
      lines = [
          re.match(r"([\w\-.\/\\ ]+)\:([0-9]+)\: (\w+) (.+)", l).groups(1)
          for l in lines
      ]
      return_dict = dict()
      for filename, lineno, code, msg in lines:
          key = _Key(filename, int(lineno), code)
          loc = Location(filename, None, None, int(lineno), 0)
          return_dict[key] = Message("markdownlint", code, loc, msg)
  
      return return_dict
docs: Run markdownlint on matched_filenames.