1 件の投稿を表示中 (合計 4 個)
  • 作成者
    投稿
  • #28726
    jinsei
    参加者

    C++11でRaw string literalsと呼ばれる「R”(hoge)”」形式で”をエスケープしなくていいリテラル定義が可能になっています。
    http://program.station.ez-net.jp/special/handbook/cpp/syntax/raw-string.asp
    https://cpprefjp.github.io/lang/cpp11/raw_string_literals.html

    rubyでは%qを使った記述があります「%q(Programming language “#{ruby}”)」
    https://www.javadrive.jp/ruby/string/index3.html
    https://docs.ruby-lang.org/ja/latest/doc/spec=2fliteral.html#string

    EmEditorの設定を見ても文字列は” or “”しかなさそうです。
    何か設定する術があるのでしょうか?
    無ければ機能追加を希望します。

    #28756
    Yutaka Emura
    キーマスター

    jinsei 様

    強調文字列またはマーカーで、正規表現で

    R"(.*?)"

    と指定すればこのような文字列を違う色で表示することは可能です。

    お試しいただければ幸いです。

    よろしくお願い申し上げます。

    #28757
    jinsei
    参加者

    回答ありがとうございます。
    残念ながらうまくいきませんでした。
    問題は2点ありそうです。

    ・「強調(2)」の設定で「”」を許可していると、そちらが優先されて正規表現パースに失敗するようです。
     設定OFFにすると意図通り強調されましたが、ここはONのままで使いたいです。

    ・リテラル中に改行を含む場合は強調表示できませんでした。
     試しに検索ダイアログの「高度→正規表現「.」が改行に一致できる」にチェックを入れましたが、強調表示には効かないようです。

    補足:
    正規表現ですがカッコはエスケープが必要ですので「R”\(.*?\)”」として確認しています。

    #28760
    Yutaka Emura
    キーマスター

    jinsei 様

    強調文字列またはマーカーで、正規表現で

    ".*?"

    というのを作成して、これを「強調(2)」の設定の「”」の代わりに使用するという方法もあると思います。

    また、改行を含む文字列は強調できないようになっています。

    将来的に、生文字列リテラルの強調表示は検討いたします。

    よろしくお願い申し上げます。

1 件の投稿を表示中 (合計 4 個)
  • このトピックに返信するにはログインしてください。