#json #syntax #handlebars.js #editor #ace-editor
#json #синтаксис #handlebars.js #редактор #ace-редактор
Вопрос:
Ace может выделять синтаксис либо для JSON, либо для handlebar, но не одновременно.
Я использую редактор ace с режимом «handlebar» для веб-среды ide.
editor.getSession().setMode('ace/mode/handlebar');
Он работает так, как задумано. Однако, когда ace установлен в режим ‘handlebar’, синтаксис json не отображается,
поэтому он выглядит очень уродливо, и обнаружение ошибок действительно затруднено.
Если я установлю режим редактора ace на
editor.getSession().setMode('ace/mode/json');
Редактор Ace отображает ошибки из-за синтаксиса кода handlebar в json.
Например, {{#each data.content.people}}
это синтаксис handlebar, и поэтому, если для ace editor установлен режим ‘json’, он отобразит ошибку в этой строке.
пример json:
{
"menu": {
"id": "file",
"value": "File",
"types": [
{
"name": "NAMES",
"values": [
{{#each data.content.people}}
{
"name": {
"value": "{{{this}}}",
"synonyms": [
"{{{lowerCase this}}}"
]
}
}{{#unless @last}}, {{/unless}}
{{/each}}
]
}
],
"popup": {
"menuitem": [
{
"value": "New", "onclick": "CreateNewDoc()"
},
{
"value": "Open", "onclick": "OpenDoc()"
},
{
"value": "Close", "onclick": "CloseDoc()"
}
]
}
}
}
Есть ли способ для Ace editor одновременно определять синтаксис как для json, так и для handlebar без необходимости создания пользовательского режима?