Изменения 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
.
См. также:
Ограничения в использовании некоторых функций