Т.е., если есть единственный макрос с наивысшим из этой группы макросов приоритетом, то он исполняется (и меню не выводится). А при желании активировать макрос с пониженным приоритетом его нужно запускать из Macro Browser`а. Здесь всё понятно и подтверждается практикой.Допустимо более одного макроса на сочетание (key,area). В этом случае выполняется макрос с наибольшим приоритетом. Если есть более одного макроса с одинаковым наибольшим приоритетом – выводится меню выбора макроса.
А далее из Справки следует, что если есть более одного макроса с одинаковым и наивысшим из этой группы макросов приоритетом, то должно выводится меню выбора макроса. И в этом меню должны быть показаны все макросы, назначенные в данной макрообласти на данную клавишу. Т.е. включая и макросы с пониженным приоритетом.
И это, с моей точки зрения, было бы правильным, т.к. полноценно информировало бы пользователя о всех макросах, назначенных на данный ключ в данной макрообласти. Однако, похоже на то, что это, в определённых случаях не соответствует практике.
К примеру, когда у меня есть 2 макроса, назначенных на определённый ключ, и имеющих нормальный приоритет, и ещё 2 макроса, назначенных на другой определённый ключ, и также имеющих нормальный приоритет, и к ним добавляются ещё 2, назначенных на те же ключи, но с пониженными приоритетами, то первые четыре (с нормальным приоритетом) выводятся в меню выбора макроса, а вторые два (с пониженным приоритетом) — нет.
Code: Select all
Macro {
description="test: макрос в редакторе на AltG с нормальным приоритетом (Ann)";
area="Editor"; key="AltG"; -- key2="";
flags=""; --sortpriority=; bdsize=43;
id="91B9C1BC-E848-4D09-88B1-5C33A8BCA1EC"; --selected=true;
--filemask = "*.txt,*.cpp";
-- priority=50; condition=function(key) end;
action=function()
local k=akey(1)
far.Message(k,"приоритет нормальный:")
end;
}
Macro {
description="test: макрос в редакторе на AltG с нормальным приоритетом дубль (Ann)";
area="Editor"; key="AltG"; -- key2="";
flags=""; --sortpriority=; bdsize=43;
id="1C6E37AA-8B77-48E1-8A04-8A55F9ECE531"; --selected=true;
--filemask = "*.txt,*.cpp";
-- priority=50; condition=function(key) end;
action=function()
local k=akey(1)
far.Message(k,"дубль: приоритет нормальный:")
end;
}
Macro {
description="test: макрос в редакторе на AltG с приоритетом 9 (Ann)";
area="Editor"; key="AltG"; -- key2="";
flags=""; --sortpriority=; bdsize=43;
id="2F0BDFE0-AFEA-41AA-B547-E893D1C40A67"; --selected=true;
--filemask = "*.txt,*.cpp";
priority=9; condition=function(key) end;
action=function()
local k=akey(1)
far.Message(k,"приоритет 9:")
end;
}
Macro {
description="test: макрос в редакторе на CtrlAltG с нормальным приоритетом (Ann)";
area="Editor"; key="CtrlAltG"; -- key2="";
flags=""; --sortpriority=; bdsize=43;
id="F956CEC6-9251-484D-812A-ED755F3D6523"; --selected=true;
--filemask = "*.txt,*.cpp";
-- priority=50; condition=function(key) end;
action=function()
local k=akey(1)
far.Message(k,"приоритет нормальный:")
end;
}
Macro {
description="test: макрос в редакторе на CtrlAltG с нормальным приоритетом дубль (Ann)";
area="Editor"; key="CtrlAltG"; -- key2="";
flags=""; --sortpriority=; bdsize=43;
id="DFED7A31-1AEB-4986-A428-AED4558DF1D2"; --selected=true;
--filemask = "*.txt,*.cpp";
-- priority=50; condition=function(key) end;
action=function()
local k=akey(1)
far.Message(k,"дубль: приоритет нормальный:")
end;
}
Macro {
description="test: макрос в редакторе на CtrlAltG с приоритетом 9 (Ann)";
area="Editor"; key="CtrlAltG"; -- key2="";
flags=""; --sortpriority=; bdsize=43;
id="84B174B0-47B4-403E-ABBF-F270B1523818"; --selected=true;
--filemask = "*.txt,*.cpp";
priority=9; condition=function(key) end;
action=function()
local k=akey(1)
far.Message(k,"приоритет 9:")
end;
}