Allow trailing commas in builtin JSONC schemas (#43854)

The JSON language server looks for a top-level `allowTrailingCommas`
flag to decide whether it should warn for trailing commas. Since the
JSONC parser for these builtin files can handles trailing commas, adding
this flag to the schema also prevents a warning for those commas.

I don't think there's an issue that is only for this specific issue, but
it relates to *many* existing / older issues:
- #18509
- #17487
- #40970
- #18509
- #21303

Release Notes:

- Suppress warning for trailing commas in builtin JSON files
(`settings.json`, `keymap.json`, etc.)
This commit is contained in:
Ian Chamberlain
2025-12-04 15:37:32 -05:00
committed by GitHub
parent 43f977c6b9
commit cd8679e81a
6 changed files with 28 additions and 4 deletions
+1
View File
@@ -357,6 +357,7 @@ impl DebugTaskFile {
"$schema": meta_schema,
"title": "Debug Configurations",
"description": "Configuration for debug scenarios",
"allowTrailingCommas": true,
"type": "array",
"items": {
"type": "object",
+2 -1
View File
@@ -4,7 +4,7 @@ use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256};
use std::path::PathBuf;
use util::schemars::DefaultDenyUnknownFields;
use util::schemars::{AllowTrailingCommas, DefaultDenyUnknownFields};
use util::serde::default_true;
use util::{ResultExt, truncate_and_remove_front};
@@ -118,6 +118,7 @@ impl TaskTemplates {
pub fn generate_json_schema() -> serde_json::Value {
let schema = schemars::generate::SchemaSettings::draft2019_09()
.with_transform(DefaultDenyUnknownFields)
.with_transform(AllowTrailingCommas)
.into_generator()
.root_schema_for::<Self>();