Sublime Text 3-カスタム構文の強調表示

拡張性Sublime Textは境界を認識していません。 標準機能がほとんどない人のために、Habréでは既にスニペットの作成 方法、シンプルなプラグインの 作成 方法、複雑なプラグインの作成方法などについて話しました 。 構文の強調表示を手動で調整することについては、何も見つけることができませんでした:あまりにも明白な人にとっては、誰かはそれを必要としませんが、誰かがきっと役に立つでしょう。



したがって、タスク:wonder-netに抽象アクセスログを保持する:



!->14/02 16:44:22 [134.249.51.251:39951>80] (t1 19) >HTTP in:504 out:34 Time:156 GET /516874233**21893/ HTTP/1.1 SCOD=00 !->14/02 16:44:24 [134.249.51.251:49507>80] (t1 20) GET /44058858**409377/ HTTP/1.1 SCOD=00 !->14/02 16:54:11 [195.18.13.107:1721>80] (t2 22) GET /41494377**562173/ HTTP/1.1 SCOD=00 !->14/02 16:54:11 [195.18.13.107:1721>80] (t2 23) >HTTP in:385 out:10138 Time:156 GET /5211537**1172048/ HTTP/1.1 SCOD=00 !->14/02 16:54:24 [195.18.13.107:1727>80] (t1 30) >HTTP in:423 out:1220 Time:187 GET /5211537**6447554/ HTTP/1.1 SCOD=23 !->14/02 18:07:24 [82.145.208.159:43634>80] (t2 52) GET /4149437**8265377/ HTTP/1.1 SCOD=00 !->14/02 18:09:41 [82.145.208.174:41708>80] (t2 61) GET /4149497**5750155 / HTTP/1.1 SCOD=00 !->14/02 18:51:39 [82.145.210.33:55210>80] (t1 66) >HTTP in:543 out:34 Time:0 GET /5168757**9478487/ HTTP/1.1 SCOD=00 !->14/02 18:51:40 [82.145.210.33:55332>80] (t1 68) >HTTP in:544 out:1243 Time:141 GET /4149497**0456701 / HTTP/1.1 SCOD=00 !->14/02 18:51:46 [82.145.210.33:57345>80] (t1 73) >HTTP in:544 out:1243 Time:125 GET /5168742**0521893/ HTTP/1.1 SCOD=00
      
      





ハイライト:

日時-紫色の斜体。

カード番号-ブラックリストにない場合は黄色の斜体、そうでない場合は赤色の斜体。

ip-address-ブラックリストにない場合は暗緑色、そうでない場合は赤。

scod = xx-00の場合は濃い緑、それ以外の場合は赤。



カラースキームでは、テキストを強調表示するスタイルを追加する必要があります。 私が理解しているように、すべての配色はファイルc:\ Program Files \ Sublime Text 3 \ Packages \ Color Scheme-Default.sublime-packageにきちんと収集されています。



ファイルは圧縮されていないzipアーカイブです。 解凍して、お気に入りのスキーム(デフォルトではMonokai.tmTheme)を選択し、それを...にコピーします(Sublime Text:Preferencesメニュー-Browse Packages)ユーザーフォルダー。



新しくコピーしたMonokai.tmThemeを開いて編集します。 下部の、閉じる前に、スタイルブロックを追加します。 スタイルには、背景、前景、およびフォントスタイルの3つのパラメーターを含めることができます。 fontStyleは、 太字斜体下線です。



紫色の斜体は次のようになります。

 <dict> <key>scope</key> <string>violet</string> <!--        --> <key>settings</key> <dict> <key>foreground</key> <string>#EE82EE</string> <key>fontStyle</key> <string>italic</string> </dict> </dict>
      
      





太字の黄色(LJ):

 <dict> <key>scope</key> <string>yellow</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFD700</string> <key>fontStyle</key> <string>bold</string> </dict> </dict>
      
      







ダークグリーン:

 <dict> <key>scope</key> <string>green</string> <key>settings</key> <dict> <key>foreground</key> <string>#006400</string> </dict> </dict>
      
      







赤:

 <dict> <key>scope</key> <string>red</string> <key>settings</key> <dict> <key>foreground</key> <string>#FF0000</string> </dict> </dict>
      
      





2.同じUserフォルダーで、構文ファイルを作成します:wonderLog.tmLanguageの内容:

 <?xml version="1.0" encoding="UTF-8" ?> <plist version="1.0"> <dict> <key>patterns</key> <array> <dict> <key>name</key> <string>red</string> <!--   --> <key>match</key> <string>\b(?i)(?:5168742**0521893|414943**01562173|4149497**5750155)\b</string> <!--   -   (   ) --> </dict> <dict> <key>name</key> <string>red</string> <key>match</key> <string>\b(?i)(?:134\.249\.51\.251|82\.145\.208\.174)\b</string> <!-- ip    ( ) --> </dict> <dict> <key>name</key> <string>green</string> <key>match</key> <string>\b(?i)scod=00\b</string> <!-- scod=00 --> </dict> <dict> <key>name</key> <string>red</string> <key>match</key> <string>\b(?i)scod=\d+\b</string> <!-- scod!=00 --> </dict> <dict> <key>name</key> <string>green</string> <key>match</key> <string>\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b</string> <!--  ip (,   , ...) --> </dict> <dict> <key>name</key> <string>yellow</string> <key>match</key> <string>\b\d{16}\b</string> <!--   --> </dict> <dict> <key>name</key> <string>violet</string> <key>match</key> <string>\d{1,2}/\d{1,2}\s\d{2}:\d{2}:\d{2}</string> <!-- ,  --> </dict> </array> <key>name</key> <string>wonderLog</string> <key>scopeName</key> <string>wonderLog</string> <key>fileTypes</key> <array> <string>log</string> <!--          --> </array> </dict> </plist>
      
      





この例は、複数の正規表現が色を異なるようにペイントするふりをする場合、優先順位は上記(最初)になることを示しています。



すべてを保存します。



カスタムカラースキームを選択します。設定-カラースキーム-ユーザー-Monokai。



奇跡ログを開き(ファイル拡張子がテンプレートと一致しない場合は、[表示]-[構文]-[wonderLog]を実行)、結果を楽しみます。










All Articles