【VSCode】作成 4【開発記】

今回の概略

TextMate 形式のスコープ名は複雑でも大丈夫だったけど開始の文字列に決まりが有ったお🙄
コメントの設定を書いてみたけど正しくないっぽくて動作しない😞

#VSCode #拡張機能
#TextMate

【AiScript/原典】
aiscript/src/parser/
https://github.com/syuilo/aiscript/tree/master/src/parser

【VSCode/拡張/本家】
Your First Extension
https://code.visualstudio.com/api/get-started/your-first-extension

【TextMate/本家】
Language Grammars
https://macromates.com/manual/ja/language_grammars

【VSCode/拡張/正規表現での注意】
VSCodeのシンタックスハイライトの作り方
https://techblog.kayac.com/vscode-extension-syntax-highlight

【VSCode/拡張/txLaungage/name 付けるのに欲しい情報】
TextMate における文字色一覧
https://qiita.com/GET/items/a077f059da5e1a675107

----備忘録
スニペットの記号登録、エスケープで再び


前回の粗筋

ハイライトを TextMate に差し替えた🤤



lsp

なんか LSP というのが有るみたいだけど前回記事書いた後に少しだけ調べたのよ🤔
したらこれは いわゆるスペルチェックっぽい物で他の対応アプリでも使えるプラグインみたいなシロモノだという事がわかったお🤤
修正候補とか出してくれるアレ😑
欲しい機能ではあるけど本来の目的はシンタックスハイライトなので一旦これは保留で🤪


scomeName

ではここで、前回のスコープ名のイチャモン画像を見てほしい😑

このイチャモン見てスコープ名を "source.aiscript" と短くしたわけだけどこの文句をよーく見ると…

^(text|source)(\.[\w0-9-]+)+$

注目は行末の $ の手前🤔
そう、プラスが付いてた🙄
$2 のグループが1回以上の繰り返しなので前回単純 match の json の時のスコープ名の頭に source か text 付ければ通るんじゃね?ってのがこの話😑

では早速…✍️

ヨシ!👈🤪


コメント

それじゃ の前には片付いたし、まずはコメントの色分けを実装するお🤤

………
なんか当たり前のように \b って記述してるけど…どういう事?🙄
\b ってバックスペースよね?😑

20 正規表現
https://macromates.com/manual/ja/regular_expressions

20.3 シンタックス (鬼車)
2. 文字
¥b 後退空白 (0x08)
※ ¥bは、文字集合内でのみ有効

🤔🤔🤔❓❓❓❓❓

5. 錨
^ 行頭
$ 行末
¥b 単語境界
¥B 非単語境界

あ、そういう事ね🤔
区切り文字や改行とかを一々書いてられないから行頭行末と同じく \w の句切れを記号化してるだけでバックスペース的な意味では無い…と😑

て事はコメントは単語境界とか無関係に始まるから \b を使わなくて良い…のかな、多分🤔
本家の TypeScript の実装をみてみるぽ🤤

………🤔
これは見た限り "#dockblock" とあるのでドキュメントの `/** */` の定義かな🤤
特殊文字のエスケープは "\\" じゃないと効かないみたいでちょっとめんどいなって思った😑
もしかしてスニペットで記号使うエスケープってこの方式…?🙄
備忘録入れて後で試すぽ😑
この本家の TypeScript の実装見てると、コメント中でも更にinclude文法解析に掛けられるみたいで正直良くわからない😑

TextMate における文字色一覧
https://qiita.com/GET/items/a077f059da5e1a675107

これが有ると有り難いみたいな表が出てきた🤤イイゾー
"comment-line" と "comment-block" を実装すれば良さそう🤔

なんか急に資料が無くなるんだけど…😞
TextMate の資料は有るけどそれはそもそも JSON 形式じゃないのに皆なんか変換できて当たり前みたいな感じで記法とか書いてる記事が殆ど無いお🙄
もう判ってて「はい、できあがり(ポン」ばっかり😭
正直この beginCaptures の項が何を表してるのかも分からない😞
とりあえずこれで動作するのか試すお👇

範囲どころか行の方も色が変わってない😞


次回は

多分、 TextMate の資料を読み込まないと駄目ぽ🙄

この記事が気に入ったらサポートをしてみませんか?