秀丸マクロ補完マクロ (CompleteX 用プラグイン)
call 文と goto 文の第 1 引数。#, $ で始まる場合。ローカル変数はスコープが考慮されます。dllfunc, dllfuncw, dllfuncstr, dllfuncstrw 関数の第 1 引数*1。候補は DLL のドキュメントから自動的に生成されます。〈→対応 DLL〉config, openreg, createreg, deletereg 文の第 1 引数。currentmacrodirectory, hidemarudir, macrodir, settingdir, backupdir, windir, winsysdir キーワードに連結される文字列。■マクロフォルダ\ │ └─■CompleteX\ …ベースフォルダ │□CompleteMac.mac …秀丸マクロ補完プラグイン │ └■CompleteMac\ …辞書フォルダ □mac.dic …予約語辞書 □config.dic …config 文の引数辞書 □config.hint …config 文のヒント辞書 □dllname.dic … DLL 関数名辞書 □dllname.def … DLL 型情報辞書 □dllname.hint … DLL ヒント辞書 □dllname.help … DLL ヘルプ辞書 □dllname.mac … DLL ドキュメント→辞書 コンバータ (旧型) □dllname.wsf … DLL ドキュメント→辞書 コンバータ (新型) □wshscraper.js … 同上 □javascript-xpath-latest.js … 同上
[.mac] plugin=CompleteMac.mac path.separator=\\
# を選ぶと数値型変数、 $ を選ぶと文字列型変数の補完に移ります。設定は CompleteX の設定ファイル config.txt に追記します。〈→CompleteX リファレンス:設定ファイルの書き方〉
mac.DengakuDLL.doc=..\dgdlldoc\table.html mac.macrodll.doc=..\fortex\doc\dllfunc.html mac.ht_tools.doc=..\ht_tools.html mac.AssignReg.doc = ..\AssignReg\関数リファレンス.txt
mac.ignore=scope …ローカル変数のスコープを無視します。スコープを無視する場合、変数名は保存されたファイルから収集されます。新しい変数名やラベルを書いても保存するまでは候補に出てきません。なお、 CompleteX の設定で autosave=yes となっている場合はファイルから収集する前に自動的に上書き保存されます。
デフォルトで次の DLL に対応しています。コンバータがあって、かつ設定ファイルにドキュメントのパスが指定されている場合、ドキュメントが更新されると辞書も自動的に更新されます。
| DLL ファイル名 | 作者 | 準拠バージョン | 関数名辞書 | 型情報辞書 | ヒント辞書 | ヘルプ辞書 | コンバータ | 指定ドキュメント | 
|---|---|---|---|---|---|---|---|---|
| HmJre.dll | サイトー企画 | v4.10 | ● | ● | ● | ● | ― | ― | 
| TKInfo.dll | サイトー企画 | 秀丸メール v5.07 相当 | ● | ● | ― | ― | ― | ― | 
| DengakuDLL.dll | 杉浦まさき さん | ドキュメント連動 | ● | ● | ● | ● | ● | table.html | 
| macrodll.dll | 阿部紀行 さん | ドキュメント連動 | ● | ● | ● | ● | ● | dllfunc.html | 
| ht_tools.dll | h-tom さん | ドキュメント連動 | ● | ● | ― | ― | ● | ht_tools.html | 
| AssignReg.dll | カモノハシ さん | ドキュメント連動 | ● | ● | ― | ― | ● | 関数リファレンス.txt | 
その他の DLL に対応させるには、同梱の例に倣って辞書またはコンバータを用意してください。
.dll で終わるファイル名っぽい文字列を拾っているだけです。dllfunc / dllfuncstr が自動的に補正されます。たとえば dllfunc("GSUB") と入力した場合、 GSUB 関数が文字列型だったら dllfuncstr("GSUB") に置き換えられます。一次配布場所は Wisteria - 秀丸マクロ - CompleteMac です。二次配布は次のところで行われています。
colormarkersnapshot を追加scrolllinkhandle を追加ddeexecutew, ddeinitiatew, ddepokew, dderequestw(), ddestartadvicew, ddestopadvicew, ddewaitadvicew を追加reservedmultisel を追加getininumw(), getinistrw(), writeininumw, writeinistrw, settargetcolormarker, targetcolormarker, incolormarker を追加sprintf() を追加diff, splitpos, quote(), setfiletype, setconfigstate を追加unicode_be, johab, easteuro, baltic, greek, russian, symbol, turkish, hebrew, arabic, thai, vietnamese, oem, default を追加xBlockquoteFix を追加autospellcheckswitch, spellcheckdialog, stophistoryswitch, selectword2, wordright2, wordrightsalnen2, COMPFILE を追加reservemultisel, selectreservedmultisel, clearreservedmultisel, clearreservedmultiselall を追加multiselecting を追加colormarkerallfound, clearcolormarkerallfound, findmarker, selectallfound, selectcolormarker, tomultiselect, invertselection を追加enumcolormarkerlayer(), geteventnotify() を追加selectcolumn, lineupdated を追加getautocompitem() を追加selopenx, selopeny を追加allowobjparam を追加SetUnicodeIndexAutoConvert を追加seterrormode() 関数を追加 (秀丸エディタ v8.00β1 からあったが関数として使えることが秀丸のヘルプに書いてなかった)refreshoutline を追加lineselecting, mouseselecting, selectionlock を追加outlinehandle を追加savebookmark, loadbookmark, enablebreak を追加utf32, utf32_be を追加outputsametab を追加 (秀丸エディタ v7.00 で追加されてたのを忘れてた)formwidth を追加xFormLine を追加strrstr(), wcsstrrstr() が関数になってなかったバグ修正strrstr, wcsstrrstr を追加loaddll(), getloaddllfile(), setpropobj を追加dllfunc() 系の複数 DLL 対応処理は未実装settingdir, backupdir を追加dllfuncw(), dllfuncstrw() を追加argcount, autocompstate, backtab, backupdir, beginlinesel, byteindex_to_charindex(), callmethod, callmethod_returnnum(), callmethod_returnobj(), callmethod_returnstr(), charcount(), charindex_to_byteindex(), charindex_to_wideindex(), colormarkerdialog, compfilehandle, copyformed, createobject(), cutline, cutword, deletecolormarker, deletecolormarkerall, deletefile, deleteline2, disablehistory, dllfuncstrw(), dllfuncw(), findspecial, form, forwardtab, fullscreen, getarg(), getclipboardinfo(), getcollection(), getobject(), getpropnum(), getpropobj(), getpropstr(), getregbinary(), getresultex(), getstaticvariable(), gotagpair, help4, help5, help6, keepobject, member, member(), moveto2, nextresult, OPENFILEPART, platform, poppaste2, prevcompfile, prevresult, quitall, refreshtabstop, releaseobject, runex, searchoption2, seterrormode, setpropnum, setpropstr, setstaticvariable, settingdir, showcharcount, showformline, sleep, splitmode, unform, unmatch, wb, wcsleftstr(), wcslen(), wcsmidstr(), wcsrightstr(), wcsstrstr(), wideindex_to_charindex(), writeregbinary, ws, xpixel, ypixel を追加xTabMode を追加FindGeneral, ReplaceRegular, ReplaceRegularNoCaseSense を追加getcolormarker が関数になってなかったミス修正wordleft2 を追加gettitle() を追加getcolormarker, nextcolormarker, prevcolormarker を追加begingroupundo, endgroupundo, colormarker を追加encode, syncoutline を追加autocomplete, configstate, event, filter(), geteventparam(), gowordend2, gowordtop2, grepdialog2, grepreplace, grepreplacedialog2, loop, maskcomment, maskifdef, masknormal, maskonly, maskscript, maskstring, masktag, noclose, outputsingle, preview, refpaste, seteventnotify, setfloatmode, tolower(), toupper() を追加xAutocompAuto, xAutocompDic, xAutocompFlag1, xAutocompFlag2 を追加currentmacrodirectory は現在編集中のマクロのあるフォルダになるべきだったhidemarudir + "" のような文脈で文字列内に期待どおりのパスを補完)iconthistab を追加getfocus, setfocus を追加setcompatiblemode, fold, unfold, nextfoldable, prevfoldable, selectfoldable, foldall, unfoldall, rangeeditin, rangeeditout, nextoutlineitem, prevoutlineitem, showoutline, showoutlinebar, showfoldingbar, foldable, folded, rangeedittop, rangeeditend, rangeeditmode, screentopy を追加xOutlineBar, xRangeEdit, xFolding, xFoldingTwigBar を追加mac.Ignore=scope を追加mac.Ignore=scope を使うといいです)STRLEN2 などが候補に出てこないバグ修正fontmode を追加bom, nobom を追加noaddhist を追加golineend3, unichar(), configset, currentconfigset を追加columntox を columntox() に、 linenotoy を linenotoy() に修正gettext2 と gettext2() があったのを修正"\n" などを閉じた文字列として認識せず、以降の位置で正しく補完できないバグ修正"\\" を閉じた文字列として認識せず、以降の位置で正しく補完できないバグ修正dllfunc と dllfuncstr を区別しない(両方の候補を出し、入力された DLL 関数の型に合わせて dllfunc / dllfuncstr を自動補正する)call があるときは ##return と $$return を候補に加える# や $ を選んだ場合ローカル変数が補完できないバグ修正dllfunc と dllfuncstr は区別するご意見、ご感想、バグ報告、ツッコミなどは 談話室 へどうぞ。