Help a Linux kernel dev setup LSP

This page summarizes the projects mentioned and recommended in the original post on /r/emacs

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Bear

    Bear is a tool that generates a compilation database for clang tooling.

  • 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.

  • clangd

    clangd language server

  • 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.

  • 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.

    WorkOS logo
  • eglot

    A client for Language Server Protocol servers

  • 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.

  • ccls

    C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting

  • 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.

  • lsp-mode

    Emacs client/library for the Language Server Protocol

  • 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.

  • company-mode

    Modular in-buffer completion framework for Emacs

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts