anchor.diff:          | None -> 0
       findLine offset 1
   
  -let getMatches (fileNames : string list) (patterns : string list) : (string * int * Match) list =                
  -    let rec processPattern (pattern : string) (fileNames : string list) acc =
  -        match fileNames with
  +/// Returns tuple of (filename, linenumber, Match) for all matches against all filesnames for all patterns.
  +let getMatches (filenames : string list) (patterns : string list) : (string * int * Match) list =                
  +    let rec processFiles (pattern : string) (filenames : string list) acc =
  +        match filenames with
           | fileName :: tl ->
               let lineEndings = lineEndingMap fileName
               let fileText = (System.IO.File.ReadAllText fileName)
  
positive.code:         | [] -> ()
      printMatchInfoList info
  
  let atSignCondition (item : (string * int * Match)) acc : (string * int * Match * string * string) list =
      let (fileName, lineNumber, regexMatch) = item
      let atSignString = regexMatch.Groups.["atSign"].Value
  
negative.code:         elif parseFunction = "parse_type"
          then (fileName, lineNumber, regexMatch, parseString, msg) :: acc
          else failwith ("Unknow parse function: " + parseFunction)
          
  /// Adds a message to the list if a successful parse occurs for a parse_term or parse_type.
  let parsingSuccessCondition (item : (string * int * Match)) acc : (string * int * Match * string * string) list =
      let (fileName, lineNumber, regexMatch) = item
      let parseFunction = regexMatch.Groups.["parse_function"].Value
  