// Showdown extension that replaces words surrounded by singular underscores with <em> tags export const markdownUnderscoreExt = () => { try { if (!canUseNegativeLookbehind()) { console.log('Showdown-underscore extension: Negative lookbehind not supported. Skipping.'); return []; } return [{ type: 'lang', regex: new RegExp('\\b(?<!_)_(?!_)(.*?)(?<!_)_(?!_)\\b', 'g'), replace: '<em>$1</em>', }]; } catch (e) { console.error('Error in Showdown-underscore extension:', e); return []; } }; function canUseNegativeLookbehind() { try { new RegExp('(?<!_)'); return true; } catch (e) { return false; } }