mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 18:15:28 +03:00
53 lines
3.3 KiB
ReStructuredText
53 lines
3.3 KiB
ReStructuredText
.. _root_api_app_autocompleter:
|
|
|
|
AutoCompleter
|
|
=====================
|
|
|
|
``AutoCompleter`` — это компонент, отвечающий за интерактивное автодополнение команд. Он улучшает пользовательский опыт, предлагая подсказки и завершая ввод на основе истории команд, что ускоряет работу и снижает вероятность опечаток.
|
|
|
|
-----
|
|
|
|
Инициализация
|
|
-------------
|
|
|
|
.. code-block:: python
|
|
|
|
__init__(self,
|
|
history_filename: str | None = None,
|
|
autocomplete_button: str = "tab",
|
|
command_highlighting: bool = True,
|
|
auto_suggestions: bool = True) -> None:
|
|
|
|
Создаёт и настраивает экземпляр ``AutoCompleter``.
|
|
|
|
* ``history_filename``: Имя файла для сохранения истории команд. Если указано, история будет сохраняться между сессиями. При значении ``None`` история хранится только в контексте сессии.
|
|
* ``autocomplete_button``: Клавиша, активирующая автодополнение. По умолчанию — **Tab**.
|
|
* ``command_highlighting``: Если True, то в реальном времени при вводе команды она будет подсвечиваться: зелёным, если такой триггер существует и красный, если нет.
|
|
* ``auto_suggestions``: Если True, то дополнение до раннее введённой команды будет сразу отображаться светло-серым в строке ввода.
|
|
|
|
-----
|
|
|
|
Назначение и возможности
|
|
-------------------------
|
|
|
|
Основные возможности ``AutoCompleter``:
|
|
|
|
* **Автодополнение по истории**: При нажатии клавиши автодополнения (по умолчанию **Tab**) система ищет в истории команды, начинающиеся с уже введённого текста.
|
|
|
|
* **Общий префикс**: Если найдено несколько команд с общим префиксом, будет подставлена только общая часть. Например, для команд ``show_users`` и ``show_profile`` при вводе ``sho`` и нажатии **Tab** ввод дополнится до ``show_``.
|
|
|
|
* **Постоянная история**: Если указан ``history_filename``, история команд сохраняется в файл при выходе и загружается при следующем запуске. Это делает автодополнение со временем «умнее».
|
|
|
|
* **Настройка клавиши**: Клавишу автодополнения можно изменить с помощью параметра ``autocomplete_button``.
|
|
|
|
-----
|
|
|
|
Пример использования
|
|
--------------------
|
|
|
|
``AutoCompleter`` передаётся как аргумент при инициализации `App`.
|
|
|
|
.. literalinclude:: ../../../code_snippets/autocompleter/snippet.py
|
|
:language: python
|
|
:linenos:
|