commit{Commit=String}:
  limit
  match /^commit.*?\n/
author{Author=Function}:
  match /^Author:.*?\n/
date{Date=Preprocessor}:
  match /^Date:.*?\n/
merge{Merge=Number}:
  match /^Merge:.*?\n/

diff{Diff=Function}:
  limit
  from /^diff/
index{Index=Keyword}:
  from /^index/
file{File=Keyword}:
  match /^(\+\+\+|---)/
  file.path{String}:
    match /.*?\n/
position{Position=Datatype}:
  from /^@@/ to @@
added{Added}:
  from /^\+/ to "\n"
removed{Removed}:
  from /^-/ to "\n"
normal:
  from /./ to "\n"

