parameters: (line, max_line_length, last_comment=False)
docstring: Return trimmed or split long comment line.
  
      If there are no comments immediately following it, do a text wrap.
      Doing this wrapping on all comments in general would lead to jagged
      comment text.
docstring_summary: Return trimmed or split long comment line.
docstring_tokens: Return trimmed or split long comment line .
function: def shorten_comment(line, max_line_length, last_comment=False):
      """Return trimmed or split long comment line.
  
      If there are no comments immediately following it, do a text wrap.
      Doing this wrapping on all comments in general would lead to jagged
      comment text.
  
      """
      assert len(line) > max_line_length
      line = line.rstrip()
  
      # PEP 8 recommends 72 characters for comment text.
      indentation = _get_indentation(line) + '# '
      max_line_length = min(max_line_length,
                            len(indentation) + 72)
  
      MIN_CHARACTER_REPEAT = 5
      if (
          len(line) - len(line.rstrip(line[-1])) >= MIN_CHARACTER_REPEAT and
          not line[-1].isalnum()
      ):
          # Trim comments that end with things like ---------
          return line[:max_line_length] + '\n'
      elif last_comment and re.match(r'\s*#+\s*\w+', line):
          import textwrap
          split_lines = textwrap.wrap(line.lstrip(' \t#'),
                                      initial_indent=indentation,
                                      subsequent_indent=indentation,
                                      width=max_line_length,
                                      break_long_words=False,
                                      break_on_hyphens=False)
          return '\n'.join(split_lines) + '\n'
      else:
          return line + '\n'
function_tokens: def shorten_comment ( line , max_line_length , last_comment = False ) : assert len ( line ) > max_line_length line = line . rstrip ( ) # PEP 8 recommends 72 characters for comment text. indentation = _get_indentation ( line ) + '# ' max_line_length = min ( max_line_length , len ( indentation ) + 72 ) MIN_CHARACTER_REPEAT = 5 if ( len ( line ) - len ( line . rstrip ( line [ - 1 ] ) ) >= MIN_CHARACTER_REPEAT and not line [ - 1 ] . isalnum ( ) ) : # Trim comments that end with things like --------- return line [ : max_line_length ] + '\n' elif last_comment and re . match ( r'\s*#+\s*\w+' , line ) : import textwrap split_lines = textwrap . wrap ( line . lstrip ( ' \t#' ) , initial_indent = indentation , subsequent_indent = indentation , width = max_line_length , break_long_words = False , break_on_hyphens = False ) return '\n' . join ( split_lines ) + '\n' else : return line + '\n'