Изменения API в сравнении с макроязыком
- Все идентификаторы чувствительны к регистру символов.
- Вместо прямого указания клавиш используется функция
Keys.
$AKey –> Keys("AKey")
$SelWord –> Keys("SelWord")
$XLat –> Keys("XLat")
$Exit –> exit()
- Логические свойства имеют тип boolean (поэтому нет смысла сравнивать их с числом
0).
- Функция
prompt может возвращать либо стринг, либо false (но никогда не число 0).
- Многие функции помещены в таблицу
mf (сокращение от macrofunctions),
например: mf.abs, mf.fsplit и т.д.
- Функции
Far.Window_Scroll, mf.beep, mf.fexist и Panel.SetPath возвращают булевое значение, а не число.
- Функции
mload и msave изменились, см. их описание.
- Свойства, зависящие от контекста исполнения, находятся в таблице
Object,
например: Object.CurPos, Object.Empty.
CheckHotkey -> Object.CheckHotkey
GetHotkey -> Object.GetHotkey
- Логические свойства проверки области исполнения находятся в таблице
Area,
например: Area.Editor, Area.Shell.
Macro.Area -> Area.Current.
Dialog.AutoCompletion -> Area.DialogAutoCompletion
Shell.AutoCompletion -> Area.ShellAutoCompletion
CallPlugin –> Plugin.Call. Этот вызов – всегда асинхронный. Для синхронного вызова следует использовать Plugin.SyncCall.
- Функции
Plugin.Exist, Plugin.Menu, Plugin.Config и Plugin.Command возвращают булевое значение.
mmode(3,x) больше не влияет на синхронность/асинхронность вызовов плагинов из макроса; ничего не делает; возвращает 0.
Dlg.Info.Id -> Dlg.Id
Dlg.Info.Owner -> Dlg.Owner
Far.Cfg.Get -> Far.Cfg_Get. Эта функция возвращает стринг в случае успеха
или false в случае неудачи.
Far.Cfg.Err больше не существует.
FullScreen -> Far.FullScreen
IsUserAdmin -> Far.IsUserAdmin
History.Disable -> Far.DisableHistory
KbdLayout -> Far.KbdLayout
KeyBar.Show -> Far.KeyBar_Show
Window.Scroll -> Far.Window_Scroll
Menu.Info.Id -> Menu.Id
MsX, MsY, MsButton, MsCtrlState, MsEventFlags — см. таблицу Mouse
RCounter больше не существует.
Macro.Const, Macro.Func, Macro.Keyword и Macro.Var больше не существуют.
- Спецификация макроса: флаг
DisableOutput больше не существует; перерисовка экрана по умолчанию запрещена; добавлен флаг EnableOutput (применять его, если нужна перерисовка экрана во время исполнения макроса).
- Спецификация макроса: флаги
Selection и NoSelection больше не применяются для областей редактора/вьювера/диалога. Для этих областей следует использовать соответственно EVSelection и NoEVSelection.
- Спецификация макроса: флаг
RunAfterFARStart действует и при запуске Far Manager c ключом /e или /v. При этом будут запускаться только автостартующие макросы, поле area которых содержит соответственно Editor или Viewer.
См. также:
Ограничения в использовании некоторых функций