@@ -55,7 +55,8 @@ function getMLSplitAfterPattern(): string {
5555
5656function getMLPreviousLinePattern ( insert : string ) : string | undefined {
5757 if ( insert . startsWith ( "/*" ) ) {
58- return `(?=^(\\s*(\\/\\*\\*|\\*)).*)(?=(?!(\\s*\\*\\/)))` ;
58+ const match : string = escape ( insert ) ;
59+ return `(?=^(\\s*(${ match } |\\*)).*)(?=(?!(\\s*\\*\\/)))` ;
5960 }
6061 return undefined ;
6162}
@@ -238,8 +239,9 @@ export function getLanguageConfig(languageId: string): vscode.LanguageConfigurat
238239}
239240
240241export function getLanguageConfigFromPatterns ( languageId : string , patterns ?: ( string | CommentPattern ) [ ] ) : vscode . LanguageConfiguration {
241- const beginPatterns : string [ ] = [ ] ; // avoid duplicate rules
242- const continuePatterns : string [ ] = [ ] ; // avoid duplicate rules
242+ const beginPatterns : string [ ] = [ ] ; // avoid duplicate begin rules
243+ const continuePatterns : string [ ] = [ ] ; // avoid duplicate continue rules
244+ const endPatterns : string [ ] = [ ] ; // avoid duplicate end rules
243245 let duplicates : boolean = false ;
244246 let beginRules : vscode . OnEnterRule [ ] = [ ] ;
245247 let continueRules : vscode . OnEnterRule [ ] = [ ] ;
@@ -258,14 +260,17 @@ export function getLanguageConfigFromPatterns(languageId: string, patterns?: (st
258260 } else {
259261 duplicates = true ;
260262 }
261- if ( continuePatterns . indexOf ( c . continue ) < 0 ) {
263+ if ( continuePatterns . indexOf ( ` ${ c . begin } \0 ${ c . continue } ` ) < 0 ) {
262264 if ( r . continue && r . continue . length > 0 ) {
263265 continueRules = continueRules . concat ( r . continue ) ;
264266 }
267+ continuePatterns . push ( `${ c . begin } \0${ c . continue } ` ) ;
268+ }
269+ if ( endPatterns . indexOf ( c . continue ) < 0 ) {
265270 if ( r . end && r . end . length > 0 ) {
266271 endRules = endRules . concat ( r . end ) ;
267272 }
268- continuePatterns . push ( c . continue ) ;
273+ endPatterns . push ( c . continue ) ;
269274 }
270275 } ) ;
271276 if ( duplicates ) {
0 commit comments