提交 c107b086 编写于 作者: M Martin Aeschlimann

[folding] CollapseState -> CollapseMemento

上级 0f0d76bf
......@@ -17,7 +17,7 @@ import { ICommonCodeEditor, ScrollType } from 'vs/editor/common/editorCommon';
import { editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
import { ICodeEditor, IEditorMouseEvent, MouseTargetType } from 'vs/editor/browser/editorBrowser';
import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
import { FoldingModel, setCollapseStateAtLevel, setCollapseStateDown, CollapseState, setCollapseStateLevelsDown, setCollapseStateLevelsUp } from 'vs/editor/contrib/folding/common/foldingModel';
import { FoldingModel, setCollapseStateAtLevel, setCollapseStateDown, CollapseMemento, setCollapseStateLevelsDown, setCollapseStateLevelsUp } from 'vs/editor/contrib/folding/common/foldingModel';
import { computeRanges, limitByIndent } from 'vs/editor/contrib/folding/common/indentFoldStrategy';
import { FoldingDecorationProvider } from './foldingDecorations';
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
......@@ -99,18 +99,18 @@ export class FoldingController {
/**
* Store view state.
*/
public saveViewState(): { collapsedRegions?: CollapseState, lineCount?: number } {
public saveViewState(): { collapsedRegions?: CollapseMemento, lineCount?: number } {
let model = this.editor.getModel();
if (!model || !this._isEnabled) {
return {};
}
return { collapsedRegions: this.foldingModel.getCollapseState(), lineCount: model.getLineCount() };
return { collapsedRegions: this.foldingModel.getMemento(), lineCount: model.getLineCount() };
}
/**
* Restore view state.
*/
public restoreViewState(state: { collapsedRegions?: CollapseState, lineCount?: number }): void {
public restoreViewState(state: { collapsedRegions?: CollapseMemento, lineCount?: number }): void {
let model = this.editor.getModel();
if (!model || !this._isEnabled) {
return;
......@@ -120,10 +120,10 @@ export class FoldingController {
}
// set the hidden ranges right away, before waiting for the folding model.
if (this.hiddenRangeModel.applyCollapseState(state.collapsedRegions)) {
if (this.hiddenRangeModel.applyMemento(state.collapsedRegions)) {
this.getFoldingModel().then(foldingModel => {
if (foldingModel) {
foldingModel.applyCollapseState(state.collapsedRegions);
foldingModel.applyMemento(state.collapsedRegions);
}
});
}
......
......@@ -32,7 +32,7 @@ export interface FoldingModelChangeEvent {
collapseStateChanged?: FoldingRegion[];
}
export type CollapseState = ILineRange[];
export type CollapseMemento = ILineRange[];
export class FoldingModel {
private _textModel: IModel;
......@@ -137,9 +137,9 @@ export class FoldingModel {
}
/**
* Collapse state, for persistence only
* Collapse state memento, for persistence only
*/
public getCollapseState(): CollapseState {
public getMemento(): CollapseMemento {
let collapsedRanges: ILineRange[] = [];
for (let region of this._regions) {
if (region.isCollapsed && region.editorDecorationId) {
......@@ -160,7 +160,7 @@ export class FoldingModel {
/**
* Apply persisted state, for persistence only
*/
public applyCollapseState(state: CollapseState) {
public applyMemento(state: CollapseMemento) {
if (!Array.isArray(state)) {
return;
}
......
......@@ -5,7 +5,7 @@
import Event, { Emitter } from 'vs/base/common/event';
import { Range, IRange } from 'vs/editor/common/core/range';
import { FoldingRegion, FoldingModel, IFoldingRange, CollapseState } from 'vs/editor/contrib/folding/common/foldingModel';
import { FoldingRegion, FoldingModel, IFoldingRange, CollapseMemento } from 'vs/editor/contrib/folding/common/foldingModel';
import { IDisposable } from 'vs/base/common/lifecycle';
import { Selection } from 'vs/editor/common/core/selection';
import { findFirst } from 'vs/base/common/arrays';
......@@ -56,7 +56,7 @@ export class HiddenRangeModel {
}
}
public applyCollapseState(state: CollapseState): boolean {
public applyMemento(state: CollapseMemento): boolean {
if (!Array.isArray(state) || state.length === 0) {
return false;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册