git-diff 报告包含更改的直接函数名称,如下所示:
$ git diff
diff --git a/apps/cli/elmo.py b/apps/cli/elmo.py
index ac056e9..1b7c1d0 100644
--- a/myfile.c
+++ b/myfile.c
@@ -100,12 +106,20 @@ int myioctl(unsigned int cmd, int size, int direction, unsigned long arg
rc = myfunc1(ioargp);
break;
- case IOCTL_1:
- rc = myfunc1(ioargp);
+ case IOCTL_2:
+ rc = myfunc2(arg);
break;
有没有办法让 grep 报告匹配的函数上下文,类似于 git-diff (即,@@ int myioctl(...) 在上述情况下)?或者是否有一些 grep 的替代工具,其行为类似于 grep 但也会报告函数上下文?
我经常 grep 通过源代码,知道包含匹配行的函数很有帮助,而无需打开文件并查找特定的模式或行号。
谢谢!