主な変更
- 日本語に隣接するinline書式のhighlightが正しく閉じるようになりました。 これまで「
include::の扱い」のように、閉じ側のマーカーの直後に日本語が続くと、monospaceの色が行末まで続いていました。bold(*)とitalic(_)も同じ症状でした。閉じ側の直後にスペースを入れる必要はなくなります。
原因は、書式マーカーの前後判定に使っていた\wが、VS Codeの正規表現エンジンではUnicodeの語文字として動き、日本語の文字にも一致していたことです。AdocWeave本体の解析器は、CJK文字を語の境界とみなす判断をしており(文字の形で語を分けるため)、文法定義だけがそれに追随していませんでした。判定をASCIIの英数字とアンダースコアに限定し、本体と同じ範囲で色付けします。
英語の既存の挙動は変わりません。語の内側にあるマーカー(snake_caseの_など)は引き続き書式になりません。
対応環境
Visual Studio Code 1.107.0以降が必要です。
自動取得はlinuxのx86-64とARM64、macOSのARM64、Windowsのx86-64に対応します。これら以外では自動取得へ進まず、対応環境を示して起動に失敗します。手動で導入した実行ファイルの指定は、この制限を受けません。
未信頼ワークスペースでは拡張を起動しないため、自動取得も行いません。
対応関係
拡張とLanguage Serverの製品バージョンを一致させる必要はありません。利用できる機能は、接続時に交換する標準LSP capabilityから決まります。自動取得では、公開済みのadocweave-lspのうち最新の安定版を選びます。
- 製品バージョン:0.48.2
v0.48.2への移行
- 利用者の作業は不要です。拡張画面から更新してください。
- 閉じ側のマーカーの直後にスペースを入れて回避していた場合、そのスペースは不要になります。残しておいても表示は変わりません。
更新とロールバック
Visual Studio MarketplaceまたはOpen VSX Registryから導入した場合は、editorの拡張画面から更新および以前の版への切り替えができます。VSIXを手動で導入した場合は、新しいVSIXをcode --install-extension <file> --forceで導入し、Windowを再読込します。
自動取得したLanguage Serverは、拡張のglobal storageにあるservers内のadocweave-lsp-<version>-<target>形式のディレクトリへ置きます。同じ版を取得済みの場合は再取得せず、新しい版を取得したときは以前の版を削除します。
既知の制約
- highlightの語境界の判定はASCIIに限定しています。
éやキリル文字などASCII以外のラテン系文字に隣接するマーカーは、本体の解析器では書式にならない場合でもhighlightは付きます。日本語文書には影響しません。 - 自動取得したLanguage Serverの版を拡張の設定から固定できません。常に最新の安定版を取得します。
- 自動取得ではattestationを検証しません。checksumは照合します。
- Marketplaceの索引更新には遅れがあり、公開直後は拡張画面へ現れないことがあります。
配布物の検証
対象Releaseのsha256.sumでarchiveを検査し、gh attestation verify <asset> --repo KeishiS/adocweaveでattestationを検証してください。