FreenodeでGeany の開発者からサポートを受けましたが、とても役に立ちました。彼らが私に言ったことは次のとおりです。
文書化された RE 構文は、Geany によって直接使用される RE エンジン (検索など) にのみ適用されますが、ファイル内検索機能は、独自の構文を持つ grep ツール (設定 -> ツール -> grep で構成) を呼び出します。GNU grep の場合、ダイアログの「追加オプション」フィールドに「-P」を追加できます。
ただし、試した後、次のエラーが発生しました。
/bin/grep: 競合するマッチャーが指定されました
... これは Geany のバグだと言われました。Geany は を呼び出しgrep -E
、-P
それと互換性がありません。
唯一の回避策は、grepを呼び出すシェル スクリプトを-P
の代わりに-E
使用し、このスクリプトを使用することです。Geany 設定で呼び出すように grep ツールを構成できるはずです。
上記のシェルスクリプトの例:
#!/bin/sh
matchopts=$(echo "$1" | tr E P)
shift
exec grep $matchopts "$@"
Geany はgrep にor (これらは POSIX grep で利用可能な唯一のエンジンです) を使用します-F
-E
-P
。
Geany 開発者にバグを報告しました。