LuaShell — запуск lua/moon скриптов из командной строки

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13293
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 47 times
Been thanked: 340 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by John Doe »

LuaShell

Назначение данной утилиты — реализовать запуск lua/moon скриптов из командной строки
максимально естественным образом, наподобие команд оболочки, и наравне с ними.

Точно так же скрипты можно запускать просто по имени, не задумываясь где именно
они расположены (в текущей папке, или где-то в PATH).
И по тем же правилам им можно передавать аргументы в командной строке.

Скрипты удобно не только запускать вручную, но и использовать в ассоциациях,
меню пользователя, диалоге "Применить команду" и т.п.

Область действия не ограничена панелями, командная строка доступна в любой области
фара, с автодополнением и историей.

Скриптам: предоставляется ряд средств, в числе которых — простое обращение к другим
скриптам, доступным в PATH, что позволяет сформировать собственную экосистему,
в некотором роде альтернативную модулям Lua.

Макросам: предоставляется модуль sh для доступа к скриптам (см. [API]).

Установка


Опции



Использование

Скрипты можно запускать из командной строки фара по имени, как исполняемые файлы.
Кроме того, по Ctrl[-Shift]-G доступен Диалог запуска скрипта, предоставляющий дополнительные возможности (см.),
такие как работу во всех макрообластям (с раздельной историей), запуск с просмотром возвращаемых значений,
а также непосредственное исполнение набранных в строке ввода lua-выражений.

Для создания нового скрипта необязательно переходить в целевую директорию, достаточно в том же диалоге
набрать его имя и нажать F4 - скрипт будет создан в директории заднанной по умолчанию.
Таким же образом можно открыть и существующий скрипт на редактирование.

Альтернативно: запустить в командной строке edit <scriptname>.

Это лишь краткий обзор возможностей, подробнее см. в соответствующих разделах.

Скрипты



Диалог запуска скрипта


Просмотр возвращаемых значений


API, предоставляемый скрипту


Командная строка

Attachments
LuaShell-01.7z
(20.52 KiB) Downloaded 5 times
User avatar
John Doe
Бюрократ
Posts: 13293
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 47 times
Been thanked: 340 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by John Doe »

Latest post of the previous page:

citRiks wrote: Thu 08 Jul, 2021 06:30 Может как-то обьединить фичеры/АПИ оттуда и отсюда?
Предлагайте, почему нет.
Пока что мне кажется что LuaShell уже покрывает все возможности подобных скриптов, но интерфейс конечно не дублирует.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1520
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 456 times
Been thanked: 91 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by citRiks »

John Doe wrote: Thu 08 Jul, 2021 07:27Пока что мне кажется что LuaShell уже покрывает все возможности подобных скриптов, но интерфейс конечно не дублирует.
очень замечательно если перекрывает, а можно это точно выяснить? :)
и может продублировать и интерфейс тоже?
в том числе, затем, например, чтобы запускать из редактора, а не только из команд лайна.
И для подобных похожих инструментов, я бы хотел чтобы была сравнительная таблица фичеров/АПИ/ограничений.
типа того:

Code: Select all

----------------------------------------+-------------------------------+-----------------------+-----------------------+---------------+
		| Executed from cmd line| Executed from everywhere	| Has exec history	| Has UI (dialog)	| comment	|
----------------+-----------------------+-------------------------------+-----------------------+-----------------------+---------------|
LuaShell	|	V		|		-		|	V		| 	V		|               |
----------------+-----------------------+-------------------------------+-----------------------+-----------------------+---------------|
PostMacro	|	V		|		V		|	V		|	V		|tried partially|
----------------+-----------------------+-------------------------------+-----------------------+-----------------------+---------------|
EvalMacro	|	?		|		?		|	?		|	?		|  (not tried)  |
----------------+-----------------------+-------------------------------+-----------------------+-----------------------+---------------|
FastMacro	|	?		|		?		|	?		|	?		|  (not tried)  |
----------------+-----------------------+-------------------------------+-----------------------+-----------------------+---------------+
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
John Doe
Бюрократ
Posts: 13293
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 47 times
Been thanked: 340 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by John Doe »

citRiks wrote: Thu 08 Jul, 2021 07:58 чтобы запускать из редактора, а не только из команд лайна.
В шапке ведь указано, что запуск отовсюду.
История есть, независимо для каждой области.
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13293
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 47 times
Been thanked: 340 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by John Doe »

Финальное описание и альфа - в шапке.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1520
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 456 times
Been thanked: 91 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by citRiks »

Для установки содержимое архива (директории scripts и utils) достаточно распаковать в %FARPROFILE%\Macros\ и перезагрузить макросы.
работает, протестировал запустив luash:waitkey
Но вот этот путь %APPDATA%\Far Manager\Profile\Macros\scripts\Macro\LuaShell\ выглядит странно,
\Macro\ здесь лишнее какое-то.
почему не %APPDATA%\Far Manager\Profile\Macros\scripts\LuaShell\ ?
Тем более что если перенести, то тоже вроде работает.
Спасибо
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
citRiks
Posts: 1520
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 456 times
Been thanked: 91 times

LuaShell — запуск lua/moon скриптов из командной строки

Post by citRiks »


справка - супер.
Небольшое замечание, если запускать так как это предлагается в примере:
filesmenu changelog* edit: %FARHOME%\Plugins
.. то происходит бардак, потому что пробелы.
А вот так работает адекватно:
filesmenu changelog* edit: "%FARHOME%\Plugins"

Замечу еще, что в комплекте есть много интересных примеров использования, что весьма похвально.
осмелюсь предложит одну идею, сделать вызов редактирования таким способом:
luash:ed:filesmenu
чтобы в редакторе открывался запрашиваемый скрипт

уже есть edit filesmenu
Last edited by citRiks on Wed 21 Jul, 2021 22:06, edited 5 times in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
Post Reply

Return to “Обсуждение макросов”