From f8fa14b72d6d3b7706062a91a6f0847ca9fb045e Mon Sep 17 00:00:00 2001 From: Sedge Date: Thu, 14 May 2026 04:38:16 -0500 Subject: [PATCH] fix: scan inline comment markers --- packages/vscode-extension/package.json | 1 + packages/vscode-extension/src/extension.ts | 139 +----------- .../vscode-extension/src/markerScanCore.ts | 214 ++++++++++++++++++ .../test/marker-scan-core.test.js | 27 +++ 4 files changed, 248 insertions(+), 133 deletions(-) create mode 100644 packages/vscode-extension/src/markerScanCore.ts create mode 100644 packages/vscode-extension/test/marker-scan-core.test.js diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 0cad24e..669aebc 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -113,6 +113,7 @@ "scripts": { "vscode:prepublish": "npm run compile", "compile": "tsc -p ./", + "test": "npm run compile && node test/marker-scan-core.test.js", "watch": "tsc -watch -p ./" }, "devDependencies": { diff --git a/packages/vscode-extension/src/extension.ts b/packages/vscode-extension/src/extension.ts index 9b3b630..6c6549b 100644 --- a/packages/vscode-extension/src/extension.ts +++ b/packages/vscode-extension/src/extension.ts @@ -1,7 +1,7 @@ import * as vscode from 'vscode'; +import { MarkerMatch, MarkerType, scanMarkerLines } from './markerScanCore'; // Marker types and their colors -type MarkerType = 'intervention' | 'uncertainty' | 'directive'; interface MarkerDef { pattern: string; @@ -31,21 +31,6 @@ const MARKERS: Record = { }, }; -// Keyword aliases for markers (case-insensitive matching) -// Strength order: intervention > uncertainty > directive -const MARKER_KEYWORDS: Record = { - intervention: ['FIXME', 'BUG', 'XXX'], // Maps to !! (highest priority) - uncertainty: ['TODO', 'HACK'], // Maps to ?? - directive: ['NOTE', 'NB'], // Maps to >> (lowest priority) -}; - -// Priority order for conflict resolution (lower = stronger) -const MARKER_PRIORITY: Record = { - intervention: 1, - uncertainty: 2, - directive: 3, -}; - // Diagnostic colors (for inline error/warning badges) type DiagnosticLevel = 'error' | 'warning' | 'info' | 'hint'; @@ -73,27 +58,6 @@ const DIAGNOSTIC_COLORS: Record = { }, }; -// Common comment prefix patterns -const COMMENT_PATTERNS: RegExp[] = [ - /^(\s*)(\/\/\/)/, // /// doc comments - /^(\s*)(\/\/)/, // // C-style - /^(\s*)(#)/, // # Python/Shell/Ruby - /^(\s*)(--)/, // -- SQL/Lua/Haskell - /^(\s*)(;)/, // ; Lisp/Assembly - /^(\s*)(\/\*+)/, // /* block - /^(\s*)(\*)/, // * block continuation - /^(\s*)(