私はいくつかのJavaコードを持っています
@Subscribe
public void catchEvent(SomeEvent
そして、 ~/.ctags でこのようなものと一致させたい
--langdef=javaspring
--langmap=javaspring:.java
--regex-javaspring=/@Subscribe(\s)*([a-z ]+)\s([a-zA-Z]*)\(([a-zA-Z]*)/\3-\4/
これにより、「catchEvent-SomeEvent」のようなものが生成されるはずですが、生成されません。@Subscribe と public void の間の改行を削除すると、取得されます。
@Subscribe public void catchEvent(SomeEvent
rm -rf tags && ctags -R . && cat tags|grep Subs
catchEvent-SomeEvent PathToMyFile.java /^@Subscribe public void catchEvent(SomeEvent event) {$/;" r
このように行頭/行末を使ってみました
--regex-javaspring=/^\s*@Subscribe[a-z \s]+\s([a-zA-Z]+)\(([a-zA-Z]+).*$/@Subscribe \1 \2*/
現在の ctag 実装でこれを行うことができるかどうか、何か考えはありますか? 何か間違っているのでしょうか、それとも ctags は複数行の正規表現をサポートしていませんか?
ありがとうございました!