定数
-
Em が ver4 になったとき(2004年)、秀丸風メソッドとプロパティを WSF で書いて COM 化しました。
Em のサポートグループ(in Yahoo)に入ったけど、作者とコミュニティの関係が険悪だったので、
公開することなくお蔵入りしました。そして、1週間ぐらい前に、Mery を知りました。
秀丸エミュレーターが移植できるかもしれないと思って、ちょっといじってみました。
editor.ExecuteCommandByID() の引数に使う定数は、そのままでは使えません。
たとえば、Em の EEID_FILE_NEW =4096; は、Mery でも新規作成です。
しかし、他の多くの値と機能は、一致しません。
値 , Emの名前 , Meryの名前また機能
4105 , EEID_SAVE_AS_CRLF , EUCでリロード MEID_FILE_RELOAD_EUC
4131 , EEID_EDIT_COPY_PREFIX_DESELECT , 行を指定してジャンプ MEID_JUMP
4164 , EEID_HOME , 改行の表示・非表示
4117 , EEID_SHIFT_DOWN , マクロ->これを選択 MEID_MACRO_SELECT_THIS
4187 , EEID_ESCAPE , window-> タブを有効にする
4191 , EEID_DELETE_RIGHT_LINE , バージョン情報
4153 , EEID_SELECT_CHAR , 検索ダイアログ MEID_EDIT_FIND
4154 , EEID_SELECT_LINE , 置換ダイアログ MEID_EDIT_REPLACEMery では値をどんな機能に割り当てているのか、教えてもらえないでしょうか?
| kinzoku | 返信 -
こんばんは。
ExecuteCommandByID ですか・・・。
マニュアルなどのどこにも掲載してませんが、良くお気づきになられましたねw
おっしゃるとおり、Meryにもこっそり用意しています。
(あんまりテストしてないのでちゃんと動くか怪しいものですが・・・。不具合があればご報告頂けると助かりますw)定数の採番基準は簡単で、Meryのメニュー「ファイル」から順番に4096からの連番になってます。
まだ文書化できてませんので、お手数ですが機能は定数名から推測してください。以下、定数です。(ver 1.0.5.1821)
MEID_FILE_NEW = 4096
MEID_FILE_OPEN = 4097
MEID_FILE_CLOSE_AND_OPEN = 4098
MEID_FILE_SAVE = 4099
MEID_FILE_SAVE_AS = 4100
MEID_FILE_SAVE_ALL = 4101
MEID_FILE_INSERT = 4102
MEID_RELOAD_DETECT_ALL = 4103
MEID_RELOAD_JIS = 4104
MEID_RELOAD_EUC = 4105
MEID_RELOAD_SJIS = 4106
MEID_RELOAD_UNILE = 4107
MEID_RELOAD_UNIBE = 4108
MEID_RELOAD_UTF7 = 4109
MEID_RELOAD_UTF8 = 4110
MEID_RELOAD_UTF8N = 4111
MEID_RELOAD_EUCKR = 4112
MEID_RELOAD_GB2312 = 4113
MEID_RELOAD_BIG5 = 4114
MEID_RELOAD_1251 = 4115
MEID_FILE_PRINT = 4116
MEID_FILE_PRINT_PREVIEW = 4117
MEID_FILE_SAVE_AND_CLOSE = 4118
MEID_FILE_CLOSE = 4119
MEID_FILE_SAVE_AND_CLOSE_ALL = 4120
MEID_FILE_EXIT_ALL = 4121
MEID_EDIT_UNDO = 4122
MEID_EDIT_REDO = 4123
MEID_EDIT_CUT = 4124
MEID_EDIT_COPY = 4125
MEID_EDIT_PASTE = 4126
MEID_EDIT_COPY_TEXT_IN_QUOTES = 4127
MEID_EDIT_DELETE = 4128
MEID_EDIT_SELECT_ALL = 4129
MEID_EDIT_TIME_DATE = 4130
MEID_EDIT_JUMP = 4131
MEID_EDIT_TAG_JUMP = 4132
MEID_CONVERT_SELECTION_INSERT_NEW_LINES = 4133
MEID_CONVERT_SELECTION_REMOVE_NEW_LINES = 4134
MEID_CONVERT_SELECTION_SPLIT_LINES = 4135
MEID_CONVERT_SELECTION_JOIN_LINES = 4136
MEID_CONVERT_SELECTION_UPPERCASE = 4137
MEID_CONVERT_SELECTION_LOWERCASE = 4138
MEID_CONVERT_SELECTION_HALF_WIDTH = 4139
MEID_CONVERT_SELECTION_FULL_WIDTH = 4140
MEID_CONVERT_SELECTION_TABIFY = 4141
MEID_CONVERT_SELECTION_UNTABIFY = 4142
MEID_CONVERT_SELECTION_INCREASE_LINE_INDENT = 4143
MEID_CONVERT_SELECTION_DECREASE_LINE_INDENT = 4144
MEID_CONVERT_SELECTION_RECONVERT = 4145
MEID_CONVERT_SELECTION_BASE64_DECODE = 4146
MEID_BOOKMARKS_TOGGLE_BOOKMARK = 4147
MEID_BOOKMARKS_NEXT_BOOKMARK = 4148
MEID_BOOKMARKS_PREVIOUS_BOOKMARK = 4149
MEID_BOOKMARKS_CLEAR_BOOKMARKS = 4150
MEID_SEARCH_FIND = 4151
MEID_SEARCH_NEXT = 4152
MEID_SEARCH_PREVIOUS = 4153
MEID_SEARCH_REPLACE = 4154
MEID_SEARCH_ERASE_FIND_HIGHLIGHT = 4155
MEID_SEARCH_FIND_IN_FILES = 4156
MEID_SEARCH_GOOGLE_JAPANESE = 4157
MEID_SEARCH_GOOGLE_WEB = 4158
MEID_SEARCH_YAHOO_DICTIONARY = 4159
MEID_VIEW_INVERT_COLORS = 4160
MEID_VIEW_NO_WRAP = 4161
MEID_VIEW_WRAP_BY_CHARACTERS = 4162
MEID_VIEW_WRAP_BY_WINDOW_ = 4163
MEID_VIEW_MARKS_SHOW_RETURNS = 4164
MEID_VIEW_MARKS_SHOW_END_OF_FILE = 4165
MEID_VIEW_MARKS_SHOW_TABS = 4166
MEID_VIEW_MARKS_SHOW_SPACES = 4167
MEID_VIEW_MARKS_SHOW_DOUBLE_BYTE_SPACES = 4168
MEID_VIEW_TOOL_BAR_STANDARD_BUTTONS = 4169
MEID_VIEW_TOOL_BAR_CUSTOMIZE = 4170
MEID_VIEW_STATUS_BAR = 4171
MEID_MACROS_START_STOP_RECORD = 4172
MEID_MACROS_RUN = 4173
MEID_MACROS_SAVE_AS = 4174
MEID_MACROS_EDIT = 4175
MEID_MACROS_SELECT = 4176
MEID_MACROS_SELECT_THIS = 4177
MEID_MACROS_CUSTOMIZE = 4178
MEID_TOOLS_OPTIONS = 4179
MEID_TOOLS_SQL_FORMAT = 4180
MEID_TOOLS_XML_FORMAT = 4181
MEID_WINDOW_ALWAYS_ON_TOP = 4182
MEID_WINDOW_SPLIT = 4183
MEID_WINDOW_NEXT_PANE = 4184
MEID_WINDOW_PREVIOUS_PANE = 4185
MEID_WINDOW_ACTIVE_PANE = 4186
MEID_WINDOW_ENABLE_TABS = 4187
MEID_WINDOW_NEXT_DOCUMENT = 4188
MEID_WINDOW_PREVIOUS_DOCUMENT = 4189
MEID_HELP_HELP = 4190
MEID_HELP_ABOUT = 4191
MEID_RELOAD_874 = 4192
MEID_RELOAD_1250 = 4193
MEID_RELOAD_1252 = 4194
MEID_RELOAD_1253 = 4195
MEID_RELOAD_1254 = 4196
MEID_RELOAD_1255 = 4197
MEID_RELOAD_1256 = 4198
MEID_RELOAD_1257 = 4199
MEID_RELOAD_1258 = 4200MEID_EDIT_MODE_BAT = 8192
MEID_EDIT_MODE_CFM = 8193
MEID_EDIT_MODE_CSHARP = 8194
MEID_EDIT_MODE_CPP = 8195
MEID_EDIT_MODE_CSS = 8196
MEID_EDIT_MODE_DELPHI = 8197
MEID_EDIT_MODE_HSP = 8198
MEID_EDIT_MODE_HTML = 8199
MEID_EDIT_MODE_INI = 8200
MEID_EDIT_MODE_JAVA = 8201
MEID_EDIT_MODE_JSCRIPT = 8202
MEID_EDIT_MODE_JSP = 8203
MEID_EDIT_MODE_PERL = 8204
MEID_EDIT_MODE_PHP = 8205
MEID_EDIT_MODE_PYTHON = 8206
MEID_EDIT_MODE_RUBY = 8207
MEID_EDIT_MODE_SQL = 8208
MEID_EDIT_MODE_TEXT = 8209
MEID_EDIT_MODE_UWSC = 8210
MEID_EDIT_MODE_VBSCRIPT = 8211
MEID_EDIT_MODE_VISUALBASIC = 8212| Kuro | 返信 -
ところで、秀丸エミュレータというドキドキなブツは一体なんでしょうか?
| Kuro | 返信 -
>定数の採番基準は簡単で、Meryのメニュー「ファイル」から順番に4096からの連番になってます。
>まだ文書化できてませんので、お手数ですが機能は定数名から推測してください。
ありがとうございます。楽になります。>ところで、秀丸エミュレータというドキドキなブツは一体なんでしょうか?
Mery のマクロの中で、秀丸と同じ構文が使えるようになります。
with( obj ){ ここで、秀丸と同じ構文 }
まだ、予定ですけど。実際、2004年の EmEditor では動作しました。| kinzoku | 返信 -
お役に立てれば幸いです。
> Mery のマクロの中で、秀丸と同じ構文が使えるようになります。
マジで・・・!秀丸マクロをMeryで使える可能性があるのですね、技術力スゴイです。
その技術力があれば、DelphiでできてるMeryのプラグインヘッダをC++などに翻訳して頂けるのでは!?
と淡い期待をしてみるテストです。。。| Kuro | 返信 -
メソッドとプロパティの定義なので・・・そんな凄いものではないです。
hme.wsc というファイル(仮)を regsvr32 に登録させるだけで使えるようになります。
中身は、JScript + VBScript を含んだ XML ファイルなので、みんなで実装できますし、
怪しいものが混入しません。
秀丸を使ったことのある人ならば、おなじみですが、こんな感じになります。var hme=new ActiveXObject("Nanashi.HidemaruMacroEmulator");
hme.init(this);
with( hme ){
escape(); gofiletop(); message("how about");
var i=0; var s;
searchdown(/\b\w+/, regular);
escape;
moveto(selendx, selendy);
message("how about");
message("x, y == " + x + ", " + y +
"\ncolumn, lineno == " + column + ", " + lineno);
}| kinzoku | 返信 -
なるほど、。。
これはなんだかすごそう・・・。インタプリタを作る勢いですねw
私も学生時代は秀丸を愛用していましたので、秀丸エミュレータの完成が楽しみです。
期待しておりますよ~!| Kuro | 返信