def _split(self, split_cls, editor_buffer=None):
        """
        Split horizontal or vertical.
        (when editor_buffer is None, show the current buffer there as well.)
        """
        if editor_buffer is None:
            editor_buffer = self.active_window.editor_buffer

        active_split = self._get_active_split()
        index = active_split.index(self.active_window)
        new_window = Window(editor_buffer)

        if isinstance(active_split, split_cls):
            # Add new window to active split.
            active_split.insert(index, new_window)
        else:
            # Split in the other direction.
            active_split[index] = split_cls([active_split[index], new_window])

        # Focus new window.
        self.active_window = new_window
def _split ( self , split_cls , editor_buffer = None ) : if editor_buffer is None : editor_buffer = self . active_window . editor_buffer active_split = self . _get_active_split ( ) index = active_split . index ( self . active_window ) new_window = Window ( editor_buffer ) if isinstance ( active_split , split_cls ) : active_split . insert ( index , new_window ) else : active_split [ index ] = split_cls ( [ active_split [ index ] , new_window ] ) self . active_window = new_window
Split horizontal or vertical.
        (when editor_buffer is None, show the current buffer there as well.)