zoukankan      html  css  js  c++  java
  • ctags的--exclude选项

    起因

    tags --exclude=./src/isa/riscv32, 发现加了./就不起作用(也就是说目录下文件还是会被tag).
    man ctags, 看到是pattern.

    试验

    /Users/quebec/Playground/play/a/b/c目录下有main.c
    内容:

    #include <stdio>
    
    int main() {
    }
    

    现在在play下. 用比如ctags -R --exclude=c这样的命令测试. 结果如下. 起作用的意思就是没有被tag, 不起作用就是能找到main tag.

    c, 起作用
    b/c, 不起作用
    b, 起作用
    *b/c, 起作用
    c/*, 不起作用
    /Users/quebec/Playground/play/a/b/c/*, 不起作用
    a/b/c/*, 起作用
    b, 起作用
    

    推测

    据此结果, 猜测其机制为:

    1. 必须是完整匹配, 可以有通配符*, ?之类的. 和gitignore不同的是, *也能匹配..
    2. 会匹配的路径是要么是这个节点(目录或者文件, 由于inode所以把它称为节点)的name, 要么是它相对于当前目录的路径, 相对路径中不包括..

    比如, 递归进入目录a后, 发现有目录b, 那么要匹配的目标字符串为a, a/b(而不是绝对路径), 如果匹配成功, 此目录不再进入.

    解释结论

    1, 3. c, c与目录c的节点名匹配, 不再进入, 起作用, 3和1的道理相同
    2, 4, 5. b/c, 根据1必须是完整匹配, 如果加上*, 就像4那样, 起作用
    6. 前面说了, 目标字符串不是绝对路径, 因此匹配不上不起作用
    7. 根据2, 起作用
    8, 根据2, 起作用

  • 相关阅读:
    C#项目完成PDF文件增加印章操作可指定印章位置
    webBrowser1加载本地文件
    转义示例
    动态调用WebService服务
    C#调用WSDL接口
    VS 控件命名规范
    正则判断是否是数字
    怎么让 arcgis 4 弹出窗 漂亮 支持多个弹出窗 支持vue或者react
    关于arcgis 会主动添加https头的问题
    arcgis 4 整合 d3 实现动画
  • 原文地址:https://www.cnblogs.com/Tokubara/p/15213969.html
Copyright © 2011-2022 走看看