Configura el LSP con clangd

Segundo plano

Los editores como Emacs, Vim o VS Code admiten funciones como la navegación de código, la finalización de código, los mensajes de error del compilador intercalado, entre otras, a través de LSP, el protocolo de servidor de lenguajes. Un servidor de lenguaje común con compatibilidad con LSP es clangd, que depende de la presencia de compile_commands.json, un archivo JSON con un registro de los comandos de compilación para cada archivo de un proyecto.

¿Cómo genero compile_commands.json para el código fuente de XLA?

Usa la secuencia de comandos build_tools/lint/generate_compile_commands.py. La siguiente invocación desde la raíz del repositorio de XLA genera un archivo compile_commands.json en su lugar: bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py