・プラグイン・登録マクロを、マクロ記録可能にします。
・登録マクロのマクロ記録を、「マクロの内容を記録」から「マクロそのものの実行の記録」に変更
・「マクロの内容を記録」のための互換オプション新設(iniのみ。全体で共有設定)
・メニュー系マクロ実行が、PostMessageで実行タイミングがおかしいバグの修正
・メニュー系ダイアログ系マクロで実行されるコマンドが、記録不可のときにも記録されるバグの修正
ExecExternalMacro( filename, exttype, macroParam(可変長)...) に変更
以下追加
ExecUserMacro( index, macroFileName, macroParam(可変長)... )
ExecPluginCmd( cmdStr, macroParam(可変長)... )
cmdStrは、「プラグインID名/コマンドNo」です。
macroParamは、PPAでは利用できません。
AddExecFuncArgInt( intParam ) macroParamのかわりに引数を指定
AddExecFuncArgStr( strParam ) macroParamのかわりに引数を指定
AddRecMacroParamInt( intParam ) マクロ記録で記録される引数を追加(int)
AddRecMacroParamStr( strParam ) マクロ記録で記録される引数を追加(Str)
GetMacroParam( argIndex ) : String マクロパラメータ取得
ExecExternalMacro, ExecUserMacro, ExecPluginCmdのmacroParamを取得します
GetMacroParamCount() : Integer マクロパラメータ数取得
マクロの例:
// test.js
var s = "";
if( 0 < Editor.GetMacroParamCount() ){
// RecKey.macからはこちら
s = Editor.GetMacroParam( 1 );
}else{
// 通常実行はこちら
s = Editor.InputBox( "入力する文字列の指定", "", 255 );
}
Editor.AddRecMacroParamStr( s );
Editor.InsText( s );
// test.js を登録済みNo.0に設定して
// マクロ記録で「input」とダイアログで入力するすると
// RecKey.mac
// 旧仕様:ExecUserMacro( 0, 'input' );
ExecUserMacro( 0, 'test.js', 'input' ); // v0_4以降
と記録されます。
マクロ再生時には、ダイアログを表示しないで、"input"と画面に追加されます。
Last edit: Moca 2014-12-24
・AddRecMacroParamStrで、改行・NUL・タブなどを入れたときエスケープするように
・CMacro::Saveの変更は最新版に未更新。コミット後に削除予定
[patchunicode:#865] マクロ保存処理の変更
・5個以上の引数の処理がおかしいバグの修正/m_nArgMaxSize,m_nArgMinSize対応はコミット済み
・旧マクロ記録互換のオプションを新設(iniのみ)
・Command_GREP_REPLACE_DLG修正
・ダイアログ系の引数をEFunctionCodeをやめてEFunctionFlagsを導入
・Command_CUSTMENUのコマンド実行部分をコマンド側に移動
・Command_EXECEXTMACROのto_tchar系の修正
・Command_EXECEXTMACROで旧互換のときに拡張子が記録されないtrunk2のバグを修正
・Command_EXECEXTMACROでm_nAddMacroParamCountを-1に戻していないバグを修正
・マクロの最大引数の個数を99にした
・CMacro::Execを8個以上の引数に対応させる
・AddExecFuncArgInt/Str追加。macroParamのかわりに先に引数を設定することでPPA/99個以上の引数に対応
・ExecUserMacroの引数にstrFileNameを追加(index, strFileName, macroParam(可変長))に変更
ファイル名が指定された場合はファイル名が一致するものを実行するように
・ExecUserMacroの保存で、「マクロ名」をコメントに記録するように修正
・AddRecMacroParamStrのNUL文字対応
Related
PatchUnicode:
#865Last edit: Moca 2014-12-17
Diff:
・m_cRecMacroParamを再入対応に変更/Count削除
・m_cExecMacroParamがメニュー表示等の結果マクロの再入がある場合に対応
・キーマクロ実行中はキーマクロの記録・実行・読み込みの実行を不可に修正
・F_ADDEXEFUNCARG(INT|STR)→F_ADDEXECFUNCARG(INT|STR)に修正
・nArgLimitが5になってたのを99に修正
・#865コミットによる修正
・typo(pcEditDic)修正
・conflict修正/CShareData.cpp修正
・「S_」を削除するパッチを分離
Diff:
conflict修正
Last edit: novice123 2017-09-24
新規ウィンドウでGrep置換後にGrepが実行される
https://github.com/rti7743/sakura/commit/fb0a6642
ReadPluginDefCommand()の処理を修正しました。
swprintf( bufKey, L"C[%d].RecMacro", bRecMacro );
->
swprintf( bufKey, L"C[%d].RecMacro", nCount );