2017-12-11 2 views
0

저는 zk 프레임 워크를 사용하고 있으며 XML 구문에서 강조 표시하는 숭고한 구문 파일을 작성해야하지만 zscript 스니 j에서는 java 구문 강조 표시 및 스타일을 사용합니다 컨텍스트는 CSS 구문을 사용합니다. 이 ZK 코드의 예입니다sublimetext 3에서 복수 구문 강조 표시 .sublime-syntax 파일 유형

<zk> 
    <style> 
     .myClass{ 
      width=300px; 
     } 
    </style> 

    <div id="panel1" class="myClass" visible="true" > 
     <hlayout width="100px"> 
      <image id="icon1" src="/Desktop/image1.png" width="32px"></image> 
      <image id="icon2" src="/Desktop/image1.png" width="50px"></image> 
     </hlayout> 
    </div> 

    <zscript><![CDATA[ 
     try{ 
      if (panel1.isVisible()) { 
       //do something 
      } 
     }catch(Exception e){ 
      //catch exception 
     } 
    ]]></zscript> 
</zk> 

나는 몇 가지 최근에 변경된 것을보고 및 온라인있는 현재의 솔루션은 나는 다음과 같은 메모를 발견 this link에서 예를 들어, 매우 명확하지 않다 :

새 텍스트 정의 빌드 3084에서 새 구문 정의 형식은 .sublime-syntax 확장자를 사용하여 으로 추가되었습니다.

이전 버전 과의 호환성이 필요한 경우가 아니면이 설명서에 설명 된 레거시 형식 을 사용하는 것이 좋습니다.

문서는 여기에 있습니다 : http://www.sublimetext.com/docs/3/syntax.html

그래서 내가 SublimeText3에 새로운 여러 구문 파일을 작성하는 방법에 대한 자습서 같은 것을해야합니다.

+0

나는 이미, 그러나 다만 확실하게 알고 추측 : [공식 플러그인] (https://www.zkoss.org/wiki/ZK_Studio_Essentials/Features_of_ZK_Studio/ZUL_Editor#Syntax_Coloring) 이클립스에서 이것을 지원합니다. 또한 Google에서 "숭고한 다중 구문 강조 표시"를 검색하면 [이 질문] (https://stackoverflow.com/questions/15436858/sublime-text-2-different-language-highlighting-based-on-context-a)이 나타났습니다. -la-webstorm/15441612 # 15441612). 이것은 시작과 끝 패턴으로 사용할 수있는 zscript 태그가 있기 때문에 작동 할 수 있습니다. –

+0

그것은 똑같은 것이 아니며, 이제는 그것을 변경하는 방법이 변경되었습니다. –

답변

1

확인 난 다음 내가 선택한 (Package Control: Install Package, 유형을 선택하고 설치하기 위해 PackageDev을 선택, + PCtrl + Shift) PackageDev를 설치하여 내 문제를 해결 : Tools ->Packages ->Package Developement ->New Syntax Definition.

%YAML 1.2 
--- 
# See http://www.sublimetext.com/docs/3/syntax.html 

name: zul 
file_extensions: 
- zul 
scope: text.zul 

contexts: 
    main: 
    - match: "" 
     push: "Packages/XML/XML.sublime-syntax" 
     with_prototype: 
     - match: '< *zscript *>' 
      push: Packages/Java/Java.sublime-syntax 
      with_prototype: 
      - match: '(?=</ *zscript *>)' 
       pop: true 
     - match: '< *style *>' 
      push: Packages/CSS/CSS.sublime-syntax 
      with_prototype: 
      - match: '(?=</ *style *>)' 
       pop: true 
  • File_extensions은 다음과 같습니다 * 여기

    이 코드를 썼다 이 구문을 사용하는 확장 목록 (

  • scope)은 프로그래밍 언어의 경우 source이고 다른 언어의 경우는 text입니다.
  • matchpush 요소에 전달 된 정규 표현식입니다.
  • with_prototype는 다른 컨텍스트

이 예를 들어 다른 문법으로 조각을 정의 할 수있는 구문 강조에서 예외 같은 것을 <zscript> ... </zscript>자바를 사용하여 태그 사이에 일반적으로 XML 구문을 사용합니다 구문 강조 표시이고 <style> ... </style> 컨텍스트에서는 css 구문을 사용합니다.

나는 C:\Users\username\AppData\Roaming\Sublime Text 3\Packages\User에이 파일을 저장 한 후 내 View이 구문 파일을 설립 -> Syntax -> User -> zul (파일 이름).

저는 전문가는 아니지만, 저에게 효과적입니다. 제 코드를 잘 보여줍니다.

* 참고 : PackageDev 이미 눌러 Ctrl + Shift + P 설치되어 있는지 확인 Package Control: Remove Package를 선택하고 선택하지 않고 PackageDev을 입력하기 위해!