docs: def _chunk_from_ranges(contents_lines,
                         start_line_index,
                         start_column_index,
                         end_line_index,
                         end_column_index):
      """Create a _ChunkInfo from a range of lines and columns.
  
      :contents_lines: is the raw lines of a file.
      """
      # If the start and end line are the same we have to compensate for
      # that by subtracting start_column_index from end_column_index
      if start_line_index == end_line_index:
          end_column_index -= start_column_index
  
      lines = contents_lines[start_line_index:end_line_index + 1]
      lines[0] = lines[0][start_column_index:]
      lines[-1] = lines[-1][:end_column_index]
  
      return _ChunkInfo(start_line_index,
                        start_column_index,
                        lines)