Sublime Text - 在新的"HTML(自定义)"语法中扩展HTML语法

And*_*cer 9 sublimetext sublimetext3 4d-database

背景

我正在使用一种名为Webclerk的语言,它使用自定义标签来查询4D数据库.它的工作原理与PHP类似.而不是.php处理成HTML 的文件,它使用".wc"文件,该文件被处理成HTML.

而不是像: <?php echo $variable; ?>,它看起来像_jit_ echo $variable; jj

<?php= _jit_,?>= jj.

在Sublime Text中,当选择PHP作为语法时,PHP会突出显示不同的块颜色,在HTML突出显示之上.我想对这些特殊标签做同样的事情.

我真的不在乎突出括号内的文字.只要有一个高亮/背景颜色开始并停止使用标签,我会非常满意.

我做了什么

我已经安装了Package Manager和Package Resource Viewer,然后提取了PHP和HTML包来检查它们.我也经历过教程.我遇到了两种不同类型的语法高亮(.tmLanguage vs .sublime-syntax)的问题.第一种方式有很多信息,第二种方式很少.我觉得刚开始和停止基于两个标签突出显示不是那么困难.


当我打开HTML包时,我得到:

Comments.tmPreferences
HTML.sublime-syntax
Miscellaneous.tmPreferences
Symbol List - ID.tmPreferences
encode_html_entities.py
html.sublime-snippet
html_completions.py
Run Code Online (Sandbox Code Playgroud)

教程中几乎没有提到这些.我尝试将HTML的名称更改为Webclerk,我确实设法在列表中获取新的语法.但是当我编辑标签时,突出显示的内容没有任何变化.

我想知道我是否可以获得一些关于从哪里开始的指示,这些文件的含义,以及可能是之前人们已经扩展HTML的任何示例.

dco*_*enb 1

基本上,您正在尝试使用此处记录的开始和结束正则表达式选择器定义自定义范围: http: //sublimetext.info/docs/en/extensibility/syntaxdefs.html#begin-end-rules

我还在崇高文本板上遇到了这个有趣的讨论,有人试图完全按照你想要做的事情http://www.sublimetext.com/forum/viewtopic.php?f=6&t=6207 有一些其中有帮助的信息和提示。

HTML.sublime-package我将从第 598 行(在我的设置中)的包内开始HTML.tmLanauage,有一个 php 开始和结束标签的定义,它看起来像一个正则表达式,可以识别标签并突出显示它们

顺便说一句,.sublime-package只是 zip 文件,您可以重命名它们并解压。然后把解压出来的文件夹放进%APPDATA%\Sublime Text 3\Installed Packages去运行

  • 这个答案有几个问题:首先,OP 使用 ST3 的 [dev build](https://sublimetext.com/3dev),这意味着所有默认的“.tmLanguage”文件都已替换为新的 YAML-基于`.sublime-syntax`文件。其次,所有关于 zip 文件和“HTML.sublime-package”的业务都是完全不必要的 - OP 已经在使用 PackageResourceViewer,它可以无缝地完成所有这些工作。最后,不要将提取的包放在“Installed Packages”中,而是放在“Packages”中,否则它们不会覆盖压缩版本。 (3认同)