docs: def _populate_spelling_error(word,
                               suggestions,
                               contents,
                               line_offset,
                               column_offset,
                               message_start):
      """Create a LinterFailure for word.
  
      This function takes suggestions from :suggestions: and uses it to
      populate the message and candidate replacement. The replacement will
      be a line in :contents:, as determined by :line_offset: and
      :column_offset:.
      """
      error_line = contents[line_offset]
      if len(suggestions):
          char_word_offset = (column_offset + len(word))
          replacement = (error_line[:column_offset] +
                         suggestions[0] +
                         error_line[char_word_offset:])
      else:
          replacement = None
  
      if len(suggestions):
          suggestions_text = (""", perhaps you meant """ +
                              " ".join(suggestions))
      else:
          suggestions_text = ""
  
      format_desc = message_start + suggestions_text
      return LinterFailure(format_desc,
                           line_offset + 1,
                           replacement)