【VSCode】作成 6【開発記】
今回の概略
スニペットの prefix に記号は やっぱ無理ぽ😞
エスケープじゃない引用符で開始終了は (?>!\\)'
#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
前回の粗筋
名前の不一致で動かない、あるある😞
スニペット
備忘録処理をするぽ🤤
こちら、前回文字列にしたら動いてそのままの状態のスニペット😑
軽く調べても prefix に使える文字について語っている記事はほぼほぼ見当たらない😭
公式ですら語っていない…(見つからない
で、これ。前回試してたハイライトでエスケープの仕方が少し違うので調べていると body に使う $ は特殊なエスケープが必要だと出てくるのよね🤔
もしかしてアスタリスクもそうなの?的な話🤤
まずはベタ打ち😑
勿論出ない😞
次は \ が1つのエスケープ😑
本来文字列中の二重引用符のエスケープ方法なんだけど、エラーを無視して試行🤪
勿論出ない😞
そして今回の本命🙄
まぁ、勿論出ない😞
多分記憶に薄いだけで前回試したと思う🤔
そして次なる試験がこちら😑
「もしやスラッシュは危ない記号なのでは?」編🤪
見ての通り \ ひとつでもエスケープできているので怪しさまんてん🙄
まぁこれもダメなんだけど😞
最後まで足掻く🙄
結論
prefix にスラッシュやアスタリスクは無理😞
文字列
まぁ、気は済んだかな😑
文字列色分けを開始するぽ🤤
この記述、エスケープを無視してそこで色分けが止まると予想されるんだけど…😑
正解🤤
ええと JS だと `(?!\)'` だと思うけど鬼車だと…?🤔
同じっぽい🤤
😞
実は先読み系、まだあんまり理解できてないのよね🙄
`(?!\)` という表記は「 \ が続かない」だから先にあると使い方が違うって事なのかな?😑
// PATTERN で開始しない文字列の表現
^(?!PATTERN).*$
そう間違った解釈でもなかったっぽい😑
これや他の記事を読むとどうやら後ろに来る物を取得せずに検査するのが先読みで手前に有る物を検査するのには後読みを使う…という認識っぽい😑
駄目じゃん…前者の記事…😞
でも後者も `(?!2022)\d{4}` という例を出してるから検知される筈なんだけど…?🙄
読み込んでいるとやっぱり手前に取り込まないで検査する場合は後読みで書かれてる😞
こういう紛らわしい記事は辞めてほしい🙄
この記事はもうバスっと「直前」「直後」って書いて分類してくれてる🤔
そうそう、これよこういうのよ欲しかったのは🤤
悪化すた😞
まぁ変な拘りとか無いし TypeScript 辺りの実装見てみようね🤤
………🤔
名前付け見る限りだと不本意な改行が有った場合は文字列としての色分けを打ち切ってる…のかな?🙄
あ、でもこれ、行末表記、 `\n` だと思うけど `\\\\\\n` になってるね🤔
もしかしてエスケープとしての \ と記号として表示するための \ で `\\\\` ?🙄
やった勝った!🤤
一先ず文字列とテンプレートリテラルは適用しとこうかな🤔
次回は
やっと予約語とかのキーワードを指定できそう🤤
この記事が気に入ったらサポートをしてみませんか?