Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Разработка Far.
Shmuel
Posts: 6217
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 348 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Shmuel »

Latest post of the previous page:

Aidar wrote:Удобство макроса - хранение последовательности нажатий клавиш, которая легко записывается, достаточно просто редактируется и почти не зависит от реализации. Тогда макроязык будет представлять собой лишь sequence, как было раньше в FAR.
Ну как уже говорилось, записать последовательность нажатий в скриптовом языке как один вызов функции, например

Code: Select all

Keys("A B C D CtrlAltF7 Esc")
не добавит много сложности. Или я чего-то не понял?
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Max Rusov »

Shmuel wrote:Keys("A B C D CtrlAltF7 Esc") не добавит много сложности. Или я чего-то не понял?
И когда эта функция вернет управление?
Shmuel
Posts: 6217
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 348 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Shmuel »

Max Rusov wrote:
Shmuel wrote:Keys("A B C D CtrlAltF7 Esc") не добавит много сложности. Или я чего-то не понял?
И когда эта функция вернет управление?
После выполнения последовательности "нажатий".
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Max Rusov »

Предвижу проблему с модальными диалогами, хотя могу ошибаться, конечно...
Shmuel
Posts: 6217
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 348 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Shmuel »

Max Rusov wrote:Предвижу проблему с модальными диалогами, хотя могу ошибаться, конечно...
Поскольку в данном случае "фаровские" функции скриптового языка будут в тесной интеграции с Фаром, то функция "Keys" будет выполнять ровно то, что теперь делает макроязык, когда встречает запись последовательности клавиш. То-есть, как-то не вижу разницы.
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Max Rusov »

Разница в том, что сейчас, как я понимаю, цикл интерпретации макро кода совмещен с циклом обработки сообщений, соответственно нет проблем с модальными состояниями. Любой сторонний интерпретатор такого, естественно, не позволит.
Shmuel
Posts: 6217
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 348 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Shmuel »

Max Rusov wrote:Разница в том, что сейчас, как я понимаю, цикл интерпретации макро кода совмещен с циклом обработки сообщений, соответственно нет проблем с модальными состояниями. Любой сторонний интерпретатор такого, естественно, не позволит.
"Тесная интеграция" подразумевает, что функция "Keys" написана на C++, сидит в Фаре и имеет полный доступ к его внутренностям. Этого достаточно?
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by NightRoman »

Не обязательно достаточно.
* Проигрывание родного макроса Фаром шаг за шагом - это одно. Keys() постятся, Фар переходит в другой режим, остальной макрос ждет очереди. Keys отработали, Фар пошел дальше играть макрос.
* Вызов внешнего движка со скриптом из которого будет вызван Keys() - это другое. Фар уже вызвал движок *модально*, из которого вызывается Keys(). Управление к Фару еще не вернулось из скрипта. В то же время по Keys() Фар должен получить управление, чтобы их проиграть.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Aidar »

Shmuel wrote:... Ну как уже говорилось, записать последовательность нажатий в скриптовом языке как один вызов функции, например

Code: Select all

Keys("A B C D CtrlAltF7 Esc")
не добавит много сложности. Или я чего-то не понял?
Я предлагал разбор последовательности и выполнение нажатий оставить в рамках FAR. Фактически это (по крайней мере была) основная часть макроязыка, суть которой - в создании "шорткатов" на часто используемые последовательности клавиш.
То, что это будет некоторой функцией FAR API, доступной из встраиваемого языка,- это понятно. И понятно, что запись KeySequence в виде макроса легко заменится записью вызова функции с аргументом KeySequence на встраиваемом языке.
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by zg »

NightRoman wrote:Не обязательно достаточно.
* Проигрывание родного макроса Фаром шаг за шагом - это одно. Keys() постятся, Фар переходит в другой режим, остальной макрос ждет очереди. Keys отработали, Фар пошел дальше играть макрос.
* Вызов внешнего движка со скриптом из которого будет вызван Keys() - это другое. Фар уже вызвал движок *модально*, из которого вызывается Keys(). Управление к Фару еще не вернулось из скрипта. В то же время по Keys() Фар должен получить управление, чтобы их проиграть.
а что, уже есть реализация Keys? можно посмотреть?
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by NightRoman »

zg
Я не понял вопрос про реализацию Keys. У нас и макро-языка со сторонним движком нет.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Aidar »

NightRoman wrote: * Вызов внешнего движка со скриптом из которого будет вызван Keys() - это другое...
Поэтому функцию Keys() лучше реализовать внутри FAR, а не во внешнем движке.
Shmuel это уже отметил.
Главное, чтобы FAR после выполнения клавиш отменял макро-режим и возвращал управление скрипту, откуда был вызван Keys().
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by zg »

NightRoman wrote:zg
Я не понял вопрос про реализацию Keys. У нас и макро-языка со сторонним движком нет.
ну тогда объясни мне, откуда такие подробности о внутренней работе кейс, если она даже не существует?
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by NightRoman »

Aidar
Ты не понял, кажется, в чем проблема. А функции-то практически все будут реализованы в Фар, естественно. Это не решает проблему синхронной Keys(), которая совсем не то, что асинхронная Post().
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by NightRoman »

zg
Если я гоню, лучше объясни конструктивно.
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by zg »

NightRoman wrote:Если я гоню, лучше объясни конструктивно.
я ж и объясняю, функции нет, но ты уже приписываешь её какие-то свойства. каким образом?
Post Reply

Return to “Development”