2013-07-17 3 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 개 텍스트 조각을 강조하고자하는 부분이다. 그래서 나는 숭고하고 Textmate와 많은 예제 자식에 대한 많은 것들을 읽었지 만, 나는 아직도이 물건을 탐내고 있지 않습니다. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요? 여기에 내가 이것을 tmlanguage 파일을 0 바이트 파일로 빌드 할 때까지 함께

{ "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" 
} 

을 넣어 것입니다. 왜?

미리 감사드립니다.

답변

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이 자신의 게시물을 편집 할 수 있습니다,하지만 그는 아마 ST2의 ['PlistJsonConverter'] (https://github.com/facelessuser/PlistJsonConverter) 플러그인을 사용했다. '.tmLanguage' 또는'.tmTheme' 파일들로 어떤 작업을 할 것이라면 크게 추천합니다. – MattDMo

+0

@skuroda 결과 파일에 도움을 주셔서 감사합니다. 정말 감사. 이제 강조 부분을 만들어야합니다. – anotherNerdHere

+0

@MattDMo 팁과 링크를 보내 주셔서 감사합니다. SublimeText2 정말 정말 놀라워하지만 적어도 나를 위해 가장 쉬운 방법이 일종의 ins't 할 일을 알아내는 모든 팁을 많이 주시면 감사하겠습니다. – anotherNerdHere