docs: def parse(self):
          """
          Parses a requirements.txt-like file
          """
          index_server = None
          for num, line in enumerate(self.iter_lines()):
              line = line.rstrip()
              if not line:
                  continue
              if line.startswith('#'):
                  # comments are lines that start with # only
                  continue
              if line.startswith('-i') or \
                  line.startswith('--index-url') or \
                  line.startswith('--extra-index-url'):
                  # this file is using a private index server, try to parse it
                  index_server = self.parse_index_server(line)
                  continue
              elif self.obj.path and (line.startswith('-r') or line.startswith('--requirement')):
                  self.obj.resolved_files.append(self.resolve_file(self.obj.path, line))
              elif line.startswith('-f') or line.startswith('--find-links') or \
                  line.startswith('--no-index') or line.startswith('--allow-external') or \
                  line.startswith('--allow-unverified') or line.startswith('-Z') or \
                  line.startswith('--always-unzip'):
                  continue
              elif self.is_marked_line(line):
                  continue
              else:
                  try:
  
                      parseable_line = line
  
                      # multiline requirements are not parseable
                      if "\\" in line:
                          parseable_line = line.replace("\\", "")
                          for next_line in self.iter_lines(num + 1):
                              parseable_line += next_line.strip().replace("\\", "")
                              line += "\n" + next_line
                              if "\\" in next_line:
                                  continue
                              break
                          # ignore multiline requirements if they are marked
                          if self.is_marked_line(parseable_line):
                              continue
  
                      hashes = []
                      if "--hash" in parseable_line:
                          parseable_line, hashes = Parser.parse_hashes(parseable_line)
  
                      req = RequirementsTXTLineParser.parse(parseable_line)
                      if req:
                          req.hashes = hashes
                          req.index_server = index_server
                          # replace the requirements line with the 'real' line
                          req.line = line
                          self.obj.dependencies.append(req)
                  except ValueError:
                      continue