docs: def remove_tab(self, index):
          """
          Overrides removeTab to emit tab_closed and last_tab_closed signals.
  
          :param index: index of the tab to remove.
          """
          widget = self.widget(index)
          try:
              document = widget.document()
          except AttributeError:
              document = None  # not a QPlainTextEdit
          clones = self._close_widget(widget)
          self.tab_closed.emit(widget)
          self.removeTab(index)
          self._restore_original(clones)
          widget._original_tab_widget._tabs.remove(widget)
          if self.count() == 0:
              self.last_tab_closed.emit()
          if SplittableTabWidget.tab_under_menu == widget:
              SplittableTabWidget.tab_under_menu = None
          if not clones:
              widget.setParent(None)
          else:
              try:
                  clones[0].syntax_highlighter.setDocument(document)
              except AttributeError:
                  pass