Change:
When a section is wrapped after folding. Fold its parent with itself unfolded will display several wrong fold indicators.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.724 --- <!-- score: 0.616 --- <!-- score: 0.606 --- <!-- score: 0.575 --- <!-- score: 0.569 --<!-- potentialduplicatescomment --
!

Discussion:
if (linesDecorationsClassName) { r[rLen++] = new DecorationToRender(d.range.startLineNumber, d.range.endLineNumber, linesDecorationsClassName); } <ins> const firstLineDecorationClassName = d.options.firstLineDecorationClassName; if (firstLineDecorationClassName) { r[rLen++] = new DecorationToRender(d.range.startLineNumber, d.range.startLineNumber, firstLineDecorationClassName); } </ins> } return r; }

readonly minimap: ModelDecorationMinimapOptions | null; readonly glyphMarginClassName: string | null; readonly linesDecorationsClassName: string | null; <ins> readonly firstLineDecorationClassName: string | null; </ins> readonly marginClassName: string | null; readonly inlineClassName: string | null; readonly inlineClassNameAffectsLetterSpacing: boolean;

this.minimap = options.minimap ? new ModelDecorationMinimapOptions(options.minimap) : null; this.glyphMarginClassName = options.glyphMarginClassName ? cleanClassName(options.glyphMarginClassName) : null; this.linesDecorationsClassName = options.linesDecorationsClassName ? cleanClassName(options.linesDecorationsClassName) : null; <ins> this.firstLineDecorationClassName = options.firstLineDecorationClassName ? cleanClassName(options.firstLineDecorationClassName) : null; </ins> this.marginClassName = options.marginClassName ? cleanClassName(options.marginClassName) : null; this.inlineClassName = options.inlineClassName ? cleanClassName(options.inlineClassName) : null; this.inlineClassNameAffectsLetterSpacing = options.inlineClassNameAffectsLetterSpacing || false;

private static readonly COLLAPSED_VISUAL_DECORATION = ModelDecorationOptions.register({ stickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges, afterContentClassName: 'inline-folded', <del> linesDecorationsClassName: 'codicon codicon-chevron-right' </del> <ins> isWholeLine: true, firstLineDecorationClassName: 'codicon codicon-chevron-right' </ins> }); private static readonly COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = ModelDecorationOptions.register({

afterContentClassName: 'inline-folded', className: 'folded-background', isWholeLine: true, <del> linesDecorationsClassName: 'codicon codicon-chevron-right' </del> <ins> firstLineDecorationClassName: 'codicon codicon-chevron-right' </ins> }); private static readonly EXPANDED_AUTO_HIDE_VISUAL_DECORATION = ModelDecorationOptions.register({ stickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges, <del> linesDecorationsClassName: 'codicon codicon-chevron-down' </del> <ins> isWholeLine: true, firstLineDecorationClassName: 'codicon codicon-chevron-down' </ins> }); private static readonly EXPANDED_VISUAL_DECORATION = ModelDecorationOptions.register({ stickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges, <ins> isWholeLine: true, firstLineDecorationClassName: 'codicon codicon-chevron-down alwaysShowFoldIcons' </ins> }); private static readonly HIDDEN_RANGE_DECORATION = ModelDecorationOptions.register({

*/ linesDecorationsClassName?: string | null; /** <ins> * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping. */ firstLineDecorationClassName?: string | null; /** </ins> * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name. */ marginClassName?: string | null;