UNPKG

@coveord/plasma-mantine

Version:

A Plasma flavoured Mantine theme

36 lines (35 loc) 1.08 kB
const format = (xml)=>{ // https://stackoverflow.com/questions/57039218/doesnt-monaco-editor-support-xml-language-by-default const PADDING = ' '.repeat(2); const reg = /(>)(<)(\/*)/g; let pad = 0; xml = xml.replace(reg, '$1\r\n$2$3'); return xml.split('\r\n').map((node)=>{ let indent = 0; if (node.match(/.+<\/\w[^>]*>$/)) { indent = 0; } else if (node.match(/^<\/\w/) && pad > 0) { pad -= 1; } else if (node.match(/^<\w[^>]*[^/]>.*$/)) { indent = 1; } else { indent = 0; } pad += indent; return PADDING.repeat(pad - indent) + node; }).join('\r\n'); }; const register = (monaco)=>{ monaco.languages.registerDocumentFormattingEditProvider('xml', { provideDocumentFormattingEdits: async (model)=>[ { range: model.getFullModelRange(), text: format(model.getValue()) } ] }); }; export const XML = { register }; //# sourceMappingURL=xml.js.map