Ace editor json с синтаксисом руля

#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 без необходимости создания пользовательского режима?