我有一些 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不支持多行正则表达式吗。
谢谢!