mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 18:15:28 +03:00
docs
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
from argenta import App
|
from argenta import App
|
||||||
from argenta.app.autocompleter import AutoCompleter
|
from argenta.app import AutoCompleter
|
||||||
|
|
||||||
# Настройка автодополнения с сохранением истории в файл
|
# Setting up autocompletion with saving history to a file
|
||||||
my_autocompleter = AutoCompleter(history_filename="argenta_history.txt")
|
my_autocompleter = AutoCompleter(history_filename="argenta_history.txt")
|
||||||
|
|
||||||
# Передача настроенного автокомплитера в приложение
|
# Passing the configured autocompleter to the application
|
||||||
app = App(autocompleter=my_autocompleter)
|
app = App(autocompleter=my_autocompleter)
|
||||||
|
|
||||||
# ... остальная логика приложения
|
# ... the rest of the application logic
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
from argenta import App
|
|
||||||
from argenta.app import DynamicDividingLine, StaticDividingLine
|
|
||||||
|
|
||||||
# Создание статической линии из символов "=" длиной 40
|
|
||||||
static_line = StaticDividingLine(unit_part="=", length=40)
|
|
||||||
|
|
||||||
# Создание динамической линии из символов "*"
|
|
||||||
dynamic_line = DynamicDividingLine(unit_part="*")
|
|
||||||
|
|
||||||
# Приложение со статической линией
|
|
||||||
app_with_static_line = App(dividing_line=static_line)
|
|
||||||
|
|
||||||
# Приложение с динамической линией (поведение по умолчанию, но с кастомным символом)
|
|
||||||
app_with_dynamic_line = App(dividing_line=dynamic_line)
|
|
||||||
@@ -5,8 +5,6 @@ AutoCompleter
|
|||||||
|
|
||||||
``AutoCompleter`` — это компонент, отвечающий за интерактивное автодополнение команд. Он улучшает пользовательский опыт, предлагая подсказки и завершая ввод на основе истории команд, что ускоряет работу и снижает вероятность опечаток.
|
``AutoCompleter`` — это компонент, отвечающий за интерактивное автодополнение команд. Он улучшает пользовательский опыт, предлагая подсказки и завершая ввод на основе истории команд, что ускоряет работу и снижает вероятность опечаток.
|
||||||
|
|
||||||
``AutoCompleter`` использует ``pyreadline3`` для реализации функциональности `GNU readline` в `Windows`, что позволяет управлять историей команд и автодополнением.
|
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Инициализация
|
Инициализация
|
||||||
@@ -19,7 +17,7 @@ AutoCompleter
|
|||||||
|
|
||||||
Создаёт и настраивает экземпляр ``AutoCompleter``.
|
Создаёт и настраивает экземпляр ``AutoCompleter``.
|
||||||
|
|
||||||
* ``history_filename``: Имя файла для сохранения истории команд. Если указано, история будет сохраняться между сессиями. При значении `None` история хранится только в памяти.
|
* ``history_filename``: Имя файла для сохранения истории команд. Если указано, история будет сохраняться между сессиями. При значении ``None`` история хранится только в контексте сессии.
|
||||||
* ``autocomplete_button``: Клавиша, активирующая автодополнение. По умолчанию — **Tab**.
|
* ``autocomplete_button``: Клавиша, активирующая автодополнение. По умолчанию — **Tab**.
|
||||||
|
|
||||||
-----
|
-----
|
||||||
@@ -35,7 +33,7 @@ AutoCompleter
|
|||||||
|
|
||||||
* **Постоянная история**: Если указан ``history_filename``, история команд сохраняется в файл при выходе и загружается при следующем запуске. Это делает автодополнение со временем «умнее».
|
* **Постоянная история**: Если указан ``history_filename``, история команд сохраняется в файл при выходе и загружается при следующем запуске. Это делает автодополнение со временем «умнее».
|
||||||
|
|
||||||
* **Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и более не существующие команды, поддерживая историю в актуальном состоянии.
|
* **Очистка истории**: При сохранении ``AutoCompleter`` удаляет дубликаты и несуществующие команды, поддерживая историю в актуальном состоянии.
|
||||||
|
|
||||||
* **Настройка клавиши**: Клавишу автодополнения можно изменить с помощью параметра ``autocomplete_button``.
|
* **Настройка клавиши**: Клавишу автодополнения можно изменить с помощью параметра ``autocomplete_button``.
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Dividing Lines
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
Класс ``StaticDividingLine``
|
``StaticDividingLine``
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
``StaticDividingLine`` создаёт разделительную линию **фиксированной** длины. Этот тип линии полезен для создания предсказуемого и унифицированного интерфейса.
|
``StaticDividingLine`` создаёт разделительную линию **фиксированной** длины. Этот тип линии полезен для создания предсказуемого и унифицированного интерфейса.
|
||||||
@@ -21,14 +21,14 @@ Dividing Lines
|
|||||||
Создаёт экземпляр статической разделительной линии.
|
Создаёт экземпляр статической разделительной линии.
|
||||||
|
|
||||||
* ``unit_part``: Символ для построения линии (учитывается только первый символ). По умолчанию: ``-``.
|
* ``unit_part``: Символ для построения линии (учитывается только первый символ). По умолчанию: ``-``.
|
||||||
* ``length``: Фиксированная длина линии (keyword-only аргумент). По умолчанию: ``25``.
|
* ``length``: Фиксированная длина линии. По умолчанию: ``25``.
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Класс ``DynamicDividingLine``
|
``DynamicDividingLine``
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
``DynamicDividingLine`` создаёт линию, длина которой **динамически** подстраивается под самую длинную строку в выводе команды. Это требует перехвата `stdout`, в результате чего разделители идеально обрамляют выводимый контент.
|
``DynamicDividingLine`` создаёт линию, длина которой **динамически** подстраивается под самую длинную строку в выводе команды. Это требует перехвата ``stdout``, в результате чего разделители идеально обрамляют выводимый контент.
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
:linenos:
|
:linenos:
|
||||||
@@ -63,12 +63,3 @@ Dividing Lines
|
|||||||
* В ваших обработчиках нет интерактивных операций ввода (например, ``input()``).
|
* В ваших обработчиках нет интерактивных операций ввода (например, ``input()``).
|
||||||
|
|
||||||
Тип разделителя для всего приложения задаётся при инициализации ``App`` через параметр ``dividing_line``.
|
Тип разделителя для всего приложения задаётся при инициализации ``App`` через параметр ``dividing_line``.
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
Пример конфигурации
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
.. literalinclude:: ../../../code_snippets/dividing_lines/snippet.py
|
|
||||||
:language: python
|
|
||||||
:linenos:
|
|
||||||
|
|||||||
@@ -91,13 +91,13 @@ App
|
|||||||
|
|
||||||
Устанавливает шаблон для форматирования описания команды.
|
Устанавливает шаблон для форматирования описания команды.
|
||||||
|
|
||||||
Обработчик принимает триггер команды (``str``) и её описание (``str``), а возвращает отформатированную строку.
|
Обработчик принимает триггер команды (``str``) и её описание (``str``).
|
||||||
|
|
||||||
------
|
------
|
||||||
|
|
||||||
.. py:method:: set_incorrect_input_syntax_handler(self, handler: Callable[[str], None]) -> None
|
.. py:method:: set_incorrect_input_syntax_handler(self, handler: Callable[[str], None]) -> None
|
||||||
|
|
||||||
Устанавливает обработчик для некорректного синтаксиса флагов.
|
Устанавливает обработчик при некорректном введённом синтаксисе флагов.
|
||||||
|
|
||||||
Обработчик принимает строку, введённую пользователем.
|
Обработчик принимает строку, введённую пользователем.
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ App
|
|||||||
|
|
||||||
.. py:method:: set_repeated_input_flags_handler(self, handler: Callable[[str], None]) -> None
|
.. py:method:: set_repeated_input_flags_handler(self, handler: Callable[[str], None]) -> None
|
||||||
|
|
||||||
Устанавливает обработчик для повторяющихся флагов в команде.
|
Устанавливает обработчик при повторяющихся флагах в введённой команде.
|
||||||
|
|
||||||
Обработчик принимает строку, введённую пользователем.
|
Обработчик принимает строку, введённую пользователем.
|
||||||
|
|
||||||
@@ -113,15 +113,15 @@ App
|
|||||||
|
|
||||||
.. py:method:: set_unknown_command_handler(self, handler: Callable[[InputCommand], None]) -> None
|
.. py:method:: set_unknown_command_handler(self, handler: Callable[[InputCommand], None]) -> None
|
||||||
|
|
||||||
Устанавливает обработчик для неизвестной команды.
|
Устанавливает обработчик при вводе неизвестной команды.
|
||||||
|
|
||||||
Обработчик принимает объект ``InputCommand``.
|
Обработчик принимает объект ``InputCommand`` - объект введённой команды.
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
.. py:method:: set_empty_command_handler(self, handler: Callable[[], None]) -> None
|
.. py:method:: set_empty_command_handler(self, handler: Callable[[], None]) -> None
|
||||||
|
|
||||||
Устанавливает обработчик для пустого ввода.
|
Устанавливает обработчик при вводе пустой строки.
|
||||||
|
|
||||||
Обработчик не принимает аргументов.
|
Обработчик не принимает аргументов.
|
||||||
|
|
||||||
@@ -146,7 +146,7 @@ App
|
|||||||
PredefinedMessages
|
PredefinedMessages
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
`PredefinedMessages` — это перечисление (Enum), содержащее набор готовых к использованию строковых сообщений. Они отформатированы с использованием синтаксиса `rich` и предназначены для вывода стандартной информации, такой как подсказки по использованию.
|
``PredefinedMessages`` — это контейнер, содержащий набор готовых к использованию сообщений. Они отформатированы с использованием синтаксиса ``rich`` и предназначены для вывода стандартной информации, такой как подсказки по использованию.
|
||||||
|
|
||||||
Реккомендуется использовать их при старте приложения.
|
Реккомендуется использовать их при старте приложения.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user