1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-06-10 19:50:51 +02:00

add language support for manaco

This commit is contained in:
Kushagra Gour
2018-03-26 00:00:08 +05:30
parent ed59c6c418
commit 848db7b8d3
2 changed files with 13 additions and 4 deletions

View File

@ -91,6 +91,8 @@ class Editor {
setOption(optionName, optionValue) {
if (this.mode === 'cm') {
this.instance.setOption(optionName, optionValue);
} else {
this.instance.updateOptions(optionName, optionValue);
}
}
clearGutter(gutter) {
@ -113,6 +115,13 @@ class Editor {
this.instance.updateOptions({ fontSize: size });
}
}
setLanguage(language) {
if (this.mode === 'cm') {
this.instance.setOption('mode', language);
} else {
this.instance.updateOptions({ language: language });
}
}
}
window.editor = {
init(mode, el, options, onChange) {

View File

@ -767,7 +767,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
htmlModelLabel.textContent = modes[value].label;
// FIXME - use a better selector for the mode selectbox
htmlModelLabel.parentElement.querySelector('select').value = value;
scope.cm.html.setOption('mode', modes[value].cmMode);
scope.cm.html.setLanguage(modes[value].cmMode);
CodeMirror.autoLoadMode(
scope.cm.html,
modes[value].cmPath || modes[value].cmMode
@ -779,7 +779,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
cssModelLabel.textContent = modes[value].label;
// FIXME - use a better selector for the mode selectbox
cssModelLabel.parentElement.querySelector('select').value = value;
scope.cm.css.setOption('mode', modes[value].cmMode);
scope.cm.css.setLanguage(modes[value].cmMode);
scope.cm.css.setOption('readOnly', modes[value].cmDisable);
cssSettingsBtn.classList[modes[value].hasSettings ? 'remove' : 'add'](
'hide'
@ -795,7 +795,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
jsModelLabel.textContent = modes[value].label;
// FIXME - use a better selector for the mode selectbox
jsModelLabel.parentElement.querySelector('select').value = value;
scope.cm.js.setOption('mode', modes[value].cmMode);
scope.cm.js.setLanguage(modes[value].cmMode);
CodeMirror.autoLoadMode(
scope.cm.js,
modes[value].cmPath || modes[value].cmMode
@ -1362,7 +1362,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
'',
jsCode,
{
language: 'coffeescript'
language: 'javascript'
},
scope.onChange
);