Можно ли программно написать плагин для поддержки синтаксиса языка?Я имею в виду, чтобы получить содержимое текущего открытого файла в мою программу и вернуть структуру данных с синтаксическим токеном?Что-то вроде:
editor.onChange((fileContent) => {
return tokenizeForVSCode(fileContent);
// return tokenizeForAtome(fileContent);
});
РЕДАКТИРОВАТЬ:
Чтобы улучшить мой вопрос ... Я хочу использовать функцию, которая получает содержимое файла (например, открытый в настоящее время файл js) и затем возвращаетобъект, который сообщает vscode / atom, как выделить синтаксис в этом файле.
Я знаю, что это обычно делается с помощью регулярных выражений в файле .tmLanguage.json.Но я хотел бы использовать пропрограмму, которая производит массив токенов или AST.Что-то вроде:
[
{ "type": "keyword", "position": 1, "source": "if",...},
{ "type": "operator", "position": 13, "source": "+",...},
]
Это возможно в vscode или атомных плагинах?И если ДА: как должна выглядеть структура объекта?