編集モード切替によって、入力補完辞書も切り替えてほしい

  1.  はじめまして。Meryに出会ってからというもの、今まで全然続かなかった日記が継続できるようになったり、JavaScriptなんかも独学で勉強してみるか!と思い立って勉強するようになったりと、大変お世話になっております。ずぶの素人にもわかりやすく使える高機能エディタをありがとうございます。

     さてご相談というのは、たとえばhtml文書内でJavaScriptを記述するときの単語入力補完機能の動作についてなのですが、
    現在の仕様では、単語入力補完の辞書は文書拡張子のhtmlバージョンのものを参照しているように思います。
    そこを、編集モード切替かなにかでJavaScriptのほうの入力補完辞書に切り替えてもらえないかなーと思いまして。

    「html内にJavaScript書いてないで、外部ファイルで参照しろよ(笑)
    」「新規で.js文書つくって書き込んでから、html文書にコピペすれば?」と言われるならそれでも全然かまいませんが、編集モード切替でアウトラインが切り替わるのに、入力補完辞書は切り替わらないんだなぁと不思議に思ったので、ご相談させていただきました。

    もし、すでに入力補完の辞書を切り替える機能があるのなら教えていただければ幸いです。

    <まとめ>
    質問:入力補完で参照する辞書を切り替える方法はありますか?
    要望:切り替え手段がないのであれば、欲しいです。(なくても全然かまいません。あれば便利、程度です)

     よろしくおねがいします。

     |  めんそーれー・たむ  |  返信
  2. htmlと言っても、CSSやPHP(サーバー設定でhtmlで動かせたり)の記述もあったりと1ファイル内でその部分を認識してとなると難しいのでは無いでしょうか。
    Extディレクトリ内のjs.txtをhtml.txt内にコピペして利用するとかでしょうか。

     |  acky  |  返信
  3. > 編集モード切替によって、入力補完辞書も切り替えてほしい
    便乗で1票。 ノシ
    でも、 Ext フォルダ内の <拡張子名>.txt にヒモ付けされているので、影響が大きな仕様変更になってしまうのかしら?

    現状では編集中のファイルと異なる拡張子の構文を挿入するさいに不自由がありますし、同じ編集モードに割りあてされた複数の拡張子にあわせて入力補完候補辞書を複製しておかなければならないというのも無駄がありますので…

    Mery\(仮)Ext2\<モード名>.txt 

    があればそちらを優先的に参照するようなかたちで、現在の仕様を下地としたままユーザーが任意で用意した辞書を利用できるというのがよいとおもいます。
    そうしていただけると、拙作の構文ファイル Mery_Macro_JS に添付している js.txt のように自前でカスタマイズした入力補完辞書を使用しているユーザーにおいては、Mery 本体の更新インストールで辞書ファイルが上書きされてしまうことがなくなるのでうれしかったり。 :)
    ※そもそも編集モード名はユーザーが任意で変更できちゃうわけですから、デフォルトで辞書ファイルを用意していただくのは現状どおりのまま Ext\<拡張子名>.txt だけでよいかとおもいます。

     |  sukemaru  |  返信
  4. 便乗でさらに…

    ソースコード系のファイルの編集中にコメントセクションなどに日本語、英語などの平文・単語を挿入するさいなど、拡張子(または編集モード)に依らず共通で入力候補を追加できる辞書ファイル(e.g. "_AutoComp.txt" ※または "txt.txt" でもいいですが)というのもほしいです。
    → たとえば JavaScript の hoge.js ファイルの編集時には Ext\js.txt と Ext\_AutoComp.txt の両方から入力補完候補を参照できる とか。

     |  sukemaru  |  返信
  5. 横からですが、ackyさんの仰る

    > Extディレクトリ内のjs.txtをhtml.txt内にコピペして利用するとかでしょうか。

    これで問題は解決だと思います
    そうすれば編集モードを切り替える必要も無くなると思います

     |  シリル  |  返信
  6. うわー、ちょっと忙しくしていて見れなかった間に、皆様いろいろな返信ありがとうございます。質問しておきながら間が空いてしまって申し訳ありません。

    もしかしたら私が知らないだけで、辞書切り替え機能があるのではないかとも思ったので質問しました。私自身は困っているというほどではありません。あったら便利だなと思いましたが…。

    そうですね、皆さんの仰るとおり、辞書ファイルちゃんぽんにすれば解決ですね…。ありがとうございました。お騒がせいたしました。

     |  めんそーれー・たむ  |  返信
  7. はじめまして、Mery を開発している者です。

    Mery をお試しいただきありがとうございます。日記と JavaScript のお役に立てて良かったです。

    > 現在の仕様では、単語入力補完の辞書は文書拡張子のhtmlバージョンのものを参照しているように思います。

    Ext フォルダの中に、現在開いているファイルの拡張子と一致する辞書ファイルがあればそれが優先され、ない場合は [編集モード] に応じた辞書ファイルが選択されるようになっています。

    > 質問:入力補完で参照する辞書を切り替える方法はありますか?

    Ext フォルダの辞書ファイルの名前を変更することで可能です。

    拡張子が html のファイルを編集するのであれば、Ext フォルダの中の "html.txt" の名前を "htm.txt" に変更します。(ファイルの拡張子とは一致せず、編集モードの関連付けとは一致する名前に変更)

    こうしておけば、拡張子が html のファイルを編集するときに、[編集モード] を切り替えることで辞書ファイルを切り替えることができるようになります。

    acky さんのご指摘のとおり 1 ファイルの中で編集個所に応じて辞書ファイルを切り替えることは仕組み上、難しいです。

    例えば HTML ですと構文を解析してカーソル位置に応じて JavaScript や PHP、CSS などの辞書を切り替える仕組みが必要になりますが、そもそも HTML を編集しない人にとっては無駄にアプリが重くなるだけですからね。

    すべての編集モードごとに専用の補完方法を用意するのが一番なのですが、テキストエディタにそこまでの機能を実装するよりは、専用の開発環境をご利用いただいたほうが色々と効率的だと思います。

    みなさんのご意見は開発の参考にさせていただきますね。

     |  Kuro  |  返信
  8. > Ext フォルダの中に、現在開いているファイルの拡張子と一致する辞書ファイルがあればそれが優先され、ない場合は [編集モード] に応じた辞書ファイルが選択されるようになっています。

    > > 質問:入力補完で参照する辞書を切り替える方法はありますか?
    >
    > Ext フォルダの辞書ファイルの名前を変更することで可能です。
    >
    > 拡張子が html のファイルを編集するのであれば、Ext フォルダの中の "html.txt" の名前を "htm.txt" に変更します。(ファイルの拡張子とは一致せず、編集モードの関連付けとは一致する名前に変更)
    >
    > こうしておけば、拡張子が html のファイルを編集するときに、[編集モード] を切り替えることで辞書ファイルを切り替えることができるようになります。

    なるほど! そんな裏技があったのですね。
    この方法を試してみたら、辞書ファイル切り替えができました! ありがとうございます。

    > acky さんのご指摘のとおり 1 ファイルの中で編集個所に応じて辞書ファイルを切り替えることは仕組み上、難しいです。

    プログラミングにあまり詳しくない私でも、お話を聞いているととても面倒そうだと思いました。そこまで難しい機能の実装は求めません。Meryはどうか、軽やかなテキストエディタでいてください。

    ありがとうございました。

     |  めんそーれー・たむ  |  返信
スポンサーリンク