2013-07-17 60 views
0

當談到最近從KomodoEdit切換到Sublime Text 2時,我有些不爽。 我正在嘗試爲嵌入到JSON請求中的模板字符串設置語法高亮顯示。這裏有幾個例子線:嵌入到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文件是一個零字節文件。爲什麼?

在此先感謝。

回答

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> 
+0

@anotherNerdHere我會讓他是否想skuroda編輯他的職務,但他可能使用的['PlistJsonConverter'(https://github.com/facelessuser/PlistJsonConverter)插件ST2。如果你使用'.tmLanguage'或'.tmTheme'文件做任何工作,我強烈推薦它。 – MattDMo

+0

@skuroda感謝您對結果文件的幫助。對此,我真的非常感激。現在我必須創建突出部分。 – anotherNerdHere

+0

@MattDMo感謝您的提示和鏈接。 SublimeText2真的非常了不起,但搞清楚如何做到這一點不是最簡單的東西,至少對我來說,所以任何提示都非常感謝。 – anotherNerdHere