VisualCompare — макрос запуска плагина

Здесь обсуждается всё, что касается макросов.
ccaid
Posts: 771
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 8 times
Been thanked: 5 times

VisualCompare — макрос запуска плагина

Postby ccaid » Fri 02 Dec, 2016 21:10

Текущий вариант моего старинного макроса.

Три варианта применения:
• на текущей панели выделены два файла — сравниваем их (первый всегда слева);
• на текущей панели выделен один файл И в буфере имеется валидное имя файла — сравниваем их (файл из буфера всегда слева);
• в остальных случаях — сравниваем текущие файлы панелей (файл с левой панели всегда слева).

Code: [Select all] [Expand/Collapse] [Download] (VisualCompare.lua)
  1. local VisComp    = 'AF4DAB38-C00A-4653-900E-7A8230308010'
  2.  
  3. Macro {
  4.   area="Shell"; key="AltV"; flags=""; description="Визуальное сравнение файлов (либо выделенных на активной, либо один из буфера и другой выделенный на активной, либо под курсорами на панелях)";
  5.   condition = function()
  6.     return Plugin.Exist(VisComp)
  7.   end;
  8.   action = function()
  9.     local LN, RN
  10.     local File = far.PasteFromClipboard():match"[^\r\n]+"
  11.     if APanel.SelCount==2 then
  12.       LN = (APanel.UNCPath~="" and APanel.UNCPath.."\\" or "")..panel.GetSelectedPanelItem(nil,1,1).FileName
  13.       RN = (APanel.UNCPath~="" and APanel.UNCPath.."\\" or "")..panel.GetSelectedPanelItem(nil,1,2).FileName
  14.     elseif APanel.SelCount==1 and win.GetFileAttr(File) then
  15.       LN = File
  16.       RN = (APanel.UNCPath~="" and APanel.UNCPath.."\\" or "")..panel.GetSelectedPanelItem(nil,1,1).FileName
  17.     else
  18.       LN = (PPanel.UNCPath~="" and PPanel.UNCPath.."\\" or "")..PPanel.Current
  19.       RN = (APanel.UNCPath~="" and APanel.UNCPath.."\\" or "")..APanel.Current
  20.       if APanel.Left then
  21.         LN, RN = RN, LN
  22.       end
  23.     end
  24.     Plugin.Command(VisComp, "\""..LN.."\" \""..RN.."\"")
  25.   end;
  26. }

VisualCompare.lua.7z
(712 Bytes) Downloaded 20 times
Фар делают добрые люди

Return to “Обсуждение макросов”

Who is online

Users browsing this forum: No registered users and 2 guests