TyranoScript(.ksファイル)のZedエディタ向け言語サポート拡張です。
- シンタックスハイライト(タグ、属性、コメント、ラベル、テキスト)
- 括弧の自動補完(
[]、"") - コメントのトグル(
;) - タグ名・パラメータの補完(Language Server)
storage=""でアセットファイル補完(bgimage, fgimage, bgm 等)target=""でラベル補完- ユーザー定義マクロの補完
- ホバーによるタグ・パラメータのドキュメント表示(Language Server)
- 定義へジャンプ(Go to Definition)— ラベル・JS 内のラベル呼び出し・マクロ・シナリオファイル・
tf.xxx - 参照検索(Find References)— ラベル・JS 内のラベル呼び出し・マクロ・
tf.xxxの全使用箇所 - 診断(Diagnostics)
- 必須パラメータ欠落(エラー)
- 存在しないファイル参照(警告)
- 未定義タグ/マクロ(警告)
- 未定義ラベル参照(警告)
- 未使用ラベル(警告)
; tyranoscript-disable-next-lineなどによる警告の個別抑制
Zed の Extensions パネルで「TyranoScript」を検索してインストール。
- このリポジトリをクローン
git clone https://github.com/void2610/tyranoscript-zed.git
- Zed を開く → Extensions → Install Dev Extension
- クローンしたフォルダを選択
.ksファイルを開いてハイライトを確認
; コメント
*label_name
[bg storage="bg_room.png" time=1000]
[chara_show name="hero" pos=center]
春子「こんにちは!」[l]
[if exp="f.flag == 1"]
フラグが立っています。
[endif]
- タグ名(
bg,chara_show)→ 関数カラー - 制御タグ(
if,endif,macro)→ キーワードカラー - 属性名(
storage,time)→ プロパティカラー - 属性値(
"bg_room.png",1000)→ 文字列カラー - コメント(
; ...)→ コメントカラー - ラベル(
*label_name)→ ラベルカラー
- Tree-sitter文法: tree-sitter-tyranoscriptでパース
- Language Server: tyranoscript-lsp(
@void2610/tyranoscript-lsp)— エディタ非依存のLSPサーバー(補完・ホバー・診断・ワークスペース認識) - Zed拡張(WASM): Rust製のWASMバイナリがLSPサーバーのインストール・起動を管理
- タグ辞書データは orukRed/tyranosyntax(VSCode拡張)の
tyrano.Tooltip.jsonを基に作成しました。
- tyranoscript-lsp — Language Server(エディタ非依存)
- tree-sitter-tyranoscript — Tree-sitter文法定義