2015-06-26 139 views
0

我正在尝试为Sublime Text 3创建自己的语法高亮显示。它的主要目的是区分用拉丁文书写的文本和用西里尔字母书写的文本。我已经安装了AAAPackageControl并阅读tutorial,但由于某种原因,我无法使其工作。Sublime Text中的自定义语法高亮显示3 - 无法转换

这是我写的

# [PackageDev] target_format: plist, ext: tmLanguage 
--- 
name: ADVANCED TEXT 
scopeName: text.mirkowy 
fileTypes: [] 
uuid: 78dbe755-58eb-4cdf-b954-4438334aedb9 

patterns: 
- comment: Words in Latin Script 
    name: latin_text.text.mirkowy 
    match: [A-Za-z]+ 
- comment: Words in Cyrillic Script 
    name: cyrillic_text.text.mirkowy 
    match: [ЁЂЃЄЅІЇЈЉЊЋЌЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяёђѓєѕіїјљњћќўџҐґ]+ 
- comment: Numbers 
    name: numbers.text.mirkowy 
    match: \d 
... 

然而,当我按下F7到该文件的plist转换,我不断收到和错误的语法,我不明白为什么(要记住,我是完全新创建自己的语法等) - 下面是它的外观:

Input type not specified, auto-detecting... YAML 
No target format specified, searching in file... Property List 
Parsing YAML... (C:\Users\iyoossaev\AppData\Roaming\Sublime Text 3\Packages\User\mirkowy.YAML-tmLanguage) 
Error parsing YAML: while parsing a block mapping 

我该怎么做?

回答

0

你差不多了,但是你的正则表达式存在一个小问题 - 用方括号[ ]包围的字符类需要在括号内()之内。你的“数字”正则表达式\d工作正常,没有parens。所以,只需将您的代码更改为以下内容:

# [PackageDev] target_format: plist, ext: tmLanguage 
--- 
name: ADVANCED TEXT 
scopeName: text.mirkowy 
fileTypes: [] 
uuid: 78dbe755-58eb-4cdf-b954-4438334aedb9 

patterns: 
- comment: Words in Latin Script 
    name: latin_text.text.mirkowy 
    match: ([A-Za-z]+) 

- comment: Words in Cyrillic Script 
    name: cyrillic_text.text.mirkowy 
    match: ([ЁЂЃЄЅІЇЈЉЊЋЌЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяёђѓєѕіїјљњћќўџҐґ]+) 

- comment: Numbers 
    name: numbers.text.mirkowy 
    match: \d 

并且您应该全部设置。请注意,我在每个块之间放置了一个空白区域 - 这不是必需的,但它可以帮助您在视觉上区分每个块,当您获得非常复杂的块时非常有用。

如果您想了解更复杂的.YAML-tmLanguage语法定义的一些示例,可以立即想到两个地方。第一个是PackageDev包本身的Syntax Definitions文件夹。第二个实际上是在我的个人项目中,Python Improved语法定义旨在更好地替代Sublime附带的内置Python语法。您可以在Github上找到PythonImproved.YAML-tmLanguage的源代码。如果您对语法设计有任何疑问,请随时在此处打开issue,或者在此处提出一个新问题。

祝你好运!

+0

确实,它按照建议工作。谢谢您的帮助;我也会检查你建议的地方:) – MrVocabulary

相关问题