ui/curses: add curses interface draft

This commit is contained in:
rr-
2019-01-03 21:38:19 +01:00
parent 81f6dbede2
commit ca7ab192c5
32 changed files with 1413 additions and 18 deletions
+13
View File
@@ -0,0 +1,13 @@
import typing as T
from dataclasses import dataclass
@dataclass
class Choice:
keys: T.List[int]
desc: str
callback: T.Callable[..., T.Any]
def first(source: T.Iterable[T.Any], default: T.Any = None) -> T.Any:
return next(iter(source), default)