LuaFAR Search
LuaFAR Search
Latest post of the previous page:
Да, ошибки больше нет, Shmuel, спасибо за оперативное исправление!LuaFAR Search
Похоже на то, что макрос из поставки плагина "Jump from Grep results to file and position under cursor", не работающий?
Во всяком случае на Win10x64 и на Win7x32 в разных билдах Фара мне не удалось его реализовать.
Во всяком случае на Win10x64 и на Win7x32 в разных билдах Фара мне не удалось его реализовать.
-
- Posts: 6718
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 34 times
- Been thanked: 503 times
LuaFAR Search
sToLp, у меня работает (сейчас специально перепроверил на x86-билдах 5267 и 5298, Windows 7 64-битная).
Last edited by Shmuel on Wed 07 Nov, 2018 07:52, edited 1 time in total.
LuaFAR Search
Shmuel, Ни-и-и чего не понимаю:
Загрузил из архива ночных сборок Far30b5267.x86.20180915.7z и Far30b5298.x86.20181027.7z, дополнил их плагином и установил макросы.
И всё равно, в отличие от других макросов из файла сабжевой поставки, макрос перехода из результатов грепа к файлу в позиции курсора не срабатывает. Ни по ключу, ни запуском через Macro Browser. Ни в Win10x64, ни в Win7x32.
Хотя примитивным internal-макросом:
этот переход делается просто.
Может в наших Win-системах каких-то драйверов не достаёт?
Загрузил из архива ночных сборок Far30b5267.x86.20180915.7z и Far30b5298.x86.20181027.7z, дополнил их плагином и установил макросы.
И всё равно, в отличие от других макросов из файла сабжевой поставки, макрос перехода из результатов грепа к файлу в позиции курсора не срабатывает. Ни по ключу, ни запуском через Macro Browser. Ни в Win10x64, ни в Win7x32.
Хотя примитивным internal-макросом:
Code: Select all
Macro {
description="edi: → из итогов Grep в файл под курсором (sToLp) CtrlShiftQ";
area="Editor"; key="CtrlShiftQ";
flags="";
code="Keys(\"Home CtrlRight CtrlRight ShiftEnd CtrlIns F12 Home 1 Enter g o t o : ShiftIns Enter\")";
}
Может в наших Win-системах каких-то драйверов не достаёт?
-
- Posts: 6718
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 34 times
- Been thanked: 503 times
LuaFAR Search
Теперь понятно. Вы для перехода на файл становитесь на строчку с именем файла. Это не должно работать, так не задумано.
Чтобы работало, курсор должен стоять на любой строчке из результатов поиска, тогда произойдёт переход в правильный файл и именно на то место, где стоял курсор.
Чтобы работало, курсор должен стоять на любой строчке из результатов поиска, тогда произойдёт переход в правильный файл и именно на то место, где стоял курсор.
LuaFAR Search
Увы. В том то и дело, что и так с самого начала я тоже пробовал. И ни чего...
А переход примитивным макросом я привёл только для того, чтобы показать, что сам то греп плагином весьма удачно формируется.
- HaRT
- Moderator
- Posts: 10540
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 201 times
- Been thanked: 334 times
LuaFAR Search
Предложение: в случае перехода из строки с именем файла переходить в самое начало этого файла.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 6718
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 34 times
- Been thanked: 503 times
LuaFAR Search
sToLp, может быть дело в том, что вы нажимаете CtrlShiftQ, а оригинальный макрос повешен на CtrlShiftG ?
HaRT, да, уже подумал об этом, может быть сделаю, хотя это не типичный сценарий работы.
HaRT, да, уже подумал об этом, может быть сделаю, хотя это не типичный сценарий работы.
LuaFAR Search
Нет. Я каждый раз пробую вызывать макрос и через CtrlShiftG, и через Macro Browser.
Сейчас перешёл на другую машину. Там тоже Win10x64, но более свежая версия — LTSC. Попытаю удачи на ней и о результатах сообщу.
-
- Posts: 6718
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 34 times
- Been thanked: 503 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;
}