code: def runCmd(self, cmd):
      if "\n" in cmd:
          for line in cmd.split("\n"):
              self.runCmd(line)
          return
  
      if len(self._commandBuffer) == 0:
          self.write(f"{self.ps1}{cmd}\n", style="command")
      else:
          self.write(f"{self.ps2}{cmd}\n", style="command")
  
      self.sigCommandEntered.emit(self, cmd)
      self._commandBuffer.append(cmd)
  
      fullcmd = "\n".join(self._commandBuffer)
      try:
          cmdCode = code.compile_command(fullcmd)
          self.input.setMultiline(False)
      except Exception:
          # cannot continue processing this command; reset and print exception
          self._commandBuffer = []
          self.displayException()
          self.input.setMultiline(False)
      else:
          if cmdCode is None:
              # incomplete input; wait for next line
              self.input.setMultiline(True)
              return
  
          self._commandBuffer = []
  
          # run command
          try:
              with self.stdoutInterceptor:
                  exec(cmdCode, self.globals(), self.locals())
          except Exception as exc:
              self.displayException()
              self.sigCommandRaisedException.emit(self, exc)
  
          # Add a newline if the output did not
          cursor = self.output.textCursor()
          if cursor.columnNumber() > 0:
              self.write("\n")
  
imports: import code, sys, traceback
  from ..Qt import QtWidgets, QtGui, QtCore
  from ..functions import mkBrush
  from .CmdInput import CmdInput
label_desc: Use image node_id 3 for calling the ReplWidget obj's underlying member method code with example usage: obj.runCmd(cmd) without return types