0

同僚が書いたプリプロセッサで動作するようにFortranメジャーモードを変更しようとしています。プリプロセッサディレクティブはすべて「。」で始まります。

例えば:

.set

.macro

Cと同様の機能#define

これまでのところ、私は持っています:

(font-lock-add-keywords 'fortran-mode
 '(("\\<\\(set\\|macro\\|endmacro\\)\\>" . font-lock-preprocessor-face)))

残念ながら、これは「。」を強調していません。これが望ましいです。また、パターンは、行の先頭に表示される場合にのみ一致する必要があります。私はもう試した:

(font-lock-add-keywords 'fortran-mode
 '(("\\<\\(^\.set\\|^\.macro\\|^\.endmacro\\)\\>" . font-lock-preprocessor-face)))

しかし、それはうまくいきませんでした。

この正規表現を一致させる方法についてのヘルプをいただければ幸いです。

4

2 に答える 2

0

\\.むしろそれを使用する必要があります^\.。二重スラッシュはバックスラッシュの特別な意味をエスケープして文字列を作成しますが\.^後者の場合は特別な意味はありません。

于 2011-12-13T17:16:09.840 に答える
0

これを試して:"^\\s-*\\.\\(set\\|macro\\|endmacro\\)\\>"

于 2011-12-13T18:23:50.793 に答える