fl_scripts — набор скриптов для LuaFAR for Editor и LuaMacro

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

fl_scripts — набор скриптов для LuaFAR for Editor и LuaMacro

Post by Aidar »

FAR Lua scripts — набор скриптов для LuaFAR for Editor и LuaMacro

Внимание:
В связи с появлением макросов-аналогов скриптов набора fl_scripts мной больше не поддерживается.

Основные возможности:
  • Общие:
    • Список экранов.
    • Калькулятор (поддерживает пользовательские функции).
      Развитие: viewtopic.php?f=60&t=10574
  • Редактор:
    • Smartkeys.
    • Поиск секций.
    • Вставка шаблонов для новых файлов.
    • Копирование верхнего/нижнего символа.
    • Навигация (поиск ассоциированных файлов).
    • Буфер обмена с произвольным количеством ячеек.
    • Расширенное выделение, Переход по выделению, Смещение выделения.
    • (Рас)Комментирование (с учётом типа файла, строчное и блочное).
  • Редактор:
    • Фильтр панели (развитие: viewtopic.php?f=15&t=9990).
    • Работа с алиасами.
    • Быстрый переход по выделенным файлам.
  • Команды:
  • Калькулятор (lfe:calc).
  • Фильтр панели (lfe:filter).
  • Меню файловой системы для текущей папки (lfe:dir).
  • Примеры скриптов:
    • Кей-логгер.
    • Меню файловой системы.
    • Меню для адресной книги Opera.
Требуется:
LuaFAR for Editor или LuaMacro + UM Adapter, LuaFAR context.

Тестовая версия: http://raidar.github.com/Programs/FarSc ... fl_scripts
Ссылки:
Описание, GitHub, tags, zipball, master.zip.

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by Shmuel »

Latest post of the previous page:

Aidar wrote:Пробовал скомпилировать lfs и использовать,
но LuaFAR for Editor вылетает (FAR 1.75 (build 2587) x86).
По-видимому, это проблема несовместимости lua5.1.dll, собранной на Visual Studio, с программами, собранными на Delphi/C++ Builder. Причём "вина" лежит на последних, которые модифицируют слово состояния процессора (см. объяснение).

По поводу lfs вообще: насколько я понимаю, она не работает с юникодными путями/именами. Есть библиотека Quylthulg (только для Windows), которая это умеет (со стороны Lua имена представляются в UTF-8).

User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by Aidar »

Shmuel wrote:По-видимому, это проблема несовместимости lua5.1.dll, собранной на Visual Studio, с программами, собранными на Delphi/C++ Builder. Причём "вина" лежит на последних, которые модифицируют слово состояния процессора (см. объяснение).
Значит, тот вариант lua5.1.dll, который встроен, скомпилирован с Visual Studio?
Я использую Code::Blocks со встроенным MinGW. Возможно, из-за этого и проблемы?
Я думал, опции не те задаю для компилятора и/или линковщика.

Например, не понял как создать lua51.dll, который использует lua5.1.dll .
Это ведь proxy-библиотека?

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by Shmuel »

Aidar wrote:Значит, тот вариант lua5.1.dll, который встроен, скомпилирован с Visual Studio?
Нет, с MinGW.

Мне известны 2 причины падения lf4ed, попытался угадать и ошибся. Значит имеет место 2-я причина - использование в одном процессе двух экземпляров библиотеки Lua 5.1.
Как лечить:
1. Заменить lf4ed_emb.dll на не содержащую Lua внутри (см. readme2.txt).
2. Пользоваться lua5.1.dll (или lua51.dll), собранными MinGW (чтобы не нарваться на несовместимость с Delphi-программами).
Aidar wrote:Например, не понял как создать lua51.dll, который использует lua5.1.dll . Это ведь proxy-библиотека?
Вот несколько способов (второй - мой): 1, 2, 3, 4.

User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by Aidar »

Shmuel wrote:Aidar пишет:
Например, не понял как создать lua51.dll, который использует lua5.1.dll . Это ведь proxy-библиотека?
Вот несколько способов (второй - мой): 1, 2, 3, 4.
В общем, просто не хватает нужного h-файла и makefile'а, чтобы всё было правильно собрано.
Shmuel wrote:Как лечить:
1. Заменить lf4ed_emb.dll на не содержащую Lua внутри (см. readme2.txt).
Сработало.
- lfs не работает с LF4Ed_emb.dll, нужно выбирать LF4Ed_5.1.dll .
При этом нормально работают и две скомпилированные версии lfs.dll .
1-я версия (12 КБ) -- по собственному проекту с анализом необходимых директив из makefile,
2-я версия (29 КБ) -- по проекту, импортированному из проекта для VC6.
Обе версии по размеру меньше выложенного, т.к. импортируют msvcrt.dll
(PE Explorer почему-то показывает в обоих версиях эту dll два раза,
но с одним и тем же содержимым -- списком функций).

