File: with-frame.py

package info (click to toggle)
prompt-toolkit 3.0.52-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,628 kB
  • sloc: python: 31,599; makefile: 151; sh: 6
file content (34 lines) | stat: -rw-r--r-- 904 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from __future__ import annotations

from prompt_toolkit.filters import is_done
from prompt_toolkit.formatted_text import HTML
from prompt_toolkit.shortcuts import choice
from prompt_toolkit.styles import Style


def main() -> None:
    style = Style.from_dict(
        {
            "frame.border": "#884444",
            "selected-option": "bold underline",
        }
    )

    result = choice(
        message=HTML("<u>Please select a dish</u>:"),
        options=[
            ("pizza", "Pizza with mushrooms"),
            ("salad", "Salad with tomatoes"),
            ("sushi", "Sushi"),
        ],
        style=style,
        # Use `~is_done`, if you only want to show the frame while editing and
        # hide it when the input is accepted.
        # Use `True`, if you always want to show the frame.
        show_frame=~is_done,
    )
    print(result)


if __name__ == "__main__":
    main()