I realize there are a number of questions surrounding this topic, but I'm trying use a global function that I've written inside a project
Specifically, I wrote a function to add a series of include paths to the
company-clang-arguments variable. I simply want to call this function (which returns a list of strings), and add it to
This is what I am attempting to do:
((nil . ((company-clang-arguments . (eval (company-clang-header-paths "/path/to/compile_commands.json"))))))
I know that
company-clang-header-paths correctly returns a list
("-I/path/one -I/path/two") when I evaluate it in another buffer.
I also know that I am able to use
dir-locals.el manually like so:
((nil . ((company-clang-arguments . ("-I/a/b" "-I/c/d")))))
I realize this may be a newbie question, but I'm struggling to understand the evaluation context. The
. operator cons the list together, but I'm a bit lost on how to evaluate this function and return the list.
I keep running into errors that tell me I'm providing the wrong type:
Wrong type argument: stringp, eval
Obviously, I've tried playing around, but I always get
Wrong type argument: stringp, <something>, where
<something> is the thing I tried.
If anyone could help me out, I'd appreciate it. Thanks.
((nil . ((eval . (setq company-clang-arguments (company-clang-header-paths "/path/to/compile_commands.json")))))), as
evalis one of the special variables.