LuaFAR Search

Здесь можно обсудить ваш любимый плагин.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

Здесь можно обсуждать плагин LuaFAR Search. (Анонс).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

Latest post of the previous page:

John Doe wrote: Fri 30 Jul, 2021 12:24 Насчёт highlight - это может быть как параметр поиска, так и глобальная настройка.
Если речь об интерактивном режиме, то значение запоминается из диалога, и действует, пока его не сбросишь, т.е. является глобальной настройкой.
Если речь о режиме скрипта, то там у всех опущенных параметров есть умолчательные значения, у булевых это false. Нет смысла усложнять и вводить для этого настройку, если уж пишется скрипт, то придётся явно добавить bHighlight=true.
Или я вас неправильно понял?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Shmuel wrote: Fri 30 Jul, 2021 22:29 Или я вас неправильно понял?
Всё правильно поняли.
Shmuel wrote: Fri 30 Jul, 2021 22:29 Если речь о режиме скрипта, то там у всех опущенных параметров есть умолчательные значения, у булевых это false.
А могли бы быть не false, а настраиваемые пользователем. Смысл в этом определённый есть - возможность (оперативно) управлять значениями не трогая текст скрипта.
Shmuel wrote: Fri 30 Jul, 2021 22:29 Нет смысла усложнять и вводить для этого настройку
Новых настроек вводить не придётся, если как умолчательные использовать значения из диалога.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

John Doe wrote: Sat 31 Jul, 2021 11:30 А могли бы быть не false, а настраиваемые пользователем. Смысл в этом определённый есть - возможность (оперативно) управлять значениями не трогая текст скрипта.
Это легко сделать в коде пользователя (например, используя метатаблицу).
John Doe wrote: Sat 31 Jul, 2021 11:30 Новых настроек вводить не придётся, если как умолчательные использовать значения из диалога.
Уважаю ваше мнение, но с ним не согласен. Использовать значения из диалога в API как умолчательные - это как использовать текущее расположение звёзд на небе, убивает детерминизм API напрочь.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Shmuel wrote: Sat 31 Jul, 2021 15:20 Это легко сделать в коде пользователя (например, используя метатаблицу).
Имелось ввиду в диалоге. Который тоже можно нарисовать собственный, понимаю.
Shmuel wrote: Sat 31 Jul, 2021 15:20 убивает детерминизм API напрочь.
Почему же напрочь, явно указанные значения обеспечат детерминизм там где он требуется.
Другое дело, что опускать значения false на практике тоже удобно, поэтому согласен, что не стоит такое делать со всеми параметрами.

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

P.S.
На самом деле буду признателен за параметр bHighlight в любой форме.
Last edited by John Doe on Sat 31 Jul, 2021 16:55, edited 1 time in total.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

John Doe wrote: Sat 31 Jul, 2021 16:09 P.S. На самом деле буду признателен за параметр bHighlight в любой форме.
Если бы вы это написали новым сообщением, то увидел бы в тот же день, а так только сейчас, и то случайно.
bHighlight был на днях добавлен. Выложу сегодня-завтра.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Спасибо!
Не предусмотрена ли в Makefile возможность собрать скрипт не компилируя dll?
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

John Doe wrote: Fri 06 Aug, 2021 13:57 Не предусмотрена ли в Makefile возможность собрать скрипт не компилируя dll?
  1. Поскольку это отдельный плагин, то DLL так или иначе нужна.
  2. Если вы имеете в виду старый трюк с переименованием luamacro.dll, то это должно работать, и в этом случае вообще не надо ничего собирать.
  3. У Makefile есть переключатель EMBED. Если его не задать, то соберётся DLL маленького размера, не включающая в себя Lua-файлы плагина. А чтобы их включить, надо задать с комстроки мейка EMBED=1.

P.S. Пункт 2 зачеркнул. Этот трюк не пройдёт, потому что исходники плагина включают в себя кроме Lua-файлов также один Си-файл.
Last edited by Shmuel on Fri 06 Aug, 2021 15:55, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Shmuel wrote: Fri 06 Aug, 2021 14:08 Поскольку это отдельный плагин, то DLL так или иначе нужна.
Цель - использовать имеющуюся длл, но с обновлёнными скриптами.
Мне казалось что даже с EMBED внешний скрипт имеет приоритет.
Но чтобы проверить - надо это скрипт иметь, как я думал надо собрать из нескольких файлов в один.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

John Doe wrote: Fri 06 Aug, 2021 17:17 Мне казалось что даже с EMBED внешний скрипт имеет приоритет.
Может быть. Когда-то я рассматривал этот сценарий, но это было очень давно.
Могу для вас собрать обе DLL без ключа EMBED.

Добавлено:
У меня ощущение, что вы неточно понимаете связь между Lua-файлами в данном плагине.
Все они, за исключением _globalinfo.lua и lfsearch.lua - модули, и могут работать без объединения в общий скрипт.
На моей рабочей системе так оно и есть, и используется DLL, собранная без ключа EMBED и пересобираемая весьма редко, только в случае изменения в Си-файле плагина.
Last edited by Shmuel on Fri 06 Aug, 2021 20:42, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Shmuel wrote: Fri 06 Aug, 2021 17:34 У меня ощущение, что вы неточно понимаете связь между Lua-файлами в данном плагине.
Так и есть, почему-то думал что надо скрипты объединить.
Плюс, обработать *.templ и *.mcr.
Shmuel wrote: Fri 06 Aug, 2021 17:34обе DLL
А о какой второй dll речь?
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

  1. Да, Makefile может генерировать явно указанные ему "таргеты", среди которых есть lng и help (по умолчанию генерируется всё).
  2. "Обе DLL" - имелось в виду для x86 и x64.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Обнаружил нежелательный эффект: при поиске сбрасывается заголовок редактора.

Например, установим editor.SetTitle(nil,"123"), и следом поищем (любую) строку.
После успешного поиска в заголовке снова имя файла.
После неуспешного во время отображения сообщения - found:0, после закрытия снова имя файла.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

Спасибо за репорт. Это из тех багов, которые легко починить.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

John Doe wrote: Sat 07 Aug, 2021 16:46 EditFind выводит предупреждение о том что поиск начнётся с начала, и это удобно
А lfsearch в этой ситуации к сожалению не даёт обратной связи: в интерфейсе диалога такая опция предусмотрена, а в скриптовом режиме - нет.
Попробуйте задать bWrapAround=2 (в текущей реализации важно не значение а тип=="number").
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

LuaFAR Search

Post by John Doe »

Shmuel wrote: Sat 07 Aug, 2021 17:20 Попробуйте задать bWrapAround=2 (в текущей реализации важно не значение а тип=="number").
Да, спасибо, уже дошёл экспериментальным путём.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

LuaFAR Search

Post by Shmuel »

John Doe wrote: Sat 07 Aug, 2021 09:42 Обнаружил нежелательный эффект: при поиске сбрасывается заголовок редактора.

Например, установим editor.SetTitle(nil,"123"), и следом поищем (любую) строку.
После успешного поиска в заголовке снова имя файла.
После неуспешного во время отображения сообщения - found:0, после закрытия снова имя файла.
Ещё в августе по свежим следам "починил" этот нежелательный эффект, а сегодня обнаружил, что эта починка вызывает другой, не менее нежелательный: при сохранении файла с новым именем по ShiftF2 заголовок не меняется на новое имя файла. Видимо буду починку откатывать.
Post Reply

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