機能追加要望:強調表示の各項目ごとに「No.11087
でるもんたいいじま さん 22/12/17 18:46
 
でるもんた・いいじまです。

強調表示設定で、「キーワード1項目の内容をコピー」あるいは「既存の項目の内容
を下敷きにして新しいキーワードを追加」といった機能があればいいなと思っていま
す。

※ここでいう「キーワード1項目」とは、「強調表示文字列のプロパティ」の画面1枚
分のデータ、たとえば
 文字列(S):(?<![#$%\\&@])warn
 検索方法:
  [レ]大文字/小文字の区別(C)
  [レ]単語の検索(W)
  [レ]正規表現(R)
 表示方法(V):強調表示3
といった内容1セットです。たぶん、「*.hilight ファイルのデータ1行分」と同義だ
と思います。

☆ ☆ ☆

というのも現在、色々な言語のファイルを扱うために、自力で色々と強調表示キー
ワードを追加する作業を日々続けています。
cf. http://e231.tokyo/@/hidemaru/20221217-keywords-per-filetype-perl.gif

その際、上記の例のように少々厄介な正規表現を使っているもの(たとえばこの例で
は、組み込み関数 warn は強調対象にするけど $warn や &warn などは対象外、とい
う意図で前方不一致指定がついています)の仲間を増やそうとしたとき、まず最初に
既存のキーワードを開いて、文面をコピーしてからダイアログを閉じ、それからやっ
と「追加(I)」ボタン、という作業が非常に面倒です。

そこでたとえば、一覧画面の
  「(?<![#$%\\&@])warn 正規表現,単語 強調3」
という行を選択した状態で何か簡単な操作をすればそれを元に新しいキーワード項目
が追加できる、という機能をご検討いただけないでしょうか。

☆ ☆ ☆

具体的な実装としては今のところ、下記のような内容を期待しています。

(1) 全く同じ内容がリスト内に複数存在すると問題が起きるかもしれないので、新し
く作るほうではキーワードの末尾に特定の文字列を付加する。
新しく作ったほうは「その後すぐ編集する」ということが前提なので、分かりやすさ
重視で、たとえば上記の例を機械的に「(?<![#$%\\&@])warn *** Copy ***」として
しまっても構わないと思います。
(「*** Copy ***」付きでそれ以外は全く同内容、という項目が既に存在する場合は
「*** Copy #2 ***」のように適宜番号を打つ。)

(2) 操作方法は、たとえば一覧の右側に「コピーを追加(C)」といった名前のボタン
を追加して(日本語表記とショートカットキーは要検討)、それを押したら一覧に新
しい項目が追加されるか、あるいは、コピー元のパラメーター一式を反映した状態で
追加用のダイアログウィンドウが表示されるか、そのどちらかとする。

☆ ☆ ☆

以上、よろしくご検討のほどお願いします。

[ ]
RE:11087 機能追加要望:強調表示の各項目No.11090
秀丸担当 さん 22/12/19 12:23
 
強調表示の設定画面上でコピーできたらいいかもしれません。
ご意見参考にさせていただきます。

現状では、hilightファイルを編集するとやりやすいです。
hilightファイルは最初にフラグがあって、区切りとなるカンマ以降は生の文字列が
書けるので、正規表現もエスケープなしでそのまま編集できます。
以前はフラグの部分が数値だけでしたが、今はアルファベット一文字の指定や、日本
語のフレンドリーな指定もできるようになっています。
詳細はマクロヘルプのloadhilightのところにあります。
[その他]→[ファイルタイプ別の設定]→[デザイン]→[強調表示]の[メニュー(E)>>]
からhilightファイル直接指定モードにすると、設定画面を使わず常にhilightファイ
ルだけで使えるようになります。

[ ]