import { $createCodeHighlightNode, $createCodeNode } from '@lexical/code';
import { $createLineBreakNode } from 'lexical';
import { Code } from 'mdast';

import { Handler } from '../parser.js';

export const code: Handler<Code> = (node, parser) => {
  const lexicalNode = $createCodeNode();
  const lines = node.value.split('\n');
  lines.forEach((line, index) => {
    if (index > 0) {
      lexicalNode.append($createLineBreakNode());
    }
    lexicalNode.append($createCodeHighlightNode(line));
  });
  parser.append(lexicalNode);
};
