Spec-Zone.ru › Fish 3.4

commandline - установка или получение текущего буфера командной строки

Описание

commandline [OPTIONS] [CMD]

Описание

commandline может быть использовано для установки или получения текущего содержимого буфера командной строки.

Без параметров commandline возвращает текущее значение командной строки.

При указании CMD буфер командной строки очищается и заменяется содержимым CMD.

Доступны следующие опции:

-C или --cursor

Устанавливает или получает текущую позицию курсора, а не содержимое буфера. Если аргумент не указан, выводится текущая позиция курсора, в противном случае аргумент интерпретируется как новая позиция курсора. Если указана одна из опций -j, -p или -t, позиция относительна соответствующей подстроке, а не всего буфера командной строки.

-f или --function

Приводит к тому, что все дополнительные аргументы интерпретируются как функции ввода и помещаются в очередь, так что они будут считаны перед любыми дополнительными нажатиями клавиш. Эта опция не может быть комбинирована с другими опциями. См. bind для списка функций ввода.

-h или --help

Отображает справку по использованию этой команды.

Следующие опции изменяют способ, которым commandline обновляет буфер командной строки:

-a или --append

Не удаляет текущую командную строку, добавляет указанную строку в конец.

-i или --insert

Не удаляет текущую командную строку, вставляет указанную строку в текущую позицию курсора.

-r или --replace

Удаляет текущую командную строку и заменяет ее указанной строкой (по умолчанию).

Следующие опции изменяют ту часть командной строки, которая отображается или обновляется:

-b или --current-buffer

Выбирает всю командную строку, не включая отображаемое автопредложение (по умолчанию).

-j или --current-job

Выбирает текущую задачу — задача здесь представляет собой одну конвейную трубу. Останавливается на логических операторах или разделителях (;, & и новые строки).

-p или --current-process

Выбирает текущий процесс — процесс здесь представляет собой одну команду. Останавливается на логических операторах, разделителях и каналах.

-s или --current-selection

Выбирает текущий выбор.

-t или --current-token

Выбирает текущий токен.

Следующие опции изменяют способ, которым commandline отображает текущий буфер командной строки:

-c или --cut-at-cursor

Отображает только выделение до текущей позиции курсора.

-o или --tokenize

Токенизирует выделение и отображает один токен типа строка в строке.

Если commandline вызывается во время вызова для завершения указанной строки с помощью complete -C STRING, commandline будет рассматривать указанную строку как текущее содержимое командной строки.

Следующие опции выводят метаданные о состоянии командной строки:

-L или --line

Выводит строку, на которой находится курсор, начиная с верхней строки с 1.

-S или --search-mode

Принимает значение true, если командная строка выполняет поиск по истории.

-P или --paging-mode

Принимает значение true, если командная строка отображает содержимое страничного вывода, например, автодополнения.

--paging-full-mode

Принимает значение true, если командная строка отображает содержимое страничного вывода, например, автодополнения, и все строки отображаются (сообщение «<n> ещё строк» не отображается).

--is-valid

Возвращает true, когда командная строка синтаксически верна и полная. В этом случае она будет выполнена, когда вызвана функция привязки execute. Если командная строка неполная, возвращается 2, если ошибочная, возвращается 1.

Пример

commandline -j $history[3] заменяет задачу под курсором третьим элементом из истории командной строки.

Если командная строка содержит

>_ echo $flounder >&2 | less; and echo $catfish

(с курсором на «o» в «flounder»)

echo $flounder >& — первый процесс, less — второй и and echo $catfish — третий.

echo $flounder >&2 | less — первая задача, and echo $catfish — вторая.

$flounder — текущий токен.

Дополнительные примеры:

>_ commandline -t
$flounder
>_ commandline -ct
$fl
>_ commandline -b # or just commandline
echo $flounder >&2 | less; and echo $catfish
>_ commandline -p
echo $flounder >&2
>_ commandline -j
echo $flounder >&2 | less

© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.4/cmds/commandline.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API