File: styles.py

package info (click to toggle)
python-questionary 2.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 960 kB
  • sloc: python: 3,917; makefile: 66
file content (15 lines) | stat: -rw-r--r-- 595 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from typing import List
from typing import Optional

import prompt_toolkit.styles

from questionary.constants import DEFAULT_STYLE


def merge_styles_default(styles: List[Optional[prompt_toolkit.styles.Style]]):
    """Merge a list of styles with the Questionary default style."""
    filtered_styles: list[prompt_toolkit.styles.BaseStyle] = [DEFAULT_STYLE]
    # prompt_toolkit's merge_styles works with ``None`` elements, but it's
    # type-hints says it doesn't.
    filtered_styles.extend([s for s in styles if s is not None])
    return prompt_toolkit.styles.merge_styles(filtered_styles)