Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/prompt_toolkit/layout/dummy.py: 63%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

19 statements  

1""" 

2Dummy layout. Used when somebody creates an `Application` without specifying a 

3`Layout`. 

4""" 

5 

6from __future__ import annotations 

7 

8from prompt_toolkit.formatted_text import HTML 

9from prompt_toolkit.key_binding import KeyBindings 

10from prompt_toolkit.key_binding.key_processor import KeyPressEvent 

11 

12from .containers import Window 

13from .controls import FormattedTextControl 

14from .dimension import D 

15from .layout import Layout 

16 

17__all__ = [ 

18 "create_dummy_layout", 

19] 

20 

21E = KeyPressEvent 

22 

23 

24def create_dummy_layout() -> Layout: 

25 """ 

26 Create a dummy layout for use in an 'Application' that doesn't have a 

27 layout specified. When ENTER is pressed, the application quits. 

28 """ 

29 kb = KeyBindings() 

30 

31 @kb.add("enter") 

32 def enter(event: E) -> None: 

33 event.app.exit() 

34 

35 control = FormattedTextControl( 

36 HTML("No layout specified. Press <reverse>ENTER</reverse> to quit."), 

37 key_bindings=kb, 

38 ) 

39 window = Window(content=control, height=D(min=1)) 

40 return Layout(container=window, focused_element=window)