我目前正在尝试为Visual Studio(而非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网站上的文档不是最好的,并且没有包含很多示例