From 6a524e44e91e38f87c6ff5978620d777c9ba839c Mon Sep 17 00:00:00 2001 From: Vida Xie Date: Mon, 16 Feb 2026 15:54:19 +0800 Subject: [PATCH] fix(diagnostics): use `useDocumentText` to reliably trigger diagnostics on content changes --- src/providers/diagnostics/index.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/providers/diagnostics/index.ts b/src/providers/diagnostics/index.ts index 0f3f941..d7a27c2 100644 --- a/src/providers/diagnostics/index.ts +++ b/src/providers/diagnostics/index.ts @@ -6,7 +6,7 @@ import { useActiveExtractor } from '#composables/active-extractor' import { config, logger } from '#state' import { getPackageInfo } from '#utils/api/package' import { debounce } from 'perfect-debounce' -import { computed, useActiveTextEditor, useDisposable, watch } from 'reactive-vscode' +import { computed, useActiveTextEditor, useDisposable, useDocumentText, watch } from 'reactive-vscode' import { languages } from 'vscode' import { displayName } from '../../generated-meta' import { checkDeprecation } from './rules/deprecation' @@ -23,8 +23,7 @@ export function useDiagnostics() { const diagnosticCollection = useDisposable(languages.createDiagnosticCollection(displayName)) const activeEditor = useActiveTextEditor() - const activeDocument = computed(() => activeEditor.value?.document) - const activeDocumentVersion = computed(() => activeDocument.value?.version) + const activeDocumentText = useDocumentText(() => activeEditor.value?.document) const activeExtractor = useActiveExtractor() const enabledRules = computed(() => { @@ -105,5 +104,5 @@ export function useDiagnostics() { } } - watch([activeDocument, activeDocumentVersion, enabledRules], collectDiagnostics, { immediate: true }) + watch([activeDocumentText, enabledRules], collectDiagnostics, { immediate: true }) }