code: def wrap_onspace(self, text):
  
          '''
          When the text inside the column is longer then the width, will split by space and continue on the next line.'''
  
          def _truncate(line, word):
              return '{line}{part}{word}'.format(
                          line=line,
                          part=' \n'[(len(line[line.rfind('\n')+1:]) + len(word.split('\n', 1)[0]) >= self.width)],
                          word=word
                      )
  
          return reduce(_truncate, text.split(' ')f wrap_onspace(self, text):
  
          '''
          When the text inside the column is longer then the width, will split by space and continue on the next line.'''
  
          def _truncate(line, word):
              return '{line}{part}{word}'.format(
                          line=line,
                          part=' \n'[(len(line[line.rfind('\n')+1:]) + len(word.split('\n', 1)[0]) >= self.width)],
                          word=word
                      )
  
          return reduce(_truncate, text.split(' '))
docs: When the text inside the column is longer then the width, will split by space and continue on the next line.