LuaFAR Search

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

LuaFAR Search

Post by Shmuel »

Здесь можно обсуждать плагин LuaFAR Search. (Анонс).
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

LuaFAR Search

Post by sToLp »

Latest post of the previous page:

Да.
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

Всё, я понял в чём дело. Действительно, проблема в макросе. Макрос не учитывает, что опция "Показывать номера строк" может быть выключена. Спасибо за репорт, сегодня исправлю. Но если эта опция выключена, переход будет происходить на начало файла.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

LuaFAR Search

Post by sToLp »

Shmuel wrote: Wed 07 Nov, 2018 15:27Но если эта опция выключена, переход будет происходить на начало файла.
Как считаете нужным. Только надо будет об этом указать в инструкции.
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

В инструкции к макросу? Можно поставить там комментарий в 1 строчку.
При выключенной опции "Показывать номера строк" макросу неоткуда брать номер строки для точного перехода.
Можно, правда, организовать поиск по всему содержимому строки, но это уже костыль, делать не буду.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

LuaFAR Search

Post by sToLp »

Shmuel wrote: Wed 07 Nov, 2018 15:38Можно поставить там комментарий в 1 строчку.
Да, что-то в этом роде. А ещё бы хорошо было бы при переходе в файл в случае выключенной опции также выдавать предварительное сообщение о желательности её включения. Типа того сообщения как когда макросы обновляются. Что если включите опцию, то переход будет более конкретным, что ли.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

LuaFAR Search

Post by sToLp »

Кстати, а не правильнее ли было бы в плагине опцию "Показывать номера строк" для результатов Grep сделать по умолчанию включённой?
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

Трудно сказать, что правильнее, для этого надо знать предпочтения пользователей.
Но поскольку значение этой опции сохраняется в базе данных плагина, то достаточно сделать один поиск с включённой опцией, и она останется включённой на постоянной основе (пока пользователь не сбросит).
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

LuaFAR Search

Post by sToLp »

Shmuel,
Обновил плагин до v3.43.3.
Макрос перехода из итогов Grep в заданное место файла работает отлично.
Большое спасибо Вам за терпеливую помощь в выяснении проблемы (это было очень полезно) и за оперативную правку макроса!
Он стал даже несколько более функциональным и, соответственно, более удобным.
GAAlex
Posts: 17
Joined: Sun 16 Aug, 2015 05:48
Been thanked: 2 times

LuaFAR Search

Post by GAAlex »

поиск (?{1}((^\w[^\d]+_)+)|(^\w[^\d]+))(\.|_)(?{2}\d{2}\.\d{2}\.\d{2})\.(?{3}\S+)
Замена ${1} - ${3} - ${2}
Far все делает, а LuaFar Search пишет синтаксическую ошибку.
Подозреваю что не понимает именованную группу поиска
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

GAAlex, это известная особенность.

Плагин работает с 4-мя библиотеками регулярных выражений. Каждая из них поддерживает именованные группы, но только библиотека "Far regex" не отдаёт эту поддержку плагинам через API, поэтому в самом Фаре это поддерживается, а в плагине - нет.

3 другие библиотеки плагина (Oniguruma, PCRE и PCRE2) поддерживают именованные группы, только надо иметь в виду, что в них применяются другие обрамляющие символы: <> или '', а не {} как в Фаре. Чуть подробнее - в справке плагина.
GAAlex
Posts: 17
Joined: Sun 16 Aug, 2015 05:48
Been thanked: 2 times

LuaFAR Search

Post by GAAlex »

Shmuel,
Понял, а где их скачать для x64?
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

На плагринге, на странице плагина, самый верхний даунлоад (Add-On).
GAAlex
Posts: 17
Joined: Sun 16 Aug, 2015 05:48
Been thanked: 2 times

LuaFAR Search

Post by GAAlex »

Shmuel,
Спасибо. переделал поиск.
Ищем (?<Group1>((^\w[^\d]+_)+)|(^\w[^\d]+))(\.|_)(?<Group2>\d{2}\.\d{2}\.\d{2})\.(?<Group3>\S+)
Меняем на ${Group1} - ${Group3} - ${Group2}
в плагине все работает, а вот при вызове пользовательского скрипта

Code: Select all

nF, nR = lfsearch.MReplaceEditorAction( "replace",
{
	bRegExpr=true,
	sScope="block",
	sOrigin="scope",
	sRegexLib="pcre",
	sSearchPat = "(?<Group1>((^\w[^\d]+_)+)|(^\w[^\d]+))(\.|_)(?<Group2>\d{2}\.\d{2}\.\d{2})\.(?<Group3>\S+)",
	sReplacePat = "${Group1} - ${Group3} - ${Group2}",
}
)

получаю ошибку "Invalid escape sequence near '"(?<Group1>((^'
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

Тут у вас действительно ошибки в этих самых escape sequences.
Либо удвойте бэкслеши, то есть: \\w, \\d и т.п., либо, если не хотите удваивать, обрамляйте всё выражение не в двойные кавычки, а в [[...]].

Кстати, функция MReplaceEditorAction соответствует не обычной построчной замене, а multi-line replace.Для обычной используйте ф-цию EditorAction.
User avatar
DrKnS
Posts: 5673
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 311 times

LuaFAR Search

Post by DrKnS »

Shmuel wrote: Wed 28 Nov, 2018 07:44не отдаёт эту поддержку плагинам через API
Как уже писалось - сделать можно. Предлагайте удобный вам интерфейс.
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

LuaFAR Search

Post by Shmuel »

DrKnS, сделайте любой рабочий интерфейс, например по образцу PCRE или Oniguruma.
И, кстати, никто не в претензии, что это ещё не сделано.
Post Reply

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