|
1 | 1 | import { FormatOptions } from 'src/FormatOptions'; |
2 | | -import { equalizeWhitespace } from 'src/utils'; |
| 2 | +import { equalizeWhitespace, isMultiline } from 'src/utils'; |
3 | 3 |
|
4 | 4 | import Params from 'src/formatter/Params'; |
5 | 5 | import { isTabularStyle } from 'src/formatter/config'; |
@@ -309,18 +309,26 @@ export default class ExpressionFormatter { |
309 | 309 | } |
310 | 310 |
|
311 | 311 | private formatLineComment(node: LineCommentNode) { |
312 | | - if (/\n/.test(node.precedingWhitespace || '')) { |
| 312 | + if (isMultiline(node.precedingWhitespace || '')) { |
313 | 313 | this.layout.add(WS.NEWLINE, WS.INDENT, node.text, WS.MANDATORY_NEWLINE, WS.INDENT); |
314 | 314 | } else { |
315 | 315 | this.layout.add(WS.NO_NEWLINE, WS.SPACE, node.text, WS.MANDATORY_NEWLINE, WS.INDENT); |
316 | 316 | } |
317 | 317 | } |
318 | 318 |
|
319 | 319 | private formatBlockComment(node: BlockCommentNode) { |
320 | | - this.splitBlockComment(node.text).forEach(line => { |
321 | | - this.layout.add(WS.NEWLINE, WS.INDENT, line); |
322 | | - }); |
323 | | - this.layout.add(WS.NEWLINE, WS.INDENT); |
| 320 | + if (this.isMultilineBlockComment(node)) { |
| 321 | + this.splitBlockComment(node.text).forEach(line => { |
| 322 | + this.layout.add(WS.NEWLINE, WS.INDENT, line); |
| 323 | + }); |
| 324 | + this.layout.add(WS.NEWLINE, WS.INDENT); |
| 325 | + } else { |
| 326 | + this.layout.add(node.text, WS.SPACE); |
| 327 | + } |
| 328 | + } |
| 329 | + |
| 330 | + private isMultilineBlockComment(node: BlockCommentNode): boolean { |
| 331 | + return isMultiline(node.text) || isMultiline(node.precedingWhitespace || ''); |
324 | 332 | } |
325 | 333 |
|
326 | 334 | // Breaks up block comment to multiple lines. |
|
0 commit comments