From c7329521d11de41dc313a420b00fa2ea46f321a9 Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Wed, 3 Dec 2025 18:16:32 -0800 Subject: [PATCH 1/2] Fix commentContinuationPatterns if they're a prefix of a later one. --- Extension/src/LanguageServer/settings.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 209b347d9..2b3d496ca 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -386,6 +386,13 @@ export class CppSettings extends Settings { public get commentContinuationPatterns(): (string | CommentPattern)[] { const value: any = super.Section.get("commentContinuationPatterns"); if (this.isArrayOfCommentContinuationPatterns(value)) { + // Needs to be sorted with longer patterns first so it takes precedence and + // doesn't apply the shorter pattern if it's a prefix (e.g. // matching ///). + value.sort((a: string | CommentPattern, b: string | CommentPattern) => { + const aStr: string = (isString(a)) ? a : a.begin; + const bStr: string = (isString(b)) ? b : b.begin; + return bStr.length - aStr.length; + }); return value; } const setting = getRawSetting("C_Cpp.commentContinuationPatterns", true); From 13bacbdeaae662f188e24b51eac4c9be022e8eff Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Wed, 3 Dec 2025 18:19:33 -0800 Subject: [PATCH 2/2] Fix linter. --- Extension/src/LanguageServer/settings.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 2b3d496ca..86ddf401a 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -389,8 +389,8 @@ export class CppSettings extends Settings { // Needs to be sorted with longer patterns first so it takes precedence and // doesn't apply the shorter pattern if it's a prefix (e.g. // matching ///). value.sort((a: string | CommentPattern, b: string | CommentPattern) => { - const aStr: string = (isString(a)) ? a : a.begin; - const bStr: string = (isString(b)) ? b : b.begin; + const aStr: string = isString(a) ? a : a.begin; + const bStr: string = isString(b) ? b : b.begin; return bStr.length - aStr.length; }); return value;