if grep -q "renderer.block_quote = function block_quote" "../node_modules/matrix-react-sdk/src/Markdown.js" ; then echo 'Already patched!' ; else LINESTR=$(awk "/const real_paragraph = renderer.paragraph;/{ print NR; exit }" '/home/user/git/element-web/node_modules/matrix-react-sdk/src/Markdown.js') sed -i "${LINESTR}i renderer.block_quote = function block_quote(node, entering) { \n\ var attrs = this.attrs(node); \n\ if (node.firstChild !== null) { \n\ var w = node.walker(), e, m=node.firstChild \n\ while (m.firstChild !== null) \n\ m = m.firstChild \n\ while (m.type !== 'document') { \n\ if (m.type == 'text' && m.literal[0] !== '>') \n\ m.literal = '>' + m.literal \n\ m = m.parent \n\ } \n\ while (e = w.next()) { \n\ const n = e.node \n\ if (e.entering == false) \n\ continue \n\ if (n.type == 'text') { \n\ let o = n.parent \n\ while (o.type !== 'document') \n\ if (o.type == 'block_quote') \n\ break \n\ else \n\ o = o.parent \n\ if (o.type == 'block_quote' && (n.prev && n.prev.type == 'softbreak') && n.literal[0] !== '>') { \n\ n.literal = '>' + n.literal \n\ } \n\ } \n\ } \n\ } \n\ \n\ if (entering) { \n\ this.tag('font', [...attrs, ['color', '#789922']]); \n\ if (!node.firstChild) \n\ this.buffer += '

>

' \n\ } else { \n\ this.tag('/font'); \n\ } \n\ };" '/home/user/git/element-web/node_modules/matrix-react-sdk/src/Markdown.js' fi