document.addEventListener("DOMContentLoaded", function(event) {
function setCodeMirrorTheme(theme) {
if (gitlist.viewer === undefined) {
return;
}
const actualTheme = theme.split('-')[1]
if (window.gitlist.isDark(actualTheme)) {
gitlist.viewer.setOption("theme", 'blackboard');
} else {
gitlist.viewer.setOption("theme", 'default');
}
}
window.gitlist.setCodeMirrorTheme = setCodeMirrorTheme;
const sourceCode = $('#sourcecode');
if (sourceCode.length) {
const value = sourceCode.text();
const mode = sourceCode.attr('language');
const pre = sourceCode.get(0);
gitlist.viewer = CodeMirror(function(elt) {
pre.parentNode.replaceChild(elt, pre);
}, {
value: value,
lineNumbers: true,
matchBrackets: true,
lineWrapping: true,
readOnly: true,
mode: mode,
});
const setCodeMirror = function() {
if (gitlist.getThemeCookie !== undefined) {
setCodeMirrorTheme(gitlist.getThemeCookie())
} else {
setTimeout(function() {
setCodeMirror()
}, 250)
}
}
setCodeMirror()
}
})