code: def combine_adjacent_lines(line_numbers):
          
          combine_template = "{0}-{1}"
          combined_list = []
  
          # Add a terminating value of `None` to list
          line_numbers.append(None)
          start = line_numbers[0]
          end = None
  
          for line_number in line_numbers[1:]:
              # If the current number is adjacent to the previous number
              if (end if end else start) + 1 == line_number:
                  end = line_number
              else:
                  if end:
                      combined_list.append(combine_template.format(start, end))
                  else:
                      combined_list.append(str(start))
                  start = line_number
                  end = None
          return combined_list
docs: Given a sorted collection of line numbers this will
          turn them to strings and combine adjacent values
  
          [1, 2, 5, 6, 100] -> ["1-2", "5-6", "100"]