code: def reset(self, reset_current_buffer=False):
          
          # Notice that we don't reset the buffers. (This happens just before
          # returning, and when we have multiple buffers, we clearly want the
          # content in the other buffers to remain unchanged between several
          # calls of `run`. (And the same is true for the focus stack.)
  
          self._exit_flag = False
          self._abort_flag = False
  
          self._return_value = None
  
          self.renderer.reset()
          self.input_processor.reset()
          self.layout.reset()
          self.vi_state.reset()
  
          # Search new search state. (Does also remember what has to be
          # highlighted.)
          self.search_state = SearchState(ignore_case=Condition(lambda: self.is_ignoring_case))
  
          # Trigger reset event.
          self.on_reset.fire()
docs: Reset everything, for reading the next input.
  
          :param reset_current_buffer: XXX: not used anymore. The reason for
              having this option in the past was when this CommandLineInterface
              is run multiple times, that we could reset the buffer content from
              the previous run. This is now handled in the AcceptAction.