我想扩展(而不是替换)C文件的默认diff头模式。根据这篇文章:
您将不得不提取内置值(令人烦恼的是,即使不查看源代码也无法获得内置值),然后在配置文件中重复执行。
但是,内置值在C中看起来像这样:
PATTERNS("cpp",
/* Jump targets or access declarations */
"!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\n"
/* functions/methods, variables, and compounds at top level */
"^((::[[:space:]]*)?[A-Za-z_].*)$",
/* -- */
"[a-zA-Z_][a-zA-Z0-9_]*"
"|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*"
"|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*"),
Run Code Online (Sandbox Code Playgroud)
我不确定如何在.gitconfig文件中呈现。
我试过了
xfuncname = "(!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\n)|(^((::[[:space:]]*)?[A-Za-z_].*)$\n)|([a-zA-Z_][a-zA-Z0-9_]*)|([-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*)|([-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*)"
Run Code Online (Sandbox Code Playgroud)
这给了我fatal: Invalid regexp to look for hunk header: (!^[ ]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])跑步的时间git diff。
反斜杠加倍也不起作用:
xfuncname = "(!^[ \\t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\\n)|(^((::[[:space:]]*)?[A-Za-z_].*)$\\n)|([a-zA-Z_][a-zA-Z0-9_]*)|([-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*)|([-+*/<>%&^|=!]=|--|\\\\+\\\\+|<<=?|>>=?|&&|\\\\|\\\\||::|->\\\\*?|\\\\.\\\\*)"
Run Code Online (Sandbox Code Playgroud)
没有错误,但diff头为空,即,它不匹配任何内容。
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |