@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
57 lines (56 loc) • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "XML", {
enumerable: true,
get: function() {
return XML;
}
});
var _async_to_generator = require("@swc/helpers/_/_async_to_generator");
var _ts_generator = require("@swc/helpers/_/_ts_generator");
var format = function format(xml) {
// https://stackoverflow.com/questions/57039218/doesnt-monaco-editor-support-xml-language-by-default
var PADDING = ' '.repeat(2);
var reg = /(>)(<)(\/*)/g;
var pad = 0;
xml = xml.replace(reg, '$1\r\n$2$3');
return xml.split('\r\n').map(function(node) {
var 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');
};
var register = function register(monaco) {
monaco.languages.registerDocumentFormattingEditProvider('xml', {
provideDocumentFormattingEdits: function provideDocumentFormattingEdits(model) {
return _async_to_generator._(function() {
return _ts_generator._(this, function(_state) {
return [
2,
[
{
range: model.getFullModelRange(),
text: format(model.getValue())
}
]
];
});
})();
}
});
};
var XML = {
register: register
};
//# sourceMappingURL=xml.js.map