2017-12-11 16 views
0

私はzkフレームワークを使用しています。私はXML構文で強調表示された昇華構文ファイルを実行する必要がありますが、zscriptスニペットでは、コンテキストは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では、新しい構文定義フォーマットは..subublime-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は)Eclipseでこれをサポートしています。さらに、「崇高な複数のシンタックスハイライト」のGoogle検索で[この質問](https://stackoverflow.com/questions/15436858/sublime-text-2-different-language-highlighting-based-on-context-a)が表示されました-la-webstorm/15441612#15441612)。開始と終了のパターンとして使用できるzscriptタグがあるので、これはうまくいくかもしれません。 –

+0

それは同じことではない、今それを行う方法が変更されました –

答えて

1

OK私は、その後私が選択した(Package Control: Install Package、タイプを選択し、それをインストールするためにPackageDevを選択し、+ PCtrl + ShiftPackageDevをインストールすることで、私の問題を解決: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など、この構文を使用する拡張機能のリストです。
  • matchは、push要素に渡される正規表現です。
  • with_prototypeあなたはこの例では、のJavaを使用しています<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を選択するために!

関連する問題