88
99from prompt_toolkit .application import Application
1010from prompt_toolkit .buffer import Buffer , AcceptAction
11+ from prompt_toolkit .buffer_mapping import BufferMapping
1112from prompt_toolkit .document import Document
1213from prompt_toolkit .enums import DEFAULT_BUFFER
1314from prompt_toolkit .filters import Always , Condition , HasFocus , InFocusStack
1920from prompt_toolkit .layout .lexers import PygmentsLexer
2021from prompt_toolkit .layout .margins import Margin , ScrollbarMargin
2122from prompt_toolkit .layout .processors import HighlightSearchProcessor , HighlightSelectionProcessor
23+ from prompt_toolkit .layout .processors import Processor , Transformation
2224from prompt_toolkit .layout .screen import Char
2325from prompt_toolkit .layout .toolbars import ArgToolbar , SearchToolbar
24- from prompt_toolkit .layout .processors import Processor , Transformation
25- from prompt_toolkit .layout .utils import explode_tokens
2626from prompt_toolkit .layout .toolbars import TokenListToolbar
27+ from prompt_toolkit .layout .utils import explode_tokens
2728from prompt_toolkit .utils import Callback
2829from pygments .lexers import RstLexer
2930from pygments .token import Token
@@ -525,7 +526,7 @@ def default_buffer_pos_changed():
525526 """ When the cursor changes in the default buffer. Synchronize with
526527 history buffer. """
527528 # Only when this buffer has the focus.
528- if application .focus_stack . current == DEFAULT_BUFFER :
529+ if buffer_mapping .focus_stack [ - 1 ] == DEFAULT_BUFFER :
529530 try :
530531 line_no = default_buffer .document .cursor_position_row - \
531532 history_mapping .result_line_offset
@@ -543,7 +544,7 @@ def default_buffer_pos_changed():
543544 def history_buffer_pos_changed ():
544545 """ When the cursor changes in the history buffer. Synchronize. """
545546 # Only when this buffer has the focus.
546- if application .focus_stack . current == HISTORY_BUFFER :
547+ if buffer_mapping .focus_stack [ - 1 ] == HISTORY_BUFFER :
547548 line_no = history_buffer .document .cursor_position_row
548549
549550 if line_no in history_mapping .selected_lines :
@@ -571,15 +572,16 @@ def history_buffer_pos_changed():
571572 read_only = True
572573 )
573574
575+ buffer_mapping = BufferMapping ({
576+ HISTORY_BUFFER : history_buffer ,
577+ DEFAULT_BUFFER : default_buffer ,
578+ HELP_BUFFER : help_buffer ,
579+ }, initial = HISTORY_BUFFER )
580+
574581 application = Application (
575582 layout = create_layout (python_input , history_mapping ),
576583 use_alternate_screen = True ,
577- buffers = {
578- HISTORY_BUFFER : history_buffer ,
579- DEFAULT_BUFFER : default_buffer ,
580- HELP_BUFFER : help_buffer ,
581- },
582- initial_focussed_buffer = HISTORY_BUFFER ,
584+ buffers = buffer_mapping ,
583585 style = python_input ._current_style ,
584586 mouse_support = Condition (lambda cli : python_input .enable_mouse_support ),
585587 key_bindings_registry = create_key_bindings (python_input , history_mapping )
0 commit comments