WIP - fixing grammar added CircleNode, string handling

This commit is contained in:
Knut Sveidqvist
2025-04-19 07:14:05 -04:00
parent 6bcfb4df3a
commit d2ce80be10
5 changed files with 158 additions and 112 deletions

View File

@@ -0,0 +1,21 @@
import type { CstNode, GrammarAST, ValueType } from 'langium';
import { AbstractMermaidValueConverter } from '../common/index.js';
export class MindmapValueConverter extends AbstractMermaidValueConverter {
protected runCustomConverter(
rule: GrammarAST.AbstractRule,
input: string,
_cstNode: CstNode
): ValueType | undefined {
console.debug('MermaidValueConverter', rule.name, input);
if (rule.name === 'CIRCLE_STR') {
return input.replace('((', '').replace('))', '').trim();
} else if (rule.name === 'ARCH_TEXT_ICON') {
return input.replace(/["()]/g, '');
} else if (rule.name === 'ARCH_TITLE') {
return input.replace(/[[\]]/g, '').trim();
}
return undefined;
}
}