code: def truncate_selection(self, position_from):
          
          position_from = self.get_position(position_from)
          cursor = self.textCursor()
          start, end = cursor.selectionStart(), cursor.selectionEnd()
          if start < end:
              start = max([position_from, start])
          else:
              end = max([position_from, end])
          self.set_selection(start, end)
docs: Unselect read-only parts in shell, like prompt