Estoy usando el modo empresa para completar en código C ++. Para decirle al clang backend de la compañía dónde están los archivos de inclusión para el proyecto actual, tengo que usar el siguiente .dir-locals.el
archivo
((c++-mode (eval setq company-clang-arguments (append
company-clang-arguments
'("-I/full/path/to/project/root/include"))))
Tengo que especificar la ruta completa siempre. ¿Hay alguna manera de reemplazar full/path/to/project/root
con una variable que almacena la ruta del .dir-locals.el
archivo?
Lo intenté
(c++-mode (eval setq company-clang-arguments (append
company-clang-arguments
(list concat "-I" default-directory "src")))))
pero como default-directory
se evalúa en el archivo que estoy abriendo, no vuelve a la ruta de acceso de la raíz del proyecto sino a otra ruta dentro del proyecto.
(locate-dominating-file default-directory ".dir-locals.el")
También puede ser una opción, tal vez incluso abreviado en una función.projectile-project-root
hace. Gracias por el consejo..dir-locals.el
, no el que proviene del formulario.dir-locals-file
variable en lugar de la cadena ".dir-locals.el" es más apropiado