LuaFAR for Editor

Здесь можно обсудить ваш любимый плагин.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: LuaFAR for Editor

Post by HaRT »

Latest post of the previous page:

Shmuel
Только сейчас заметил, что LuaFar и LuaFar for Editor — это отдельные плагины. Правильно ли я понимаю, что второй — это фактически под-плагин для первого? Если нет, то как оно на самом деле?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR for Editor

Post by Shmuel »

HaRT wrote:Только сейчас заметил, что LuaFar и LuaFar for Editor — это отдельные плагины. Правильно ли я понимаю, что второй — это фактически под-плагин для первого? Если нет, то как оно на самом деле?
На самом деле так:

1. LuaFAR
Это не плагин вообще. Это - библиотека (luafar.dll), которой могут пользоваться плагины. Она имеет Си-интерфейс (для взаимодействия с плагинами) и Луа-интерфейс (для взаимодействия с Луа-скриптами). Одна luafar.dll может обслуживать произвольное количество плагинов.

Плагин (который на Си) обычно является простейшей оболочкой, которая переадресует фаровские вызовы экспортируемых ф-ций на luafar.dll, а она, в свою очередь, вызывает соответствующие функции из Луа-скриптов. Поскольку функциональность - в Луа-скриптах, то копии этого плагина-оболочки (он весит несколько KB) могут использоваться для разных плагинов.

2. LuaFAR for Editor
Это - плагин, набор утилит для редактора. Поначалу задумывался именно как набор утилит, затем стал ещё и мини-платформой для добавления новых утилит. То-есть, новую утилиту (написанную на Луа) можно добавить одной строчкой в файле _usermenu.lua, и сразу пользоваться, без перезагрузки Фара.

Для того, чтобы не морочить голову пользователю с установкой, всё встроено в одну DLL:
lua.dll + luafar.dll + "плагин оболочка" + утилиты на Луа.
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

А в каком случае появляется кнопка --- перейти на строку с ошибкой? Что-то я ошибки везде расставляю, но кроме OK ничего нет.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR for Editor

Post by Shmuel »

maxdrfl wrote:А в каком случае появляется кнопка --- перейти на строку с ошибкой? Что-то я ошибки везде расставляю, но кроме OK ничего нет.
Дай, пожалуйста, пример.
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

Ни в одном из этих случаев не видел кнопки:
1) пишу 'dgdfh' в любой строке _usermenu.lua
2) пишу 'sdfj kjhf ljsdf' в пустом lua файле и пытаюсь выполнить как скрипт.
3) пишу 'sdf' в nav.lua, открываю другой файл и пытаюсь вызвать навигацию.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR for Editor

Post by Shmuel »

1) _usermenu.lua - это особый случай, "системный" файл. Он должен быть простым, поэтому в нём можно обойтись без "интерактивной" отладки.

2) это можно будет поправить, подумаю

3) исправил, будет в след. версии

Если же ты хочешь уже сейчас увидеть, как выглядят эти новые кнопки и переходы на строку с ошибкой, вставь вызов error("foo") или assert(false, "bar").
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

Shmuel wrote:1) _usermenu.lua - это особый случай, "системный" файл. Он должен быть простым, поэтому в нём можно обойтись без "интерактивной" отладки.
Это понятно. Просто я уже всё перебрал.
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

В последнем релизе отвалился searchmenu. Встроенный я не использую, он выключен. Используется локальная копия. Ты там ничего не менял?

А jump --- это просто обалденно (: . Может можно ещё в меню добавить кнопку F4 --- редактировать файл, связанный с текущим пунктом меню.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR for Editor

Post by Shmuel »

maxdrfl wrote:В последнем релизе отвалился searchmenu.
Открой searchmenu.lua в редакторе и замени все VK_ на пустую строку. После этого должно заработать. (Это описано в разделе "incompatibilities" мануала LuaFAR).

Кроме этого, сейчас доступны все клавиши, включая те что с пунктуацией.
maxdrfl wrote:Может можно ещё в меню добавить кнопку F4 --- редактировать файл, связанный с текущим пунктом меню.
Положил в "wish list" :)
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

Shmuel wrote:Открой searchmenu.lua в редакторе и замени все VK_ на пустую строку. После этого должно заработать. (Это описано в разделе "incompatibilities" мануала LuaFAR).
вот. В мане к lf4ed посмотрел incompatibilities, а в мане к lf, забыл (: .
Спасибо.
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

Что касается знаков препинания и т.д.. Я не могу найти как их использовать. В файле service.cpp к символам кажется ничего нового не добавлено.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR for Editor

Post by Shmuel »

Извиняюсь, конечно я мог указать это в предыдущем посте. На самом деле - добавлено, то-есть массив VirtualKeyStrings приведен (почти) в полное соответствие вот с этим:
http://api.farmanager.com/ru/winapi/vir ... codes.html

Другое дело, что эти клавиши имеют неинтуитивные названия, типа OEM_1, OEM_PLUS и т.д., но я не решился их сразу переименовать. Предложения принимаются :wink:
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

точно, нашел. Спасибо.

позабавило: OEM_PA3 (:
надо добавить OEM_ДВА и т. д.
Shmuel wrote:Другое дело, что эти клавиши имеют неинтуитивные названия, типа OEM_1, OEM_PLUS и т.д., но я не решился их сразу переименовать. Предложения принимаются :wink:
С одной стороны с этим можно вообще не заморачиваться.
С другой, можно сделать таблицу, где интуитивно понятным названиям соответствуют интуитивно-непонятные. И в меню подставлять элементы таблицы, как это сделано с флагами.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR for Editor

Post by Shmuel »

maxdrfl wrote:У меня в фаре при старте вызывается макрос, который вызывает пункт меню, утанавливающий некие переменные среды.
Раньше os.getenv() видел эти переменные. В последней версии перестал.
Попробуй приложенный файл: распакуй и положи туда, где у тебя lfs.dll. Дальше, в своём скрипте попробуй вместо os.getenv(var) поставить require("getenv")(var). Если будет работать, то в следующей версии LuaFAR это будет внутри, в виде far.getenv.
Attachments
getenv.zip
getenv.dll
(2.37 KiB) Downloaded 178 times
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: LuaFAR for Editor

Post by maxdrfl »

работает.
Grey
Posts: 79
Joined: Wed 16 Mar, 2005 11:19
Location: Киев
Been thanked: 1 time

Re: LuaFAR for Editor

Post by Grey »

А можно выложить собранный LuaFAR плз
Post Reply

Return to “Обсуждение плагинов”