LuaFAR Search
LuaFAR Search
Latest post of the previous page:
Увы. В том то и дело, что и так с самого начала я тоже пробовал. И ни чего...
А переход примитивным макросом я привёл только для того, чтобы показать, что сам то греп плагином весьма удачно формируется.
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
LuaFAR Search
Предложение: в случае перехода из строки с именем файла переходить в самое начало этого файла.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
LuaFAR Search
sToLp, может быть дело в том, что вы нажимаете CtrlShiftQ, а оригинальный макрос повешен на CtrlShiftG ?
HaRT, да, уже подумал об этом, может быть сделаю, хотя это не типичный сценарий работы.
HaRT, да, уже подумал об этом, может быть сделаю, хотя это не типичный сценарий работы.
LuaFAR Search
Нет. Я каждый раз пробую вызывать макрос и через CtrlShiftG, и через Macro Browser.
Сейчас перешёл на другую машину. Там тоже Win10x64, но более свежая версия — LTSC. Попытаю удачи на ней и о результатах сообщу.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
LuaFAR Search
sToLp, поскольку это макрос, 10-15 строк всего, то вы можете легко определить, что у вас происходит, вставив в разные места макроса вывод на экран, например, far.Show(1),far.Show(2),far.Show(3) и т.д. для начала. Будет видно как проходит исполнение. Макрос такого размера отладить не то что легко, а очень легко.
Last edited by Shmuel on Wed 07 Nov, 2018 14:26, edited 1 time in total.
LuaFAR Search
В Win10x64 LTSC Ru попробовал запускать макрос и в Far30b5267.x86.20180915, и в Far30b5298.x86.20181027.
К сожалению, результат тот же.
А нельзя ли этот макрос разложить на эпизоды и потом попытаться отловить момент, на котором он застопорится?
К сожалению, результат тот же.
А нельзя ли этот макрос разложить на эпизоды и потом попытаться отловить момент, на котором он застопорится?
LuaFAR Search
Макрос разложил следующим образом:
Появляются номер 0 и 1, а 2 уже не появляется.
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;
}
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
LuaFAR Search
Всё, я понял в чём дело. Действительно, проблема в макросе. Макрос не учитывает, что опция "Показывать номера строк" может быть выключена. Спасибо за репорт, сегодня исправлю. Но если эта опция выключена, переход будет происходить на начало файла.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
LuaFAR Search
В инструкции к макросу? Можно поставить там комментарий в 1 строчку.
При выключенной опции "Показывать номера строк" макросу неоткуда брать номер строки для точного перехода.
Можно, правда, организовать поиск по всему содержимому строки, но это уже костыль, делать не буду.
При выключенной опции "Показывать номера строк" макросу неоткуда брать номер строки для точного перехода.
Можно, правда, организовать поиск по всему содержимому строки, но это уже костыль, делать не буду.
LuaFAR Search
Да, что-то в этом роде. А ещё бы хорошо было бы при переходе в файл в случае выключенной опции также выдавать предварительное сообщение о желательности её включения. Типа того сообщения как когда макросы обновляются. Что если включите опцию, то переход будет более конкретным, что ли.