code: def autoIndentBlock(self, block, char='\n'):
          
          currentText = block.text()
          spaceAtStartLen = len(currentText) - len(currentText.lstrip())
          currentIndent = currentText[:spaceAtStartLen]
          indent = self._smartIndenter.computeIndent(block, char)
          if indent is not None and indent != currentIndent:
              self._qpart.replaceText(block.position(), spaceAtStartLen, indent)
docs: Indent block after Enter pressed or trigger character typed