=== tagl.def v.05 === ; taglight.exe を使用して複数の指定文字列に手軽に色付けできるマクロです。 ; 環境変数VZDEFのフォルダにtaglight.exeとtaglight.patが必要です。 ; taglight.patは、tagl.def用に拡張子の後ろにカンマの追加が必要です。 ; 例 ; #C,C++コード用 ; :C,CP,H, ; [F05]は私家版[F05]のtaglight.exe対応版です。 ; [F06]は起動すると、taglight.patを開き、編集中の拡張子の項目に移動します。 ; 検索窓で文字列入力しEnterで文字列を貼り付け、繰り返し入力できます。 ; 空Enterで指定終了し、tagl.patとしてセーブし、編集画面に反映させます。 ; 上記の動作原理により、マクロ起動時は常にtaglight.patの設定になります。 ; シフト起動なら直接tagl.patを実行します。 * M 80 ^KT [F06] "tagl" ?. ;編集モード以外なら終了 #if LX 98 #F . #endif (ks&1)? { mp[, >k } ; \^KT ;シフト^KT起動なら専用pat実行 k-, (ks&4)? { k+, } ; ^KT ;^KT起動なら複数ワード設定 #] ;ステータスラインの再描画 e=ne, ;編集ファイルの拡張子を保持 #F &Cr c=r, ;指定文字列入力(複数可) mp], mp-, ;[ESC],or 空Enter=中止 (c<0&&e<1)? { >e } ;[ESC],or 空Enter=中止 ss2, sn[+, #O &?("%staglight.pat",pi) #m ;patファイルオープン sn], ; (s)?{#[ #[ &m("taglight.pat無し!!") >q };patファイル無ければ中止 mp[2, ps[=pa, ;ページングモード,psすり替え #F &?("\n\n") #m #c ;v2 空行まで進める ps], ;psの復帰 "D$(9)" #I #m ;★D=色指定,TAB,文字列挿入 ps[=pa, ;psすり替え (e)? {#F &?("%c",e) #m #c} ;拡張子があれば検索 #F &?("\n\n") #m #c ;v02 空行まで進める ps], mp], #] e-, ;ps等の復帰 "D$(9)" #I #m ;★D=色指定,TAB,文字列挿入 (c<0)? >a ;[Enter]=設定終了 (k)??>a :F c-, ;---- #F 文字列指定 繰り返し ----------------------- &m(" (%d 文字列指定 [ESC]=中止 [Enter]=設定終了).",k) mp[, ;ページングモード保存 #F &Cr c=r, ;指定文字列入力(複数可) (c<0&&e<1)? { mp], mp-, #C >e } ;[ESC],or 空Enter=中止 (c<0)? >a ;[Enter]=設定終了 "D$(9)" #I #m ;★D=色指定,TAB,文字列挿入 ; ※ D が色指定(紫) 0〜7 A〜F を指定できる e++, (k)?>F :a #82 #s #s #s #s #h #h #h #h #m ;ファイル名変更(tagl.pat) #C (s)? 'y' ;クローズ :k #E &?("Taglight.EXE /ptagl.pat >nul",pi) #m ;専用pat読み込み実行 #[ ;編集画面に戻る :z mp], ;ページングモード戻し (k)??mp2, ;★ :e &m("") :q &d . ;終了 * v.05 #F変更。 v.04 標準の[F05] も別マクロに置き換え(tagl_f5.def)。 v.03 標準の[F06] と置き換え。[ESC]処理修正 v.02 コメント内で色が付かないので、指定位置を後方に変更した。 v.01 とりあえず形が出来た。