【質問】マクロ内で編集モードを知るには。

  1. はじめまして。
    さほどエディタに詳しい訳じゃないんですが、Mery すばらしいと思います!

    で、件名の通り、マクロ内で編集モードを知りたいのですが、方法がわかりません。
    教えて頂けると嬉しいです。
    どうぞよろしくお願いいたします。

     |  MK  |  返信
  2. ●MK さん

    > さほどエディタに詳しい訳じゃないんですが、Mery すばらしいと思います!
    Mery いいですよね! 一番好きなエディタです!

    > で、件名の通り、マクロ内で編集モードを知りたいのですが、方法がわかりません。
    残念ながら,マクロから編集モードを知る方法は用意されていません.
    代わりにと言いますか,よく使う手段としては拡張子で判定していますね.
    # プラグインだと取得できるので,要望出せばマクロでも対応してもらえるかもしれません

    以下拡張子判定例:
    var extension = ".js";
    if (Document.Name.slice(-(extension.length)).toLowerCase() == extension) {
      // 何らか処理
    }

     |  ks  |  返信
  3. 返答、ありがとうございます!

    そーなんですね、リファレンスは一応見たんですが、
    もしかしたら?って思って質問してみました。

    コードありがとうございます!やっぱ、拡張子ですかねぇ。
    一旦ファイルを保存してしまえば何てことないんですけど、
    新規の場合がアレなんですよねぇ。

    php とか書いてると、やっつけで、
    htmlやらjavascriptやら入り乱れてダーって書きたい場合があるんですが(そんなの私だけかもですけど)、
    その際に便利になるように、コードスニペットのようなマクロを書いてるんですが、
    編集モードで優先順位を変えたくての質問でした。

    > # プラグインだと取得できるので,要望出せばマクロでも対応してもらえるかもしれません
    そうなんですか?無料で使わせてもらっていて要望ってのは気が引けますが、できると嬉しいです!

     |  MK  |  返信
  4. ● MK さん、ks さん

    更新さぼっててすみません。一応管理人の Kuro です。
    すでにサンプルまでご提供いただいてて何もサポートできるようなことはないのですが。

    > # プラグインだと取得できるので,要望出せばマクロでも対応してもらえるかもしれません
    > そうなんですか?無料で使わせてもらっていて要望ってのは気が引けますが、できると嬉しいです!

    は、はい!・・・やる気が出次第、善処しますw

    > その際に便利になるように、コードスニペットのようなマクロを書いてるんですが、
    > 編集モードで優先順位を変えたくての質問でした。

    スニペットプラグインというものがありますが、ちょっと違いますかね・・・?
    テンプレートの作り方次第では html とか javascript のテンプレートみたいなのを盛り込めると思いますが。

     |  Kuro  |  返信
  5. Kuro さん、ありがとうございます。

    > スニペットプラグインというものがありますが、ちょっと違いますかね・・・?
    > テンプレートの作り方次第では html とか javascript のテンプレートみたいなのを盛り込めると思いますが。

    ですね!便利です。感謝してます。

    ただ、すこーし欲しい感じとちがうんです。
    興味ないかもですが、ちょっと説明させてください。

    欲しい機能は、
    「タブキーを押したら、カーソル位置のキーワードをスニペットに置換して、無いならタブ文字挿入」
    って感じなんですけど、
    それを、php,javascript,html,フレームワーク関連等、入り乱れて、なおかつ編集モードで優先順位を変えるってマクロにしたかったんです。
    一応、拡張子でやりましたけど、ちょっと優先順位を変えたいときに、編集モードを変えたらマクロの振る舞いが変わったらいいなーって思っていたんです。
    もし、気が向いたら、おねがいしまーす。
    長文すんませんでした。

     |  MK  |  返信
  6. ●MK さん

    とりあえず使えればいいや,ということで COM DLL を作成してみました.
    http://merysmacro.up.seesaa.net/plugins/MeryOperationCOM.zip

    .NET Framework 4.0 or 4.5 が必要であったり,
    インストールが面倒(手順は同梱のテキスト参照)であったりと汎用的に使えるものではありませんが,
    マクロから編集モードの文字列を取得することはできるようになります.

    個人で使う分には十分だと思いますので,お役立ていただければ.

     |  ks  |  返信
  7. ks さん、なんと!私なんぞのために、ありがとうございます!

    これで、やっつけ仕事が捗りそうです。感謝です。

    とりあえず、お礼だけ。

     |  MK  |  返信