diff --git a/assets/settings/default.json b/assets/settings/default.json index a3d95591dc3a54547a39be19cd4861bbf7d7d99b..f695fd79653f69c40f875fa00cf2b3c572789810 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -131,14 +131,7 @@ // The default number of lines to expand excerpts in the multibuffer by. "expand_excerpt_lines": 3, // Globs to match against file paths to determine if a file is private. - "private_files": [ - "**/.env*", - "**/*.pem", - "**/*.key", - "**/*.cert", - "**/*.crt", - "**/secrets.yml" - ], + "private_files": ["**/.env*", "**/*.pem", "**/*.key", "**/*.cert", "**/*.crt", "**/secrets.yml"], // Whether to use additional LSP queries to format (and amend) the code after // every "trigger" symbol input, defined by LSP server capabilities. "use_on_type_format": true, @@ -758,6 +751,11 @@ "allowed": true } }, + "JSONC": { + "prettier": { + "allowed": true + } + }, "Markdown": { "format_on_save": "off", "prettier": { diff --git a/crates/prettier/src/prettier.rs b/crates/prettier/src/prettier.rs index 214ef48d3fbc6d2e175119301b14f84200c34bca..669072e1550da4942f28dc4408166681c4887d44 100644 --- a/crates/prettier/src/prettier.rs +++ b/crates/prettier/src/prettier.rs @@ -317,11 +317,14 @@ impl Prettier { }) .collect(); - let prettier_parser = prettier_settings.parser.as_deref().or_else(|| buffer_language.and_then(|language| language.prettier_parser_name())); + let mut prettier_parser = prettier_settings.parser.as_deref(); + if buffer_path.is_none() { + prettier_parser = prettier_parser.or_else(|| buffer_language.and_then(|language| language.prettier_parser_name())); + if prettier_parser.is_none() { + log::error!("Formatting unsaved file with prettier failed. No prettier parser configured for language {buffer_language:?}"); + return Err(anyhow!("Cannot determine prettier parser for unsaved file")); + } - if prettier_parser.is_none() && buffer_path.is_none() { - log::error!("Formatting unsaved file with prettier failed. No prettier parser configured for language {buffer_language:?}"); - return Err(anyhow!("Cannot determine prettier parser for unsaved file")); } log::debug!(