LuaFAR Search

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

LuaFAR Search

Post by Shmuel »

Здесь можно обсуждать плагин LuaFAR Search. (Анонс).

dest
Posts: 35
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 9 times

LuaFAR Search

Post by dest »

Latest post of the previous page:

Да, ошибки больше нет, 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 »

Похоже на то, что макрос из поставки плагина "Jump from Grep results to file and position under cursor", не работающий?
Во всяком случае на Win10x64 и на Win7x32 в разных билдах Фара мне не удалось его реализовать.

Shmuel
Posts: 6151
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 319 times

LuaFAR Search

Post by Shmuel »

sToLp, у меня работает (сейчас специально перепроверил на x86-билдах 5267 и 5298, Windows 7 64-битная).
Last edited by Shmuel on Wed 07 Nov, 2018 07:52, edited 1 time in total.

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, Ни-и-и чего не понимаю:

Загрузил из архива ночных сборок 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-системах каких-то драйверов не достаёт?

Shmuel
Posts: 6151
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 319 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 11:55
Чтобы работало, курсор должен стоять на любой строчке из результатов поиска, тогда произойдёт переход в правильный файл и именно на то место, где стоял курсор.
Увы. В том то и дело, что и так с самого начала я тоже пробовал. И ни чего...
А переход примитивным макросом я привёл только для того, чтобы показать, что сам то греп плагином весьма удачно формируется.

User avatar
HaRT
Moderator
Posts: 9483
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 225 times

LuaFAR Search

Post by HaRT »

Shmuel wrote:
Wed 07 Nov, 2018 11:55
Это не должно работать, так не задумано.
Предложение: в случае перехода из строки с именем файла переходить в самое начало этого файла.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 6151
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 319 times

LuaFAR Search

Post by Shmuel »

sToLp, может быть дело в том, что вы нажимаете CtrlShiftQ, а оригинальный макрос повешен на CtrlShiftG ?

HaRT, да, уже подумал об этом, может быть сделаю, хотя это не типичный сценарий работы.

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 13:42
может быть дело в том, что вы нажимаете CtrlShiftQ, а оригинальный макрос повешен на CtrlShiftG ?
Нет. Я каждый раз пробую вызывать макрос и через CtrlShiftG, и через Macro Browser.

Сейчас перешёл на другую машину. Там тоже Win10x64, но более свежая версия — LTSC. Попытаю удачи на ней и о результатах сообщу.

Shmuel
Posts: 6151
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 319 times

LuaFAR Search

Post by Shmuel »

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.

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 »

В Win10x64 LTSC Ru попробовал запускать макрос и в Far30b5267.x86.20180915, и в Far30b5298.x86.20181027.
К сожалению, результат тот же.

А нельзя ли этот макрос разложить на эпизоды и потом попытаться отловить момент, на котором он застопорится?

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 »

Макрос разложил следующим образом:

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 уже не появляется.

Shmuel
Posts: 6151
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 319 times

LuaFAR Search

Post by Shmuel »

Теперь вместо far.Show(0) поставьте far.Show(editor.GetString(nil,nil,3)).

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 »

Code: Select all

╔════════════════╗
║  1│ "Cancel"   ║
║  2│ ♪          ║
║   │            ║
╚═ 2 arguments ══╝

Shmuel
Posts: 6151
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 319 times

LuaFAR Search

Post by Shmuel »

У вас курсор во время вызова макроса стоял на строке редактора с содержимым "Cancel" ?

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 »

Да.

Post Reply

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