2013-08-06 49 views
2

你好我正在開發一個Maze ST3的遊戲/插件,我試圖給unicode字符和方括號添加一些顏色。 後some閱讀我想出了我需要做的大多數(tmLanguage文件和語法)在崇高文本中自定義語法高亮3

我還不理解的是我在哪裏有自定義十六進制顏色?

這裏是我做過嘗試,但沒有成功:

首先在maze.tmLanguage

<key>patterns</key> 
    <array> 
     <dict> 
      <key>comment</key> 
      <string>This pattern matches the walls of the maze</string> 
      <key>match</key> 
      <string>\[\]</string> 
      <key>name</key> 
      <string>entity.wall.mzl</string> 
      <key>settings</key> 
      <dict> 
       <key>fontStyle</key> 
       <string></string> 
       <key>foreground</key> 
       <string>#BADA55</string> 
      </dict> 
     </dict> 
     <dict> 
      <key>comment</key> 
      <string>This pattern matches the player charactere</string> 
      <key>match</key> 
      <string>[\u25C4,\u25BA,\u25B2,\u25BC]</string> 
      <key>name</key> 
      <string>entity.player.mzl</string> 
     </dict> 
     <dict> 

然後在 Walker.py

 #load the maze color syntax 
     self.view.set_syntax_file("Packages/Walker/maze.tmLanguage") 

回答

2

.tmLanguage文件僅包含正則表達式來定義範圍。這取決於顏色方案的.tmTheme文件爲作用域分配顏色。您需要刪除設置並將其放入您選擇的主題中。閱讀Sublime Text 2附帶的一些.tmLanguage文件(在Packages/LanguageName/LanguageName.tmLanguage中,它們比在ST3中更容易獲得),並查看Packages/Color Schemes - Default目錄中的幾個.tmTheme文件,以瞭解哪些地方會發生什麼。就像現在一樣,您的XML是兩者的混合體。

+0

確定我添加了一個.tmThme文件,但它覆蓋了我所有文件的默認主題,我只想定位一個擴展名爲* .mzl – MimiEAM

+0

的文件,並將其放入新的.tmTheme文件中將其添加到您選擇的現有主題中。主題是「全部或全部」 - 你不能同時有多個活動。 – MattDMo

+0

事實證明,有可能做到這一點,現在我只需要弄清楚如何讓unicode字符變成彩色,謝謝您指引我朝着正確的方向 – MimiEAM