Tôi đang sử dụng chế độ công ty để hoàn thành mã C ++. Để nói với phụ trợ clang của công ty, nơi các tệp bao gồm cho dự án hiện tại là tôi phải sử dụng .dir-locals.el
tệp sau
((c++-mode (eval setq company-clang-arguments (append
company-clang-arguments
'("-I/full/path/to/project/root/include"))))
Tôi phải chỉ định đường dẫn đầy đủ luôn. Có cách nào để thay thế full/path/to/project/root
bằng một biến lưu trữ đường dẫn của .dir-locals.el
tệp không?
Tôi đã thử
(c++-mode (eval setq company-clang-arguments (append
company-clang-arguments
(list concat "-I" default-directory "src")))))
nhưng vì default-directory
được đánh giá trong tệp mà tôi đang mở nên nó không quay trở lại đường dẫn gốc của dự án mà là một số đường dẫn khác bên trong dự án.
(locate-dominating-file default-directory ".dir-locals.el")
cũng có thể là một tùy chọn, thậm chí có thể viết tắt thành một hàm.