Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
ccls
C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting
Both servers need a compilation database compile_commands.json in order to populate and read symbols and locations, as well as flags and configurations. Some build generators like CMake and Meson are able to produce these files (cmake . -DCMAKE_EXPORT_COMPILE_COMMANDS=1 for the first and automatically for the latter). If you aren't using such a system and using, for example, plain Makefiles, you will need a tool like Build EAR to produce the compilation database.
The first step is choosing whether to use the eglot or lsp package for your LSP client. After choosing this, you will need an actual LSP server installed. The two main (and best) contenders are ccls and clangd. For both the client and the server, the choice you make is personal, and it's quite easy to switch between them, considering a simple configuration.
The first step is choosing whether to use the eglot or lsp package for your LSP client. After choosing this, you will need an actual LSP server installed. The two main (and best) contenders are ccls and clangd. For both the client and the server, the choice you make is personal, and it's quite easy to switch between them, considering a simple configuration.
The first step is choosing whether to use the eglot or lsp package for your LSP client. After choosing this, you will need an actual LSP server installed. The two main (and best) contenders are ccls and clangd. For both the client and the server, the choice you make is personal, and it's quite easy to switch between them, considering a simple configuration.
The first step is choosing whether to use the eglot or lsp package for your LSP client. After choosing this, you will need an actual LSP server installed. The two main (and best) contenders are ccls and clangd. For both the client and the server, the choice you make is personal, and it's quite easy to switch between them, considering a simple configuration.
As for the Emacs configuration, you should only need a few lines of code, in order to get them up and running, if you are planning to keep your setup as close to vanilla as possible. If you are interested, you could additionally install a completion framework like company-mode to help you out.