Skip to content

Commit aa77026

Browse files
authored
Normalize one-line attribute parsing (#48)
1 parent 5c1e3e1 commit aa77026

3 files changed

Lines changed: 34 additions & 2 deletions

File tree

bdl-ts/src/ast/misc.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function getAttributeContent(
4141
): string {
4242
if (!attribute.content) return "";
4343
const content = slice(text, attribute.content);
44-
if (content.startsWith("-")) return content.replace(/^- ?/, "");
44+
if (content.startsWith("-")) return content.replace(/^- ?/, "").trim();
4545
return content
4646
.split("\n")
4747
.map((line) => line.replace(/^\s*\|\x20?/, ""))

bdl-ts/src/linter/bdl.test.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,3 +360,35 @@ Deno.test("lint directives: disable-line works with CRLF input", async () => {
360360
});
361361
assertEquals(result.diagnostics.length, 0);
362362
});
363+
364+
Deno.test("lintBdl recognizes builtin standard with CRLF input", async () => {
365+
const result = await lintBdlFinal({
366+
text: [
367+
"# standard - conventional",
368+
"struct User {",
369+
" id: string,",
370+
"}",
371+
"",
372+
].join("\r\n"),
373+
standard: conventionalStandard,
374+
});
375+
const codes = result.diagnostics.map((diag) => diag.code);
376+
assert(!codes.includes("bdl/unknown-standard"));
377+
assert(!codes.includes("bdl/unknown-type"));
378+
});
379+
380+
Deno.test("lintBdl trims one-line attribute content", async () => {
381+
const result = await lintBdlFinal({
382+
text: [
383+
"# standard - conventional ",
384+
"struct User {",
385+
" id: string,",
386+
"}",
387+
"",
388+
].join("\n"),
389+
standard: conventionalStandard,
390+
});
391+
const codes = result.diagnostics.map((diag) => diag.code);
392+
assert(!codes.includes("bdl/unknown-standard"));
393+
assert(!codes.includes("bdl/unknown-type"));
394+
});

bdl-vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "bdl",
33
"displayName": "BDL - Bridge Definition Language",
44
"description": "BDL Language Support",
5-
"version": "0.0.13",
5+
"version": "0.0.0",
66
"publisher": "disjukr",
77
"license": "(MIT OR Apache-2.0)",
88
"repository": {

0 commit comments

Comments
 (0)