mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-27 08:40:10 +02:00
add language support for manaco
This commit is contained in:
@@ -91,6 +91,8 @@ class Editor {
|
|||||||
setOption(optionName, optionValue) {
|
setOption(optionName, optionValue) {
|
||||||
if (this.mode === 'cm') {
|
if (this.mode === 'cm') {
|
||||||
this.instance.setOption(optionName, optionValue);
|
this.instance.setOption(optionName, optionValue);
|
||||||
|
} else {
|
||||||
|
this.instance.updateOptions(optionName, optionValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
clearGutter(gutter) {
|
clearGutter(gutter) {
|
||||||
@@ -113,6 +115,13 @@ class Editor {
|
|||||||
this.instance.updateOptions({ fontSize: size });
|
this.instance.updateOptions({ fontSize: size });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setLanguage(language) {
|
||||||
|
if (this.mode === 'cm') {
|
||||||
|
this.instance.setOption('mode', language);
|
||||||
|
} else {
|
||||||
|
this.instance.updateOptions({ language: language });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window.editor = {
|
window.editor = {
|
||||||
init(mode, el, options, onChange) {
|
init(mode, el, options, onChange) {
|
||||||
|
@@ -767,7 +767,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
|
|||||||
htmlModelLabel.textContent = modes[value].label;
|
htmlModelLabel.textContent = modes[value].label;
|
||||||
// FIXME - use a better selector for the mode selectbox
|
// FIXME - use a better selector for the mode selectbox
|
||||||
htmlModelLabel.parentElement.querySelector('select').value = value;
|
htmlModelLabel.parentElement.querySelector('select').value = value;
|
||||||
scope.cm.html.setOption('mode', modes[value].cmMode);
|
scope.cm.html.setLanguage(modes[value].cmMode);
|
||||||
CodeMirror.autoLoadMode(
|
CodeMirror.autoLoadMode(
|
||||||
scope.cm.html,
|
scope.cm.html,
|
||||||
modes[value].cmPath || modes[value].cmMode
|
modes[value].cmPath || modes[value].cmMode
|
||||||
@@ -779,7 +779,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
|
|||||||
cssModelLabel.textContent = modes[value].label;
|
cssModelLabel.textContent = modes[value].label;
|
||||||
// FIXME - use a better selector for the mode selectbox
|
// FIXME - use a better selector for the mode selectbox
|
||||||
cssModelLabel.parentElement.querySelector('select').value = value;
|
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);
|
scope.cm.css.setOption('readOnly', modes[value].cmDisable);
|
||||||
cssSettingsBtn.classList[modes[value].hasSettings ? 'remove' : 'add'](
|
cssSettingsBtn.classList[modes[value].hasSettings ? 'remove' : 'add'](
|
||||||
'hide'
|
'hide'
|
||||||
@@ -795,7 +795,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
|
|||||||
jsModelLabel.textContent = modes[value].label;
|
jsModelLabel.textContent = modes[value].label;
|
||||||
// FIXME - use a better selector for the mode selectbox
|
// FIXME - use a better selector for the mode selectbox
|
||||||
jsModelLabel.parentElement.querySelector('select').value = value;
|
jsModelLabel.parentElement.querySelector('select').value = value;
|
||||||
scope.cm.js.setOption('mode', modes[value].cmMode);
|
scope.cm.js.setLanguage(modes[value].cmMode);
|
||||||
CodeMirror.autoLoadMode(
|
CodeMirror.autoLoadMode(
|
||||||
scope.cm.js,
|
scope.cm.js,
|
||||||
modes[value].cmPath || modes[value].cmMode
|
modes[value].cmPath || modes[value].cmMode
|
||||||
@@ -1362,7 +1362,7 @@ loginModal, profileModal, profileAvatarImg, profileUserName, openItemsBtn, askTo
|
|||||||
'',
|
'',
|
||||||
jsCode,
|
jsCode,
|
||||||
{
|
{
|
||||||
language: 'coffeescript'
|
language: 'javascript'
|
||||||
},
|
},
|
||||||
scope.onChange
|
scope.onChange
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user