code: def diff_to_new_interesting_lines(unified_diff_lines: List[str]
                                    ) -> Dict[int, str]:
      
      interesting_lines = dict()
      for diff_line in unified_diff_lines:
          # Parse the 'new file' range parts of the unified diff.
          if not diff_line.startswith('@@ '):
              continue
          change = diff_line[3:diff_line.index(' @@', 3)]
          new = change.split(' ')[1]
          start = int(new.split(',')[0])
          count = 1 if ',' not in new else int(new.split(',')[1])
  
          # The lines before and after a deletion should still be covered.
          if count == 0:
              for i in range(start, start + 2):
                  interesting_lines[i] = 'is near a removal'
          else:
              for i in range(start, start + count):
                  interesting_lines[i] = 'is new or changed'
      return interesting_lines
docs: Extracts a set of 'interesting' lines out of a GNU unified diff format.
  
      Format:
        gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html
  
        @@ from-line-numbers to-line-numbers @@
          line-from-either-file
          ...
        @@ start,count start,count @@
          line-from-either-file
          ...
        @@ single start,count @@
          line-from-either-file
          ...
      Examples:
        Deleted line (5 is the deleted LOC, 7 is the guessed would-have-been loc
        in the updated file given other changes pushing the line around):
          @@ 5 7,0 @@
           - content-of-line
  
        Added line:
          @@ 5,0 7 @@
           + content-of-line
  
        Modified chunk:
          @@ 10,15 11,5 @@
           - removed-line
           + added-line
           ...
  
      Args:
          unified_diff_lines: Lines of output from git diff.
      Returns:
          A dictionary of "touched lines", with key equal to the line number and
          value equal to the reason the line was touched. Includes added lines
          and lines near changes (including removals).