- local FN = ...
- local in_process = false
- local _,LM = pcall(require,"LuaManager")
- LM = type(LM)=="table" and LM or nil
- Macro{
- id="3E17F380-3D44-491C-A2B5-F60C6944A57C"; area="Common"; key="/.+/"; priority=100;
- condition=function(key)
- for k=1,math.huge do -- переберём все мыслимые idы
- local me = mf.GetMacroCopy(k) -- получим макрос/обработчик событий
- if not me then return false end -- кончились - закончим перебор
- if me.FileName~=FN and me.area then -- это макрос, но не этот?
- local infilter = ((me.key:match("^/.*/$") and regex.find(key,me.key,1,"i")) or regex.find(me.key,"(^| )"..key.."($| )",1,"i")) -- отсеем клавиши
- infilter = infilter and regex.find(" "..me.area.." ","( Common | "..Area.Current.." )",1,"i") -- отсеем нетекущие области
- if infilter then return LM and not in_process and (not me.condition or me.condition()) end -- нашли - закончим перебор
- end
- end -- for - перебор id
- end;
- action=function()
- in_process = true
- LM({MaShow=true,KMShow=true,EvShow=false,MoShow=false,MIShow=false,PrShow=false,PMShow=false,AMShow=false,KFilter=akey(1,0),FFilter="*|"..FN})
- in_process = false
- end;
- }
GeSHi © Codebox Plus Extension