User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by Aidar »

maxdrfl
1. В некоторых случая в скрипте editor/nav.lua (стр. 198) выдаётся ошибка:
variable 'cfg' is not declared
В частности, появляется при выборе "Navigate current" в c-файле.
При этом при выборе "Navigate" нет ошибки -- навигация или есть, или нет.
2. Наверное, в документации нужно указать, куда следует скопировать lfs.dll.
Я скопировал его в папку %FARHOME% . В папке плагина и папке fl_scripts он не находится.
3. Folders history: не находит w32. Где оно и что такое -- скрипт / библиотека? :)

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

Aidar wrote:maxdrfl
1. В некоторых случая в скрипте editor/nav.lua (стр. 198) выдаётся ошибка:
variable 'cfg' is not declared
В частности, появляется при выборе "Navigate current" в c-файле.
При этом при выборе "Navigate" нет ошибки -- навигация или есть, или нет.
Спасибо, проверю.
Aidar wrote: 2. Наверное, в документации нужно указать, куда следует скопировать lfs.dll.
Я скопировал его в папку %FARHOME% . В папке плагина и папке fl_scripts он не находится.
Да, добавлю.
Aidar wrote: 3. Folders history: не находит w32. Где оно и что такое -- скрипт / библиотека? :)
Хороший вопрос (:
w32 это библиотека для доступа к ключам реестра, которую мне дал Shmuel.
Некоторое время назад, она кажется шла со скриптами и про неё было написано в hlf-файле.
Однако, позже, я убрал w32 из документации и из архива. И совсем не помню почему.
Пока я не вспомню, можешь скачать w32 прямо отсюда (:, а я в следующем релизе это как-то исправлю.
Attachments
w32.zip
(12.13 KiB) Downloaded 165 times

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

обновление fl_scripts

Внимание. Обновился код, который следует добавит в _usermenu.lua, см. doc/install.

Code: Select all

2009-08-14 v0.1.1
---------------------------------------------------------------------
[+] Настройка горячих клавиш вынесена в отдельный файл config/hotkeys_config.lua
[!] comment.lua — исправлена ошибка с неправильным комментированием
    невыделенной строки, когда нет строчного комментария, а есть
    блочный (как для xml).
[!] block.lua — исправлена ошибка работы, когда нет выделения
[!] nav.lua — исправлена ошибка в "navigate_current"    
[!] history.lua принудительно работал c ключом реестра Software\far

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

Aidar, см. анонсы.

w32 прилагается там-же.

User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by Aidar »

maxdrfl
Спасибо, скачал, но пока не смотрел.
Вопрос: Можно ли в Sections реализовать возможность многострочного анализа.
Пример: есть ini-файлы, у которых раздел считается собственно разделом,
если перед ним есть пустая строка.

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

Aidar, да, думаю это несложно будет добавить. Сделаю на неделе.

junik
Posts: 42
Joined: Sat 29 Jul, 2006 08:20

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by junik »

Добрый день.
А у меня что-то выдает ошибку после установки версии 0.1.1
Error
...fl_scripts/_usermenu.lua:8:
attempt to call global 'require' (a nil value)

В чем может быть дело?
LuaFAR for Editor v0.7.1

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

junik, прошу прощения.
Я немного изменил код, который надо добавить в _usermenu.lua и не написал об этом.
Посмотри в doc/install.

junik
Posts: 42
Joined: Sat 29 Jul, 2006 08:20

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by junik »

код пункта 2) я добавил в _usermenu.lua
все равно ошибка...
код должен быть такой:
local makemenu = require 'scripts/fl_scripts/_usermenu'
setfenv(makemenu, {AddToMenu=AddToMenu, MakeResident=MakeResident, far=far, package=package} )
makemenu()
?

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

На самом деле код должен быть таким:
setfenv(makemenu, {AddToMenu=AddToMenu, MakeResident=MakeResident, far=far, package=package, require=require} )

Странно, вродебы исправлял doc/install.

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by maxdrfl »

Обновлен fl_scripts:
обновлен doc/install.

Для тех кто уже скачал версию 0.1.1 достаточно обновить файл _usermenu.lua, заменив

Code: Select all

setfenv(makemenu, {AddToMenu=AddToMenu, MakeResident=MakeResident, far=far, package=package} )
на

Code: Select all

setfenv(makemenu, {AddToMenu=AddToMenu, MakeResident=MakeResident, far=far, package=package, require=require} )

junik
Posts: 42
Joined: Sat 29 Jul, 2006 08:20

Re: fl_scripts — набор скриптов для LuaFAR for Editor

Post by junik »

О!
Теперь работает. Спасибо !

Post Reply

Return to “Полезные макросы и скрипты”