ccls白名单,黑名单使用疑问

如下所示将黑名单设为全部,白名单是我想索引的目录。

(setq ccls-initialization-options '(:index (:comments 0 :blacklist (“.*”) :whitelist (“.*/cfdg/.*”))))

结果白名单是生效了,但是cfdg目录里面的文件如果包含非白名单目录的文件时,将无法正常跳转到图中的getb函数。看.ccls-cache目录里也是只有白名单目录的文件才有索引生成,其他各种外部文件都没有索引生成

cquery的话这样使用白名单并没有这样的问题

Expected behavior. 匹配index.blacklist,但不匹配index.whitelist的檔案的索引不會保留。getb定義在incf.hh中,因此它的定義找不到。

考慮使用index.initialBlacklisthttps://github.com/MaskRay/ccls/wiki/Customization#indexinitialblacklist

另外,lsp-initializatoin-options中JSON array用[],不要用(): (setq ccls-initialization-options '(:index (:comments 0 :blacklist ["."] :whitelist ["/cfdg/"]))

我改成这样就好了

(setq ccls-initialization-options '(:index (:comments 0 :initialBlacklist [".*"] :initialWhitelist [".*/cfdg/.*"])))

1 个赞