Page 22 of 28
LuaFAR Search
Posted: Fri 13 Nov, 2009 07:29
by Shmuel
Здесь можно обсуждать плагин
LuaFAR Search. (
Анонс).
LuaFAR Search
Posted: Wed 07 Nov, 2018 12:21
by sToLp
Latest post of the previous page:
Shmuel wrote: ↑Wed 07 Nov, 2018 11:55Чтобы работало, курсор должен стоять на любой строчке из результатов поиска, тогда произойдёт переход в правильный файл и именно на то место, где стоял курсор.
Увы. В том то и дело, что и так с самого начала я тоже пробовал. И ни чего...
А переход примитивным макросом я привёл только для того, чтобы показать, что сам то греп плагином весьма удачно формируется.
LuaFAR Search
Posted: Wed 07 Nov, 2018 12:26
by HaRT
Shmuel wrote: ↑Wed 07 Nov, 2018 11:55
Это не должно работать, так не задумано.
Предложение: в случае перехода из строки с именем файла переходить в самое начало этого файла.
LuaFAR Search
Posted: Wed 07 Nov, 2018 13:42
by Shmuel
sToLp, может быть дело в том, что вы нажимаете CtrlShiftQ, а оригинальный макрос повешен на CtrlShiftG ?
HaRT, да, уже подумал об этом, может быть сделаю, хотя это не типичный сценарий работы.
LuaFAR Search
Posted: Wed 07 Nov, 2018 14:02
by sToLp
Shmuel wrote: ↑Wed 07 Nov, 2018 13:42
может быть дело в том, что вы нажимаете CtrlShiftQ, а оригинальный макрос повешен на CtrlShiftG ?
Нет. Я каждый раз пробую вызывать макрос и через CtrlShiftG, и через Macro Browser.
Сейчас перешёл на другую машину. Там тоже Win10x64, но более свежая версия — LTSC. Попытаю удачи на ней и о результатах сообщу.
LuaFAR Search
Posted: Wed 07 Nov, 2018 14:26
by Shmuel
sToLp, поскольку это макрос, 10-15 строк всего, то вы можете легко определить, что у вас происходит, вставив в разные места макроса вывод на экран, например, far.Show(1),far.Show(2),far.Show(3) и т.д. для начала. Будет видно как проходит исполнение. Макрос такого размера отладить не то что легко, а очень легко.
LuaFAR Search
Posted: Wed 07 Nov, 2018 14:27
by sToLp
В Win10x64 LTSC Ru попробовал запускать макрос и в Far30b5267.x86.20180915, и в Far30b5298.x86.20181027.
К сожалению, результат тот же.
А нельзя ли этот макрос разложить на эпизоды и потом попытаться отловить момент, на котором он застопорится?
LuaFAR Search
Posted: Wed 07 Nov, 2018 14:55
by sToLp
Макрос разложил следующим образом:
Code: Select all
Macro {
description="Jump from Grep results to file and position under cursor";
area="Editor"; key="CtrlShiftG";
action=function()
far.Show(0)
local lnum = editor.GetString(nil,nil,3):match("^(%d+)[:%-]")
far.Show(1)
if not lnum then return end
far.Show(2)
local EI = editor.GetInfo()
far.Show(3)
for n = EI.CurLine-1,1,-1 do
far.Show(4)
local fname = editor.GetString(nil,n,3):match("^%[%d+%]%s+(.+)")
far.Show(5)
if fname then
editor.Editor(fname,nil,nil,nil,nil,nil,
{EF_NONMODAL=1,EF_IMMEDIATERETURN=1,EF_ENABLE_F6=1,EF_OPENMODE_USEEXISTING=1},
lnum, math.max(1, EI.CurPos-lnum:len()-1))
far.Show(6)
break
end
far.Show(7)
end
far.Show(8)
end;
}
Появляются номер 0 и 1, а 2 уже не появляется.
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:08
by Shmuel
Теперь вместо far.Show(0) поставьте far.Show(editor.GetString(nil,nil,3))
.
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:15
by sToLp
Code: Select all
╔════════════════╗
║ 1│ "Cancel" ║
║ 2│ ♪ ║
║ │ ║
╚═ 2 arguments ══╝
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:22
by Shmuel
У вас курсор во время вызова макроса стоял на строке редактора с содержимым "Cancel" ?
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:22
by sToLp
Да.
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:27
by Shmuel
Всё, я понял в чём дело. Действительно, проблема в макросе. Макрос не учитывает, что опция "Показывать номера строк" может быть выключена. Спасибо за репорт, сегодня исправлю. Но если эта опция выключена, переход будет происходить на начало файла.
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:32
by sToLp
Shmuel wrote: ↑Wed 07 Nov, 2018 15:27Но если эта опция выключена, переход будет происходить на начало файла.
Как считаете нужным. Только надо будет об этом указать в инструкции.
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:38
by Shmuel
В инструкции к макросу? Можно поставить там комментарий в 1 строчку.
При выключенной опции "Показывать номера строк" макросу неоткуда брать номер строки для точного перехода.
Можно, правда, организовать поиск по всему содержимому строки, но это уже костыль, делать не буду.
LuaFAR Search
Posted: Wed 07 Nov, 2018 15:51
by sToLp
Shmuel wrote: ↑Wed 07 Nov, 2018 15:38Можно поставить там комментарий в 1 строчку.
Да, что-то в этом роде. А ещё бы хорошо было бы при переходе в файл в случае выключенной опции также выдавать предварительное сообщение о желательности её включения. Типа того сообщения как когда макросы обновляются. Что если включите опцию, то переход будет более конкретным, что ли.
LuaFAR Search
Posted: Wed 07 Nov, 2018 16:30
by sToLp
Кстати, а не правильнее ли было бы в плагине опцию "Показывать номера строк" для результатов Grep сделать по умолчанию включённой?