Автостартующие макросы (и настройка среды)

Здесь обсуждается всё, что касается макросов.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Автостартующие макросы (и настройка среды)

Post by NightRoman »

Переношу сюда обсуждение с мантиса.

Хочу в автостартующем макросе настроить среду для макросов (переменные и т.п.). До этого RunAfterFARStart никогда не пользовал, потому и вопросы, отчасти.

Глянул с хелп (старый)
RunAfterFARStart - Выполнять после запуска FAR. Флаг актуален только для макросов, стартующих в области Shell.
Значит ли это, что при запуске Фара в режиме редактора (/e) или вьюера (/v) этот макрос не отработает, типа области Shell нет? (В зависимости от ответа могут быть другие вопросы).
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

NightRoman wrote:Значит ли это, что при запуске Фара в режиме редактора (/e) или вьюера (/v) этот макрос не отработает, типа области Shell нет?
Судя по сорс-коду - не отработает. Хотя почему так сделано - не знаю.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Shmuel wrote:
NightRoman wrote:Значит ли это, что при запуске Фара в режиме редактора (/e) или вьюера (/v) этот макрос не отработает, типа области Shell нет?
Судя по сорс-коду - не отработает. Хотя почему так сделано - не знаю.
ОК. Какой тогда механизм для профилирования макро среды при загрузке предлагается? Стартовый макрос не годится для общего случая, получается.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Skirda »

скажем так - не договорились в свое время о деталях.
UPD: если продолжать, то не в рамках этой темы.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Skirda wrote:скажем так - не договорились в свое время о деталях.
UPD: если продолжать, то не в рамках этой темы.
А какой?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Тем более еще как бы "добро не дадено" на такой подход к профилированию макро среды. Может, лучше не макрос, а скрипт иметь? И настраивать-редактировать было бы проще.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

В общем, у нас теперь не просто макросы на Луа движке есть, у нас теперь сам скриптовый движок есть, конечно. Возможно, мыслить в сторону дизайна дружелюбного к *файлам* скриптов нужно больше. Настройка глобального окружения Луа в сессии - это не только макросам надо, но и скриптам (чуть позже, надеюсь). Потому профилирование среды Луа при старте в макросе каком-то как-то странно немного по дизайну. Имхо. Мне все равно, конечно, пусть и макросом это будет реализовано (вбить туда запуск скрипта из файла я и сам могу), но тогда пусть это работает уж во всех способах запуска Фара.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Один способ уже есть, хотя не без недостатков.
Если установлена переменная окружения LUAFAR_INIT (или LUAFAR64_INIT для 64-битного Фара), и первый символ значения == "@", то остаток трактуется как имя файла автозапускаемого скрипта. Здесь можно устанавливать глобальные переменные, package.path и т.д. Но макросы в это время ещё не загружены и возможно не все плагины загружены.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by zg »

когда-то давно было предложение отказаться от автостартующих макросов вообще. завести какой-нибудь %FARPROFILE%\Scripts\_startup.lua и выполнять его при старте.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

zg wrote:когда-то давно было предложение отказаться от автостартующих макросов вообще. завести какой-нибудь %FARPROFILE%\Scripts\_startup.lua и выполнять его при старте.
Ну это ещё и вопрос терминологии скрипт/макрос. То-есть, правильно ли я понимаю, что это типа обычный автостартующий макрос, только лежит не в базе а на диске?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by zg »

Shmuel wrote:Ну это ещё и вопрос терминологии скрипт/макрос.
название — для примера.
То-есть, правильно ли я понимаю, что это типа обычный автостартующий макрос, только лежит не в базе а на диске?
это обычный макрос который выполняется только при старте. местоположение не принципиально, можно и в базе конечно :)
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

zg wrote:это обычный макрос который выполняется только при старте. местоположение не принципиально, можно и в базе конечно :)
Таким образом, предлагается: автостартующий макрос может быть только один, а не произвольное количество. В чём ещё разница с существующим положением дел?
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Skirda »

Скрипто-макросы еще могут быть на некоторые события (OnOpen для редактора/вьювера, например), а не только на старт ФАРа
We are the Borg. You will be assimilated.
So Say We All!
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Skirda wrote:Скрипто-макросы еще могут быть на некоторые события (OnOpen для редактора/вьювера, например), а не только на старт ФАРа
Безусловно. И это, и другие полезные вещи из MacroLib стоит позаимствовать. Вот только починим, что не работает - и ... :)
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by SUSim »

Причём тут макролиб?
Тут надо решать глобальнее, после того как всё почините, конечно же, "то что не работает" :)
Например, разбиение на области Shell, Editor, ... - хорошо, но вот условия "пустая комстрока", "не пустая" - как-то не очень:
есть макрос работающий при непустой комстроке, а как добавить макрос на туже кнопку при пустой комстроке? - обединять их в один с проверкой нелогично, тогда уж все макросы загонять в common и пусть макросописатель разруливает :(
Почему бы не разрешить несколько макросов на одну клавишу, и пусть сработает тот который подошёл по условиям первым (ну например условий у него меньше)...

это так мысли в слух, мне приходится делать макросы интеграторы которые с помощью eval запускают развешенные на непривычные клавиши другие макросы, это ради того, что собери я эти макросы в один, хрен его осмыслишь (я вот, с ходу перевел почти всё под луа, а вот с выделением мышкой завис, хотя это не самый крутой мой макрос).
SimSU ··· ·· -- ··· ··-
Post Reply

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