Skip to content

チェッカーと言語サーバー#

View Markdown

vpx oxct lsp と CLI チェッカーは、Markdown / MDC / ローカルリンクについて 同じ診断ケースを共有します。エディタは textDocument/publishDiagnostics で受け取り、CI は同じコード・範囲・メッセージを oxct のチェッカーコマンドから実行できます。

共有する診断ケース#

Source CLI コード
ox-content-mdc vpx oxct mdc-check mdc-unquoted-prop, mdc-mismatched-tag, mdc-orphan-close, mdc-unclosed-tag
ox-content-link vpx oxct link-check link-missing-file, link-missing-anchor, link-cross-file-anchor, link-unresolved
ox-content なし(frontmatter は LSP のみ) frontmatter-unknown, frontmatter-type, frontmatter-enum, frontmatter-required
ox-content-spacing なし(spacing は LSP のみ) space-between-half-and-full-width, require-space-between-half-and-full-width
textlint 設定した textlint コマンド sidecar の rule id

MDC CLI は YAML frontmatter をスキップし、言語サーバーと同じ行にタグ診断を出します。 リンク検査はどちらの面でも文書全体を対象にします。

vpx oxct mdc-check --format json docs/page.mdc
vpx oxct link-check --format json docs/page.md
vpx oxct lsp

言語サーバーの振る舞い#

  • 増分の textDocument/didChange は編集範囲だけを適用し、変わったスライスだけを 再計算します。本文だけの編集では frontmatter 診断を再利用します。
  • 各 publish は文書バージョンを載せます。後続の編集は実行中のジョブをキャンセルし、 古い結果や重複は公開しません。
  • textlint はオプトインで、保存時だけ走ります。Markdown / MDC / リンク診断は 変更のたびに更新されます。

既知のギャップ#

  • 外部 HTTP リンクは取得しません。リンクチェッカーはオフライン専用です。
  • ソース側のファイル間アンカー(./other.md#section)は link-cross-file-anchor 警告になります。生成サイト検査(--site-dir)が ビルド後に検証します。
  • 参照リンク([ok][ref])は、まだパーサーが展開しません。
  • frontmatter スキーマと半角/全角スペース検査には CLI がありません。
  • コードブロック lint、tsgo 型チェック、docs-as-tests は Vite transform 側です。 LSP 診断にはなりません。
  • .mdx のパースエラーは報告しますが、式の型チェックはしません。
  • i18n 診断は JavaScript/TypeScript ソースにだけ出し、Markdown のガターには混ぜません。

アーキテクチャ も参照してください。 英語の Editor Extension Roadmap もあります。

Last updated: