Sublimetext3 SublimiteText 3中使用.sublimite语法文件类型的多语法高亮显示
我正在使用zk框架,我需要制作一个以XML语法突出显示的高级语法文件,但在zscript代码段中使用java语法突出显示,在样式上下文中使用CSS语法。 这是zk代码的一个示例:Sublimetext3 SublimiteText 3中使用.sublimite语法文件类型的多语法高亮显示,sublimetext3,syntax-highlighting,zk,zscript,Sublimetext3,Syntax Highlighting,Zk,Zscript,我正在使用zk框架,我需要制作一个以XML语法突出显示的高级语法文件,但在zscript代码段中使用java语法突出显示,在样式上下文中使用CSS语法。 这是zk代码的一个示例: <zk> <style> .myClass{ width=300px; } </style> <div id="panel1" class="myClass" visible="true" >
<zk>
<style>
.myClass{
width=300px;
}
</style>
<div id="panel1" class="myClass" visible="true" >
<hlayout width="100px">
<image id="icon1" src="/Desktop/image1.png" width="32px"></image>
<image id="icon2" src="/Desktop/image1.png" width="50px"></image>
</hlayout>
</div>
<zscript><![CDATA[
try{
if (panel1.isVisible()) {
//do something
}
}catch(Exception e){
//catch exception
}
]]></zscript>
</zk>
.myClass{
宽度=300px;
}
我看到最近有些事情发生了变化,目前在线解决方案不是很清楚,例如,我发现以下注意事项:
从Sublime Text Build 3084开始,一种新的语法定义格式已经发布
添加了.sublime语法扩展名
我们强烈建议使用它来支持传统格式
除非与旧版本兼容,否则在本文档中描述
这是需要的
文件可在以下位置获得:
因此,我需要一个关于如何使用SublimiteText3构建新的多语法文件的教程。好的,我通过安装解决了我的问题(
Ctrl
+Shift
+p
,选择PackageControl:Install Package
,键入并选择PackageDev
,以便安装它),然后我选择了:Tools
->Packages
->packagesdevelopment
->新语法定义
我在这里写了以下代码:
%YAML 1.2
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: zul
file_extensions:
- zul
scope: text.zul
contexts:
main:
- match: ""
push: "Packages/XML/XML.sublime-syntax"
with_prototype:
- match: '< *zscript *>'
push: Packages/Java/Java.sublime-syntax
with_prototype:
- match: '(?=</ *zscript *>)'
pop: true
- match: '< *script *>'
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: '(?=</ *script *>)'
pop: true
- match: '< *style *>'
push: Packages/CSS/CSS.sublime-syntax
with_prototype:
- match: '(?=</ *style *>)'
pop: true
%YAML 1.2
---
#看http://www.sublimetext.com/docs/3/syntax.html
姓名:zul
文件扩展名:
-祖尔
范围:text.zul
上下文:
主要内容:
-匹配:“
push:“Packages/XML/XML.sublime语法”
使用_原型:
-匹配:“<*zscript*>”
push:Packages/Java/Java.submite-syntax
使用_原型:
-匹配:“(?=)”
波普:没错
-匹配:“<*脚本*>”
push:Packages/JavaScript/JavaScript.sublime-syntax
使用_原型:
-匹配:“(?=)”
波普:没错
-匹配:“<*样式*>”
push:Packages/CSS/CSS.sublime-syntax
使用_原型:
-匹配:“(?=)”
波普:没错
是使用此语法的扩展名列表文件扩展名
是编程语言的scope
,是标记和其他一切的source
李>text
是传递给match
元素的正则表达式李>push
类似于语法突出显示中的一个例外,您可以使用不同的语法为不同的上下文定义代码段with_prototype
之间使用xml语法代码>使用java语法突出显示,并在中代码>上下文使用css语法
我在C:\Users\username\AppData\Roaming\Sublime Text 3\Packages\User
中保存了这个文件,然后我在视图中创建了这个语法文件语法用户->zul
(文件名)。好的,我通过安装解决了我的问题(Ctrl
+Shift
+P
,选择包控制:安装包
,键入并选择PackageDev
,以便安装它),然后我选择了:工具
->包
->包开发
->新语法定义
我在这里写了以下代码:
%YAML 1.2
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: zul
file_extensions:
- zul
scope: text.zul
contexts:
main:
- match: ""
push: "Packages/XML/XML.sublime-syntax"
with_prototype:
- match: '< *zscript *>'
push: Packages/Java/Java.sublime-syntax
with_prototype:
- match: '(?=</ *zscript *>)'
pop: true
- match: '< *script *>'
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: '(?=</ *script *>)'
pop: true
- match: '< *style *>'
push: Packages/CSS/CSS.sublime-syntax
with_prototype:
- match: '(?=</ *style *>)'
pop: true
%YAML 1.2
---
#看http://www.sublimetext.com/docs/3/syntax.html
姓名:zul
文件扩展名:
-祖尔
范围:text.zul
上下文:
主要内容:
-匹配:“
push:“Packages/XML/XML.sublime语法”
使用_原型:
-匹配:“<*zscript*>”
push:Packages/Java/Java.submite-syntax
使用_原型:
-匹配:“(?=)”
波普:没错
-匹配:“<*脚本*>”
push:Packages/JavaScript/JavaScript.sublime-syntax
使用_原型:
-匹配:“(?=)”
波普:没错
-匹配:“<*样式*>”
push:Packages/CSS/CSS.sublime-syntax
使用_原型:
-匹配:“(?=)”
波普:没错
文件扩展名
是使用此语法的扩展名列表
scope
是编程语言的source
,是标记和其他一切的text
match
是传递给push
元素的正则表达式
with_prototype
类似于语法突出显示中的一个例外,您可以使用不同的语法为不同的上下文定义代码段
此示例通常使用xml语法,在标记..
之间使用java语法突出显示,在..
上下文中使用css语法
我在C:\Users\username\AppData\Roaming\Sublime Text 3\Packages\User
中保存了这个文件,然后我在视图中创建了这个语法文件语法->用户->zul
(文件名).我想你已经知道了,但要确定的是:Eclipse支持这一点。此外,谷歌搜索“升华多语法突出显示”出现了。这可能会起作用,因为有一个zscript标记可以用作开始和结束模式。这不是一回事,现在改变了它的方式,尽管官方的Eclipse插件对我来说做得不是很好,一般来说我不喜欢Eclipse我想你已经知道了,但只是要确定:在Eclipse中支持这一点。而且,谷歌搜索“升华多语法突出显示”出现。这可能会起作用,因为有一个zscript标记可以用作开始和结束模式。这不是一回事,现在改变了它的方式,尽管官方的Eclipse插件没有