Добавлена документация по доступному функционалу.
This commit is contained in:
parent
5bd192a788
commit
80518ee8ed
3 changed files with 142 additions and 0 deletions
19
doc/README.md
Normal file
19
doc/README.md
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Документация Ncurses User Interface Library
|
||||||
|
|
||||||
|
`ncui` — библиотека для построения TUI-приложений на D поверх ncurses.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Содержание
|
||||||
|
|
||||||
|
### Конфигурация
|
||||||
|
- [SessionConfig](pages/session-config.md)
|
||||||
|
|
||||||
|
### Проверки и ошибки
|
||||||
|
- [Проверки ncurses-вызовов](pages/checks.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Статус документации
|
||||||
|
|
||||||
|
Документация растёт вместе с библиотекой. Разделы могут дополняться по мере появления новых модулей и возможностей.
|
||||||
43
doc/pages/checks.md
Normal file
43
doc/pages/checks.md
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Проверки ncurses-вызовов
|
||||||
|
|
||||||
|
Функции для проверяемых ncurses-вызовов и единых сообщений об ошибках.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ncuiExpect
|
||||||
|
|
||||||
|
Вызывает `fn(args)` и проверяет `result == expected`.
|
||||||
|
|
||||||
|
- Тип `expected` должен совпадать с типом результата `fn(args)`.
|
||||||
|
- При ошибке выбрасывается исключение с местом вызова.
|
||||||
|
- Возвращается `result`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ncuiExpectMsg
|
||||||
|
|
||||||
|
Вызывает `fn(args)` и проверяет `result == expected`, добавляя `message`.
|
||||||
|
|
||||||
|
- Тип `expected` должен совпадать с типом результата `fn(args)`.
|
||||||
|
- При ошибке выбрасывается исключение с местом вызова.
|
||||||
|
- Возвращается `result`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ncuiNotErr
|
||||||
|
|
||||||
|
Вызывает `fn(args)` и проверяет `result != ERR`.
|
||||||
|
|
||||||
|
- `fn(args)` должна возвращать тип `ERR`.
|
||||||
|
- При ошибке выбрасывается исключение с местом вызова.
|
||||||
|
- Возвращается `result`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ncuiNotNull
|
||||||
|
|
||||||
|
Вызывает `fn(args)` и проверяет `result !is null`.
|
||||||
|
|
||||||
|
- `fn(args)` должна возвращать указатель.
|
||||||
|
- При ошибке выбрасывается исключение с местом вызова.
|
||||||
|
- Возвращается `result`.
|
||||||
80
doc/pages/session-config.md
Normal file
80
doc/pages/session-config.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
# SessionConfig
|
||||||
|
|
||||||
|
`SessionConfig` — структура параметров, определяющая режимы работы ncurses-сессии при создании `Session`.
|
||||||
|
|
||||||
|
```d
|
||||||
|
struct SessionConfig
|
||||||
|
{
|
||||||
|
InputMode mode = InputMode.raw;
|
||||||
|
Cursor cursor = Cursor.normal;
|
||||||
|
Echo echo = Echo.on;
|
||||||
|
Keypad keypad = Keypad.on;
|
||||||
|
int escDelay = 50;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Параметры
|
||||||
|
|
||||||
|
### mode: InputMode
|
||||||
|
|
||||||
|
Режим обработки ввода терминалом.
|
||||||
|
|
||||||
|
Значения:
|
||||||
|
|
||||||
|
* `InputMode.raw` — посимвольный ввод с минимальной обработкой терминалом.
|
||||||
|
* `InputMode.cbreak` — посимвольный ввод с сохранением части tty-обработки.
|
||||||
|
* `InputMode.cooked` — канонический построчный ввод (ввод доступен после Enter).
|
||||||
|
|
||||||
|
Значение по умолчанию: `InputMode.raw`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### cursor: Cursor
|
||||||
|
|
||||||
|
Режим видимости/типа курсора.
|
||||||
|
|
||||||
|
Значения:
|
||||||
|
|
||||||
|
* `Cursor.hidden` — курсор скрыт.
|
||||||
|
* `Cursor.normal` — обычный курсор.
|
||||||
|
* `Cursor.high` — курсор повышенной заметности (поддержка зависит от терминала).
|
||||||
|
|
||||||
|
Значение по умолчанию: `Cursor.normal`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### echo: Echo
|
||||||
|
|
||||||
|
Режим эхо ввода (отображение вводимых символов терминалом).
|
||||||
|
|
||||||
|
Значения:
|
||||||
|
|
||||||
|
* `Echo.on` — вводимые символы отображаются.
|
||||||
|
* `Echo.off` — вводимые символы не отображаются.
|
||||||
|
|
||||||
|
Значение по умолчанию: `Echo.on`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### keypad: Keypad
|
||||||
|
|
||||||
|
Режим обработки специальных клавиш (преобразование в коды `KEY_*`).
|
||||||
|
|
||||||
|
Значения:
|
||||||
|
|
||||||
|
* `Keypad.on` — специальные клавиши возвращаются как `KEY_*` (стрелки, Home/End, PgUp/PgDn, F1..F12 и т.п.).
|
||||||
|
* `Keypad.off` — специальные клавиши могут возвращаться как escape-последовательности.
|
||||||
|
|
||||||
|
Значение по умолчанию: `Keypad.on`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### escDelay: int
|
||||||
|
|
||||||
|
Задержка распознавания одиночного `Esc` и escape-последовательностей.
|
||||||
|
|
||||||
|
Единицы измерения: миллисекунды.
|
||||||
|
|
||||||
|
Значение по умолчанию: `50`.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue