Coverage for src/lilbee/cli/tui/widgets/drawer.py: 100%
3 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-14 11:46 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-14 11:46 +0000
1"""Common base for the non-modal side drawers."""
3from __future__ import annotations
5from textual.containers import Vertical
8class Drawer(Vertical):
9 """A non-modal side drawer that owns the keyboard while focus is inside it.
11 The chat screen's vim mode treats enter / i / a / o as conversation keys and
12 swallows them. A drawer's own controls need those keys, so the chat screen
13 asks whether focus sits under a Drawer rather than naming each drawer class:
14 a new drawer inherits the exemption instead of silently eating its own enter.
15 """