I use Helix Editor and by default it uses clangd as LSP server.

But when I use “newer” C++20 features I get warning messages in the editor that they are only available in “later” C++ versions or I get straight up error messages.

So how do I tell clangd that I am writing C++20 code? I am guessing passing an argument (-std=c++20) or creating a “project properties” file…

This is the Helix Editor configuration file, languages.toml:

[[language]]
name = "cpp"
language-server = { command = "clangd", args = [] }
auto-format = true

Please let me know the right way to do it.

You are viewing a single thread.
View all comments View context
3 points

This, .clangd, file in the root of the project directory worked:

CompileFlags:
  Add: [-std=c++20]

Thank you!

permalink
report
parent
reply

C++

!cpp@programming.dev

Create post

The center for all discussion and news regarding C++.

Rules

  • Respect instance rules.
  • Don’t be a jerk.
  • Please keep all posts related to C++.

Community stats

  • 24

    Monthly active users

  • 264

    Posts

  • 537

    Comments