parameters: (txt, indent = '    ', prepend = '')
return_statement: return ret
docstring: Return a list corresponding to the lines of text in the `txt` list
      indented by `indent`. Prepend instead the string given in `prepend` to the
      beginning of the first line. Note that if len(prepend) > len(indent), then
      `prepend` will be truncated (doing better is tricky!). This preserves a 
      special '' entry at the end of `txt` (see `do_para` for the meaning).
docstring_summary: Return a list corresponding to the lines of text in the `txt` list
      indented by `indent`. Prepend instead the string given in `prepend` to the
      beginning of the first line. Note that if len(prepend) > len(indent), then
      `prepend` will be truncated (doing better is tricky!). This preserves a 
      special '' entry at the end of `txt` (see `do_para` for the meaning).
docstring_tokens: Return a list corresponding to the lines of text in the txt list indented by indent . Prepend instead the string given in prepend to the beginning of the first line . Note that if len ( prepend ) > len ( indent ) then prepend will be truncated ( doing better is tricky! ) . This preserves a special entry at the end of txt ( see do_para for the meaning ) .
function: def shift(txt, indent = '    ', prepend = ''):
      """Return a list corresponding to the lines of text in the `txt` list
      indented by `indent`. Prepend instead the string given in `prepend` to the
      beginning of the first line. Note that if len(prepend) > len(indent), then
      `prepend` will be truncated (doing better is tricky!). This preserves a 
      special '' entry at the end of `txt` (see `do_para` for the meaning).
      """
      if type(indent) is int:
          indent = indent * ' '
      special_end = txt[-1:] == ['']
      lines = ''.join(txt).splitlines(True)
      for i in range(1,len(lines)):
          if lines[i].strip() or indent.strip():
              lines[i] = indent + lines[i]
      if not lines:
          return prepend
      prepend = prepend[:len(indent)]
      indent = indent[len(prepend):]
      lines[0] = prepend + indent + lines[0]
      ret = [''.join(lines)]
      if special_end:
          ret.append('')
      return ret
function_tokens: def shift ( txt , indent = '    ' , prepend = '' ) : if type ( indent ) is int : indent = indent * ' ' special_end = txt [ - 1 : ] == [ '' ] lines = '' . join ( txt ) . splitlines ( True ) for i in range ( 1 , len ( lines ) ) : if lines [ i ] . strip ( ) or indent . strip ( ) : lines [ i ] = indent + lines [ i ] if not lines : return prepend prepend = prepend [ : len ( indent ) ] indent = indent [ len ( prepend ) : ] lines [ 0 ] = prepend + indent + lines [ 0 ] ret = [ '' . join ( lines ) ] if special_end : ret . append ( '' ) return ret