В настоящее время я пытаюсь разработать новый синтаксис языка для визуальной студии (не VSCode).В качестве основы у меня есть файл tmLanguage, который был создан коллегой в прошлом.Я хотел бы продолжить использовать этот языковой файл, чтобы облегчить себе.Языковой файл довольно прост сам по себе, поскольку в нем не используется параметр переменных и другие параметры, которые я видел в документации textmate.
Прежде всего, я ищу способ указать множественное сворачиваниестартовые маркеры и несколько складных концевых маркеров.На данный момент, похоже, что Visual Studio автоматически выполняет свертывание кода, используя вкладки (но комментарии, которые не имеют должных вкладок, испортят его).
Язык, на котором я работаю, называется PReS.Это язык составления документа (используется для печати).Я включил пример кода ниже, чтобы показать различные типы маркеров начала и конца.
Я работаю на языке, который не так уж велик.Он называется PrintSoft PReS и имеет несколько типов индикаторов запуска и остановки, которые необходимо определить для свертывания кода.
Пример:
SUBROUTINE subName(args)
ALPHA variable L25
ALPHA args L25
START
;I am a comment
APPEND args, variable
IF(args <> variable){
SWITCH(args){
CASE("things")
;do something
BREAK
CASE ("STUFF")
;dont do something
BREAK
DEFAULT
;something unexpected happened
BREAK
; THIS NEEDS TO NOT BREAK THE CODE FOLDING, so it cannot be purely tab based
}
}
RETURN
Выше приведен пример структуры языка.Я хотел бы, чтобы код складывался в START | RETURN, {|}, CASE | BREAK и DEFAULT | BREAK.
Я также был бы признателен за любую информацию о том, как сделать файл tmlanguage более надежным.Документация на сайте textmate не самая лучшая и не содержит много примеров