diff --git a/.github/ISSUE_TEMPLATE/formatting.md b/.github/ISSUE_TEMPLATE/formatting.md
index fa46e7a0d..9fdb15549 100644
--- a/.github/ISSUE_TEMPLATE/formatting.md
+++ b/.github/ISSUE_TEMPLATE/formatting.md
@@ -26,7 +26,7 @@ Don't fill the form below manually! Let a program create a report for you:
-->
-**Prettier 3.9.3**
+**Prettier 3.9.4**
[Playground link](https://prettier.io/playground/#.....)
```sh
diff --git a/.github/ISSUE_TEMPLATE/integration.md b/.github/ISSUE_TEMPLATE/integration.md
index a917eafcf..1281985d4 100644
--- a/.github/ISSUE_TEMPLATE/integration.md
+++ b/.github/ISSUE_TEMPLATE/integration.md
@@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE:
**Environments:**
-- Prettier Version: 3.9.3
+- Prettier Version: 3.9.4
- Running Prettier via:
- Runtime:
- Operating System:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 794b314db..006c2fffc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,45 @@
+# 3.9.4
+
+[diff](https://github.com/prettier/prettier/compare/3.9.3...3.9.4)
+
+#### Angular: Format `@content(name)` -> `@content (name)` to align with other block syntax ([#19499](https://github.com/prettier/prettier/pull/19499) by [@fisker](https://github.com/fisker))
+
+
+```html
+
+
+ @content (icon) {
+ Icon!
+ }
+ @content (description) {
+ Description text
+ }
+ Other children
+
+
+
+
+ @content(icon) {
+ Icon!
+ }
+ @content(description) {
+ Description text
+ }
+ Other children
+
+
+
+
+ @content (icon) {
+ Icon!
+ }
+ @content (description) {
+ Description text
+ }
+ Other children
+
+```
+
# 3.9.3
[diff](https://github.com/prettier/prettier/compare/3.9.1...3.9.3)
diff --git a/package.json b/package.json
index 7068170f5..80d5bfc7f 100644
--- a/package.json
+++ b/package.json
@@ -182,7 +182,7 @@
"node-style-text": "2.1.2",
"npm-run-all2": "9.0.2",
"open-editor": "6.0.0",
- "prettier": "3.9.3",
+ "prettier": "3.9.4",
"pretty-bytes": "7.1.0",
"pretty-ms": "9.3.0",
"puppeteer": "25.2.1",
diff --git a/src/language-html/print/angular-control-flow-block.js b/src/language-html/print/angular-control-flow-block.js
index 95eafa604..6281a5c1b 100644
--- a/src/language-html/print/angular-control-flow-block.js
+++ b/src/language-html/print/angular-control-flow-block.js
@@ -10,8 +10,6 @@ import { hasPrettierIgnore } from "../utilities/index.js";
import { ANGULAR_CONTROL_FLOW_BLOCK_SETTINGS } from "./angular-control-flow-block-settings.evaluate.js";
import { printChildren } from "./children.js";
-const blocksShouldNotPrintSpaceAfterName = new Set(["content"]);
-
function printAngularControlFlowBlock(path, options, print) {
const { node } = path;
const docs = [];
@@ -28,12 +26,7 @@ function printAngularControlFlowBlock(path, options, print) {
}
if (node.parameters) {
- docs.push(
- blocksShouldNotPrintSpaceAfterName.has(node.name) ? "" : " ",
- "(",
- group(print("parameters")),
- ")",
- );
+ docs.push(" ", "(", group(print("parameters")), ")");
}
if (!isSwitchFallthroughCase(node)) {
diff --git a/tests/format/angular/control-flow/__snapshots__/format.test.js.snap b/tests/format/angular/control-flow/__snapshots__/format.test.js.snap
index 00682d5a2..deac6b286 100644
--- a/tests/format/angular/control-flow/__snapshots__/format.test.js.snap
+++ b/tests/format/angular/control-flow/__snapshots__/format.test.js.snap
@@ -90,17 +90,65 @@ parsers: ["angular"]
Other children
+
+ @content (items; let item, index) {
+ #{{index}}: {{item}}
+ }
+
+
+
+ @content (renderHeader; let _) {
+ Header Content
+ }
+
+
+
+ @content (renderRow; let row, idx, isLast) {
+ {{ idx }} - {{ row }} (Last: {{ isLast }})
+ }
+
+
+
+ @content (children; let result) {
+ {{ result }}
+ }
+
+
=====================================output=====================================
- @content(icon) {
+ @content (icon) {
Icon!
}
- @content(description) {
+ @content (description) {
Description text
}
Other children
+
+ @content (items; let item, index) {
+ #{{ index }}: {{ item }}
+ }
+
+
+
+ @content (renderHeader; let _) {
+ Header Content
+ }
+
+
+
+ @content (renderRow; let row, idx, isLast) {
+ {{ idx }} - {{ row }} (Last: {{ isLast }})
+ }
+
+
+
+ @content (children; let result) {
+ {{ result }}
+ }
+
+
================================================================================
`;
diff --git a/tests/format/angular/control-flow/content.html b/tests/format/angular/control-flow/content.html
index 0e8e013fd..21bf3a8da 100644
--- a/tests/format/angular/control-flow/content.html
+++ b/tests/format/angular/control-flow/content.html
@@ -7,3 +7,27 @@
}
Other children
+
+
+ @content (items; let item, index) {
+ #{{index}}: {{item}}
+ }
+
+
+
+ @content (renderHeader; let _) {
+ Header Content
+ }
+
+
+
+ @content (renderRow; let row, idx, isLast) {
+ {{ idx }} - {{ row }} (Last: {{ isLast }})
+ }
+
+
+
+ @content (children; let result) {
+ {{ result }}
+ }
+
diff --git a/website/versioned_docs/version-stable/browser.md b/website/versioned_docs/version-stable/browser.md
index c98038389..b988fabb6 100644
--- a/website/versioned_docs/version-stable/browser.md
+++ b/website/versioned_docs/version-stable/browser.md
@@ -21,7 +21,7 @@ Required options:
- **[`parser`](options.md#parser) (or [`filepath`](options.md#file-path))**: One of these options has to be specified for Prettier to know which parser to use.
-- **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource-options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files in [https://unpkg.com/browse/prettier@3.9.3/plugins](https://unpkg.com/browse/prettier@3.9.3/plugins). Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON.
+- **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource-options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files in [https://unpkg.com/browse/prettier@3.9.4/plugins](https://unpkg.com/browse/prettier@3.9.4/plugins). Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON.
You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option.
@@ -32,8 +32,8 @@ See below for examples.
### Global
```html
-
-
+
+