Sublime Text 3 に PackageDev を使用してオリジナルのシンタックスハイライト設定を作る試み

2017-02-10 12:00
Mac

経緯

はてな記法を使ってテキストエディタで文章を書くことが多いので、はてな記法用のシンタックスハイライトを作りたい。

【2018-10-24追記】.YAML-tmLanguageファイルの書き方がガラリとかわっていたので、この記事の内容は使えない。後日再チャレンジする。

手順

  1. Package Control(cmd+shift+P)で「PackageDev」を検索してインストール
  2. Package Control(cmd+shift+P)で「PackageDev: New Syntax Definition」を検索して実行
  3. 生成されたファイルをcmd+Sで保存
    • デフォルトの名前:任意の名前.YAML-tmLanguage
    • 場所:~/Library/Application Support/Sublime Text 3/Packages/User
  4. 中身を書き換えて上書き保存
  5. ツールバーから Tools>Build System>Convert To… を選択
  6. Build(cmd+B)を実行
  7. 先程保存した場所に拡張子が.tmLanguageになった同名のXML形式ファイルが生成される
  8. 再起動して完了

記述内容

name

syntax difinition のドロップダウンリストに表示される名前

scopeName

  • 形式:source. または text.
  • プログラミング言語ならsource、マークアップなどそれ以外の場合はtext。
  • には対応する拡張子を記述。

fileTypes

  • 利用するファイルの種類。記述した種類を開いたときに自動的に適用されるようになる。
  • 例:[txt](テキストファイル)

uuid

自動生成されるユニークID。編集不要。

pattern

本文にあたるところ。書き方調べ中。

ソース

hatena.YAML-tmLanguage(作成中)

# [PackageDev] target_format: plist, ext: tmLanguage
<hr>
name: Hatena Notation
scopeName: text.txt
fileTypes: [txt]
uuid: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

patterns:
- name: comment.line
  match: ^[ t]*#(.*)
  comment: コメントアウト(単文)

- name: comment.line
  match: ^[ t]*//(.*)
  comment: コメントアウト(単文)

- name: markup.heading
  match: ^[ t]**(.*)
  comment: 見出し
...

参考URL

ドキュメント

関連