Advertisement
Guest User

Shell_Branch.lua

a guest
May 2nd, 2016
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.75 KB | None | 0 0
  1. -- Макрос модифицирован с использованием скрипта сортировки
  2. -- от Alexyz21 http://forum.ru-board.com/topic.cgi?forum=5&topic=48136&start=1200#19
  3. -- из которого выкинута измерительная часть за ненужностью. Он строит на Временной
  4. -- панели Far дерево каталогов и сортирует похожие по именам файлы вместе. Сработает
  5. -- только если не существует плагин TRUE-Branch - так задумано, вызов AltShiftB.
  6. --
  7. -- v1.1 от Mon May 02 10:56:50 +0300 2016
  8. -- v1.2 - выкинем случайно оставшийся far.FarClock() - Mon May 02 11:21:07 +0300 2016
  9. --
  10. local TBID="148FE5E0-7129-4269-B30F-A1A866DD009A"
  11. Macro {
  12.   description="DirTree branch"; flags="EnableOutput";
  13.   area="Shell"; key="AltShiftB";
  14.   uid="E567C945-6F38-4517-BCD2-DD2C58EC3618";
  15.   condition=function() if (Plugin.Exist(TBID)~=1) then return true else return false end end;
  16.   action=function()
  17.     Keys"AltF7"
  18.     if not Area.Dialog then return end
  19.     Keys"* Enter"
  20.     local lastitem = Dlg.ItemCount
  21.     local STOP_BUTTON = Dlg.GetValue(lastitem)
  22.     far.Timer(50,function(timer)
  23.       if not Area.Dialog then
  24.         timer:Close()
  25.       elseif Dlg.GetValue(lastitem)~=STOP_BUTTON then
  26.         timer:Close()
  27.         Dlg.SetFocus(lastitem-1)
  28.         far.MacroPost[[Keys ("Enter")]]
  29.       end
  30.     end)
  31.       local fn0,fn1 = "",""
  32.       for i=1,panel.GetPanelInfo(nil,1).ItemsNumber do
  33.        fn0,fn1 = fn1,string.match(panel.GetPanelItem(nil,1,i).FileName,"[^\\\\]+$")
  34.        if fn1==fn0 then panel.SetSelection(nil,1,{i-1,i},true) end
  35.       end;
  36.   end;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement