0

当谈到最近从 KomodoEdit 切换的 Sublime Text 2 时,我有点菜鸟。我正在尝试为嵌入到 JSON 请求中的模板字符串设置语法突出显示。以下是几个示例行:

{
"shipment_number": "{%% prop : parent-clip : SHIPMENT_NUMBER %%}",
"product_code": {%% prop : parent-clip : PCNum %%}
}

我要突出显示的{%% property-type : path-type : property-path %%}部分是单独突出显示 {%% 和 3 个文本片段的部分。所以我已经阅读了很多关于 Sublime 和 Textmate 的内容以及许多示例 git,但我仍然没有了解这些内容。有人能指出我正确的方向吗?到目前为止,这是放在一起的

{ "name": "JSON+CloudTest ISSE",
  "scopeName": "source.isse",
  "fileTypes": ["json"], 
  "patterns": [
      { "name": "keyword.tag.isse",
      "comment": "based on example at http://gerd.knops.org/?p=9",
      "include" : "source.json",
        "begin": "{%%",
      "match": "\\b([^:]+)\\b", 
      "captures" : {
        "1" : {"name" : "storage.type.isse"},
        "2" : {"name" : "storage.modifier.isse"},
        "3" : {"name" : "storage.type.variable.isse"}
      },
        "end": "%%}",
   ],
  "uuid": "4e9dce7e-287e-4ec0-b13f-bfed23b44982"
}

当我尝试构建它时,tmlanguage 文件是一个零字节文件。为什么?

提前致谢。

4

1 回答 1

1

您的花括号不匹配("end": "%%}",尽管应该先删除逗号,但后面应该有一个花括号)。我修复了它并通过 json 到 plist 转换器运行它。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>fileTypes</key>
    <array>
        <string>json</string>
    </array>
    <key>name</key>
    <string>JSON+CloudTest ISSE</string>
    <key>patterns</key>
    <array>
        <dict>
            <key>begin</key>
            <string>{%%</string>
            <key>captures</key>
            <dict>
                <key>1</key>
                <dict>
                    <key>name</key>
                    <string>storage.type.isse</string>
                </dict>
                <key>2</key>
                <dict>
                    <key>name</key>
                    <string>storage.modifier.isse</string>
                </dict>
                <key>3</key>
                <dict>
                    <key>name</key>
                    <string>storage.type.variable.isse</string>
                </dict>
            </dict>
            <key>comment</key>
            <string>based on example at http://gerd.knops.org/?p=9</string>
            <key>end</key>
            <string>%%}</string>
            <key>include</key>
            <string>source.json</string>
            <key>match</key>
            <string>\b([^:]+)\b</string>
            <key>name</key>
            <string>keyword.tag.isse</string>
        </dict>
    </array>
    <key>scopeName</key>
    <string>source.isse</string>
    <key>uuid</key>
    <string>4e9dce7e-287e-4ec0-b13f-bfed23b44982</string>
</dict>
</plist>
于 2013-07-17T02:41:40.727 回答