Page 1 of 6

Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 13:16
by John Doe
Тема служит для обсуждения штатных макросов из Addons\Macros.

Привёл макросы в соответствие с актуальными возможностями LuaMacro.
Прежде всего пообъединял где можно, пользуясь возможностью назначения макросу нескольких макрообластей и клавиш.

Конечно, многие макросы стоит вообще переработать, простор для улучшения есть, предлагайте.

Примечание: из обсуждения выделены следующие темы: Связанные темы:

Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 13:20
by John Doe
Макрос ShiftF1.lua давно неактуален, рассчитан на MultiArc
Смысла View.CtrlUpDown.lua я вообще не понял.
Объясните кто знает

Edit: кусок обсуждения уплыл в отделённую тему.

Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 15:14
by John Doe
John Doe wrote:Прежде всего пообъединял где можно, пользуясь возможностью назначения макросу нескольких макрообластей и клавиш.
Больше всего изменился Edit.Notepad.lua, вместо 8 макросов 2

Code: Select all

local notepad={
  CtrlF = "F7",           --Find...
  F3    = "ShiftF7",      --Find Next
  CtrlH = "CtrlF7",       --Replace...
  CtrlG = "AltF8",        --Go To...
  CtrlN = "ShiftF4 Enter",--New File
  CtrlO = "ShiftF4",      --Open...
  CtrlS = "F2",           --Save File
}

Macro {description="Editor: like Notepad";
  area="Editor"; key="/([LR]Ctrl[FHGNOS])|F3/"; flags=""; action = function()
Keys(notepad[akey(1)])
  end;
}

Macro {description="Editor: Paste Time/Date";
  area="Editor"; key="F5"; flags=""; action = function()
mf.print(mf.date('%R %x'))
  end;
}
...
В архиве этого нет, но макросы Panel.CtrlLeft.lua и Panel.CtrlRight.lua можно объединить в Panel.CtrlLeftRight.lua


Re: Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 15:22
by tstr
Вы поаккуратнее с изменениями в поставке - такой способ (вызов ф-ции на многие клавиши) не срабатывает в автоматическом добавлении описания и шорткатов в помощь.

Re: Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 15:27
by John Doe
Но способ-то правильный.
Если с помощью что-то не так, то пишите на мантис.

Re: Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 15:50
by tstr
И как таким правильным способом в помощь попадут комментарии из функции, напр. "--Find Next"?

Re: Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 15:51
by Shmuel
John Doe wrote:

Code: Select all

  local d = akey(1) == "CtrlLeft" and "Up" or "Down")
  Keys('F9 Enter Up Enter'..d..'Enter Esc')
Неплохо бы вам проверять, что получилось. Это всё-таки программирование.

Улучшение макросов из поставки фара

Posted: Thu 21 Mar, 2013 15:54
by John Doe

Code: Select all

local dir = {CtrlLeft="Up", CtrlRight="Down"}
Macro {
  description="Change current drive";
  area="Shell"; key="CtrlLeft CtrlRight"; flags="EmptyCommandLine";
  action=function()
    Keys("F9 Enter Up Enter",dir[akey(1)],"Enter Esc")
  end;
}
Update:
Тут продолжение: http://forum.farmanager.com/viewtopic.php?f=15&t=9172

Улучшение макросов из поставки фара

Posted: Fri 22 Mar, 2013 16:40
by John Doe
Замена для Panel.Numpad.lua

Code: Select all

local Numpad={Multiply="*", Add="+", Subtract="-", Divide="/"}
local key="Multiply Add Subtract Divide"

Macro {description="Use numpad keys in command line"; 
  area="Shell ShellAutoCompletion"; key=key; flags="NotEmptyCommandLine"; 
  action = function() Keys(Numpad[akey(1)]) end;
}
Macro {description="Use numpad keys in command line"; 
  area="Search"; key=key;
  action = function() Keys(Numpad[akey(1)]) end;
}
Или

Code: Select all

Numpad={Multiply="*", Add="+", Subtract="-", Divide="/"}
Macro {description="Use numpad keys in command line"; 
  area="Shell ShellAutoCompletion Search"; key="Multiply Add Subtract Divide"; 
  condition=function() return not CmdLine.Empty or Area.Search end; 
  action = function() Keys(Numpad[akey(1)]) end;
}

Улучшение макросов из поставки фара

Posted: Sat 23 Mar, 2013 18:26
by John Doe
Замена для Panel.JumpToSelectedFile.lua
(обсуждение тут)


Re: Улучшение макросов из поставки фара

Posted: Wed 24 Apr, 2013 17:48
by Smitis
Давно хочу спросить, а чем вызвано такое странное форматирование макросов (даже не знаю, как его назвать)?

Re: Улучшение макросов из поставки фара

Posted: Wed 24 Apr, 2013 17:51
by John Doe
Очевидно стремлением автора избежать "лишних" отступов.

Re: Улучшение макросов из поставки фара

Posted: Wed 24 Apr, 2013 18:13
by Smitis
John Doe wrote:Очевидно стремлением автора избежать "лишних" отступов.
Чем же они лишние?

Re: Улучшение макросов из поставки фара

Posted: Mon 11 Nov, 2013 08:08
by den po
shmuel 14.07.2013 00:25:05 +0200 - build 3518

1. Макросы: флаги "Selection" и "NoSelection" больше не применяются для областей редактора/вьювера/диалога.
Для этих областей следует использовать соответственно "EVSelection" и "NoEVSelection".
а тем временем с фаром до сих пор идут CtrlDel.lua и WindowsGUI.lua, в которых используется старый вариант flags="Selection"

Re: Улучшение макросов из поставки фара

Posted: Mon 11 Nov, 2013 08:21
by Shmuel
den po wrote:а тем временем с фаром до сих пор идут CtrlDel.lua и WindowsGUI.lua, в которых используется старый вариант flags="Selection"
Большое спасибо за репорт. Исправлено.