Skip to content

Commit 3767978

Browse files
authored
Merge pull request microsoft#84955 from dbeigi/issue83983
Fixed microsoft#83983 added highlight collapsed
2 parents e8d46aa + bfb0275 commit 3767978

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

src/vs/editor/contrib/folding/foldingDecorations.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export class FoldingDecorationProvider implements IDecorationProvider {
1313
private static readonly COLLAPSED_VISUAL_DECORATION = ModelDecorationOptions.register({
1414
stickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
1515
afterContentClassName: 'inline-folded',
16+
className: 'folded-background',
17+
isWholeLine: true,
1618
linesDecorationsClassName: 'codicon codicon-chevron-right'
1719
});
1820

src/vs/editor/contrib/folding/foldingModel.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
import { ITextModel, IModelDecorationOptions, IModelDeltaDecoration, IModelDecorationsChangeAccessor } from 'vs/editor/common/model';
77
import { Event, Emitter } from 'vs/base/common/event';
88
import { FoldingRegions, ILineRange, FoldingRegion } from './foldingRanges';
9+
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
10+
import { registerColor, editorSelectionBackground, darken, lighten } from 'vs/platform/theme/common/colorRegistry';
11+
import * as nls from 'vs/nls';
912

1013
export interface IDecorationProvider {
1114
getDecorationOption(isCollapsed: boolean): IModelDecorationOptions;
@@ -84,13 +87,12 @@ export class FoldingModel {
8487
let maxColumn = this._textModel.getLineMaxColumn(startLineNumber);
8588
let decorationRange = {
8689
startLineNumber: startLineNumber,
87-
startColumn: maxColumn,
90+
startColumn: 0,
8891
endLineNumber: startLineNumber,
8992
endColumn: maxColumn
9093
};
9194
newEditorDecorations.push({ range: decorationRange, options: this._decorationProvider.getDecorationOption(isCollapsed) });
9295
};
93-
9496
let i = 0;
9597
let nextCollapsed = () => {
9698
while (i < this._regions.length) {
@@ -355,3 +357,12 @@ export function setCollapseStateForType(foldingModel: FoldingModel, type: string
355357
}
356358
foldingModel.toggleCollapseState(toToggle);
357359
}
360+
361+
export const foldBackgroundBackground = registerColor('editor.foldBackground', { light: lighten(editorSelectionBackground, 0.5), dark: darken(editorSelectionBackground, 0.5), hc: null }, nls.localize('editorSelectionBackground', "Color of the editor selection."));
362+
363+
registerThemingParticipant((theme, collector) => {
364+
const foldBackground = theme.getColor(foldBackgroundBackground);
365+
if (foldBackground) {
366+
collector.addRule(`.monaco-editor .folded-background { background-color: ${foldBackground}; }`);
367+
}
368+
});

0 commit comments

Comments
 (0)