clangd
Clang language server daemon
.clangd.clangd.yml.clangd.yaml**/clangd/config.yaml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
.clangd and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
If | object | Conditions https://clangd.llvm.org/config.html#if |
If.PathMatch | oneOf | — |
If.PathExclude | oneOf | — |
CompileFlags | object | Flag lists to be added or removed https://clangd.llvm.org/config.html#compileflags |
CompileFlags.Add | oneOf | — |
CompileFlags.Remove | oneOf | — |
CompileFlags.CompilationDatabase | oneOf | A directory to search for compilation database https://clangd.llvm.org/config.html#compilationdatabase default: "Ancestors" |
CompileFlags.Compiler | string | An `argv[0]` replacement https://clangd.llvm.org/config.html#compiler |
CompileFlags.BuiltinHeaders | string | Whether Clangd should include its own built-in headers (like stddef.h), or use the system header found from the query driver. default: "Clangd"one of: "Clangd", "QueryDriver" |
Index | object | Code interpretation outside of the current file |
Index.Background | string | Whether to produce a project index from files built in the background https://clangd.llvm.org/config.html#background default: "Build"one of: "Build", "Skip" |
Index.External | oneOf | An external index source https://clangd.llvm.org/config.html#external |
Index.StandardLibrary | boolean | Whether to index a standard library https://clangd.llvm.org/config.html#standardlibrary default: true |
Style | object | A code base style https://clangd.llvm.org/config.html#style |
Style.FullyQualifiedNamespaces | array<string> | List of fully qualified namespaces https://clangd.llvm.org/config.html#fullyqualifiednamespaces |
Style.QuotedHeaders | array<string> | A list of regexes. Headers whose path matches one of these regexes are inserted using "" syntax https://clangd.llvm.org/config#quotedheaders |
Style.AngledHeaders | array<string> | A list of regexes. Headers whose path matches one of these regexes are inserted using <> syntax. https://clangd.llvm.org/config#angledheaders |
Diagnostics | object | Diagnostics https://clangd.llvm.org/config.html#diagnostics |
Diagnostics.Suppress | oneOf | Diagnostic codes that to be suppressed https://clangd.llvm.org/config.html#suppress |
Diagnostics.ClangTidy | object | Clang-Tidy options https://clangd.llvm.org/config.html#clangtidy |
Diagnostics.ClangTidy.Add | oneOf | — |
Diagnostics.ClangTidy.Remove | oneOf | — |
Diagnostics.ClangTidy.CheckOptions | object | Check's options https://clangd.llvm.org/config.html#checkoptions |
Diagnostics.ClangTidy.FastCheckFilter | string | Whether to run clang-tidy checks that may slow down clangd. https://clangd.llvm.org/config.html#fastcheckfilter default: "Strict"one of: "Strict", "Loose", "None" |
Diagnostics.UnusedIncludes | string | Whether to enable Include Cleaner's unused includes diagnostics https://clangd.llvm.org/config.html#unusedincludes default: "Strict"one of: "None", "Strict" |
Diagnostics.Includes | object | — |
Diagnostics.Includes.IgnoreHeader | array<string> | A list of regexes. Include Cleaner will not produce diagnostics for headers whose path is a suffix match for any of these https://clangd.llvm.org/config.html#ignoreheader |
Diagnostics.Includes.AnalyzeAngledIncludes | boolean | Enables/disables detection of unused angled includes that are not from the Standard Library. Disabled by default to avoid false-positives caused by umbrella headers https://clangd.llvm.org/config.html#analyzeangledincludes default: false |
Diagnostics.MissingIncludes | string | Whether to enable Include Cleaner's missing includes diagnostics https://clangd.llvm.org/config.html#missingincludes default: "None"one of: "None", "Strict" |
Completion | object | Completion options https://clangd.llvm.org/config.html#completion |
Completion.AllScopes | boolean | Whether to include suggestions from scopes that are not visible https://clangd.llvm.org/config.html#allscopes |
Completion.ArgumentLists | string | Determines what is inserted in argument list position when completing a call to a function https://clangd.llvm.org/config#argumentlists default: "FullPlaceholders"one of: "None", "OpenDelimiter", "Delimiters", "FullPlaceholders" |
Completion.HeaderInsertion | string | Whether to add #include directives when accepting code completions. Config equivalent of the CLI option --header-insertion. default: "IWYU"one of: "IWYU", "Never" |
Completion.CodePatterns | string | Change how completion will suggest code snippets and code patterns. default: "All"one of: "All", "None" |
Completion.MacroFilter | string | Controls whether exact or fuzzy matching is used to decide which macro symbols to offer during code completion. https://clangd.llvm.org/config.html#macrofilter default: "ExactPrefix"one of: "ExactPrefix", "FuzzyMatch" |
InlayHints | object | Inlay-hints options https://clangd.llvm.org/config.html#inlayhints |
InlayHints.Enabled | boolean | Whether to enable inlay-hints https://clangd.llvm.org/config.html#enabled |
InlayHints.ParameterNames | boolean | Whether to enable inlay-hints for parameter names in function calls https://clangd.llvm.org/config.html#parameternames |
InlayHints.DeducedTypes | boolean | Whether to enable inlay-hints for deduced types https://clangd.llvm.org/config.html#deducedtypes |
InlayHints.Designators | boolean | Whether to enable inlay-hints for designators in aggregate initialization https://clangd.llvm.org/config.html#designators |
InlayHints.BlockEnd | boolean | A boolean that enables/disables inlay-hints for block end comments https://clangd.llvm.org/config.html#blockend |
InlayHints.DefaultArguments | boolean | A boolean that enables/disables inlay hints for default arguments https://clangd.llvm.org/config#defaultarguments |
InlayHints.TypeNameLimit | number | Character limit for type hints. Hints that would be longer are not shown. 0 means no limit. https://clangd.llvm.org/config.html#typenamelimit |
Hover | object | Hover card's options https://clangd.llvm.org/config.html#hover |
Hover.ShowAKA | boolean | Whether to display desugared types https://clangd.llvm.org/config.html#showaka |
Hover.MacroContentsLimit | number | Character limit for hovered macro expansions. Expansions that would be longer are not shown. https://clangd.llvm.org/config.html#macrocontentslimit default: 2048 |
SemanticTokens | object | Configure semantic highlighting https://clangd.llvm.org/config.html#semantic-tokens |
SemanticTokens.DisabledKinds | array<string> | Specify semantic token kinds that clangd should not send to client https://clangd.llvm.org/config.html#disabledkinds |
SemanticTokens.DisabledModifiers | array<string> | Specify semantic token modifiers that clangd should not send to client https://clangd.llvm.org/config.html#disabledmodifiers |
Documentation | object | Specify server side documentation code comment interpretation. Affects the format of the documentation string sent to the client for hover and code completions. https://clangd.llvm.org/config.html#documentation |
Documentation.CommentFormat | string | Determines the comment format of code documentation. https://clangd.llvm.org/config.html#commentformat default: "Plaintext"one of: "Plaintext", "Markdown", "Doxygen" |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- Has 9 place(s) where keywords sit beside
$ref. Under draft-07 those keywords are silently ignored by every conforming validator — first at#/definitions/oneOrMorePath/oneOf/0. - Uses non-standard keywords that generic validators ignore:
annotations. - 54 properties, 98% carrying a description, max nesting depth 9.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
anyOf | JSON Schema Core, draft 2020-12 | §10.2.1.2 — "anyOf" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
examples | JSON Schema Validation, draft 2020-12 | §9.5 — "examples" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
minLength | JSON Schema Validation, draft 2020-12 | §6.3.2 — "minLength" |
oneOf | JSON Schema Core, draft 2020-12 | §10.2.1.3 — "oneOf" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
uniqueItems | JSON Schema Validation, draft 2020-12 | §6.4.3 — "uniqueItems" |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.