Configura el LSP con clangd

Información general

Los editores, como Emacs, Vim o VS Code, admiten funciones como la navegación de código, la finalización de código y 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 compatible con LSP es clangd, que se basa en 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 de la raíz del repositorio de XLA genera un archivo compile_commands.json: bash bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | \ python3 build_tools/lint/generate_compile_commands.py.