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:
@ -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) {
|
||||
|
@ -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
|
||||
);
|
||||
|
Reference in New Issue
Block a user