让 source insight 识别出 非标准的函数实现
2018-01-12
1. 问题
drbd-8.4中有如下代码
BIO_ENDIO_TYPE drbd_request_endio BIO_ENDIO_ARGS(struct bio *bio, int error)
{
具体实现略
}
这里 drbd_request_endio
不会被source insight当成函数名.
2. 处理
source insight版本4.0
option- file type option -
左侧file type 选 c/c++ source file, 右侧 parsing, language...
弹出的对话框中,
左侧选 c/c++ language, 右侧点击 properties...
弹出的对话框中,
标签页 custom parsing
打钩 Enable expressions below for parsing
Regular expression pattern:
填写
BIO_ENDIO_TYPE\w+\(.*\)\w+BIO_ENDIO_ARGS
Regular expression syntax: 选Source Insight
Finds this symbol type: 选 function 如图所示:
3. 效果
f7 输入 drbd_request_endio
, 可以定位到该函数的实现.
4. 附上元字符
和vim之类的工具 不太一样. 如下:
\s matches a single space character.
\w matches a single white space character. In other words, \w matches either a tab or space character.
本文地址: https://awakening-fong.github.io/posts/tools/source_insight_custom_parsing
转载请注明出处: https://awakening-fong.github.io
若无法评论, 请打开JavaScript, 并通过proxy.
blog comments powered by Disqus