Skip to content

Commit 7138741

Browse files
committed
Don't treat sql-formatter-disable blocks as block-comments
Fixes #906
1 parent 1ef9847 commit 7138741

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

src/lexer/Tokenizer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default class Tokenizer {
3232
private buildRulesBeforeParams(cfg: TokenizerOptions): TokenRule[] {
3333
return this.validRules([
3434
{
35-
type: TokenType.BLOCK_COMMENT,
35+
type: TokenType.DISABLE_COMMENT,
3636
regex:
3737
/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy,
3838
},

test/features/disableComment.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,27 @@ export default function supportsDisableComment(format: FormatFn) {
2828
`);
2929
});
3030

31+
// Issue #906
32+
it('preserves indentation between /* sql-formatter-disable */ and /* sql-formatter-enable */', () => {
33+
const result = format(dedent`
34+
/* sql-formatter-disable */
35+
SELECT
36+
foo
37+
FROM
38+
bar;
39+
/* sql-formatter-enable */
40+
`);
41+
42+
expect(result).toBe(dedent`
43+
/* sql-formatter-disable */
44+
SELECT
45+
foo
46+
FROM
47+
bar;
48+
/* sql-formatter-enable */
49+
`);
50+
});
51+
3152
it('does not format text after /* sql-formatter-disable */ until end of file', () => {
3253
const result = format(dedent`
3354
SELECT foo FROM bar;

0 commit comments

Comments
 (0)