diff --git a/src/u_sxsyn.pas b/src/u_sxsyn.pas index a5fc9a8d..e209fe7b 100644 --- a/src/u_sxsyn.pas +++ b/src/u_sxsyn.pas @@ -718,8 +718,14 @@ begin if fTokStop > llen then exit; + // continue partial multi-line ranges if fCurrRange.isNotAssigned then - fCurrRange := TSynSxSynRange.Create(nil); + fCurrRange := TSynSxSynRange.Create(nil) + else case fCurrRange.rangeKind of + TRangeKind.rkString1: begin lexStringLiteral(); exit; end; + TRangeKind.rkString2: begin lexRawStringLiteral(); exit; end; + TRangeKind.rkBlockCom1: begin lexStarComment(); exit; end; + end; // special lines if (fLineBuf.length > 1) then @@ -738,13 +744,6 @@ begin end; end; - // continue partial multi-line ranges - case fCurrRange.rangeKind of - TRangeKind.rkString1: begin lexStringLiteral(); exit; end; - TRangeKind.rkString2: begin lexRawStringLiteral(); exit; end; - TRangeKind.rkBlockCom1: begin lexStarComment(); exit; end; - end; - case fLineBuf[fTokStop] of #0 .. #10, #13, #32: begin