提交 7a6092b2 编写于 作者: M Martin Aeschlimann

folding: handle view states without provider

上级 7176f367
......@@ -29,9 +29,9 @@ import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageCo
import { IndentRangeProvider } from 'vs/editor/contrib/folding/indentRangeProvider';
import { IPosition } from 'vs/editor/common/core/position';
import { FoldingRangeProviderRegistry, FoldingRangeKind } from 'vs/editor/common/modes';
import { SyntaxRangeProvider } from './syntaxRangeProvider';
import { SyntaxRangeProvider, ID_SYNTAX_PROVIDER } from './syntaxRangeProvider';
import { CancellationToken } from 'vs/base/common/cancellation';
import { InitializingRangeProvider } from 'vs/editor/contrib/folding/intializingRangeProvider';
import { InitializingRangeProvider, ID_INIT_PROVIDER } from 'vs/editor/contrib/folding/intializingRangeProvider';
export const ID = 'editor.contrib.folding';
......@@ -155,7 +155,7 @@ export class FoldingController implements IEditorContribution {
return;
}
if (state.provider !== 'indent') {
if (state.provider === ID_SYNTAX_PROVIDER || state.provider === ID_INIT_PROVIDER) {
this.foldingStateMemento = state;
}
......
......@@ -16,8 +16,10 @@ import { CancellationToken } from 'vs/base/common/cancellation';
const MAX_FOLDING_REGIONS_FOR_INDENT_LIMIT = 5000;
export const ID_INDENT_PROVIDER = 'indent';
export class IndentRangeProvider implements RangeProvider {
readonly id = 'indent';
readonly id = ID_INDENT_PROVIDER;
readonly decorations;
......
......@@ -12,8 +12,10 @@ import { TPromise } from 'vs/base/common/winjs.base';
import { CancellationToken } from 'vs/base/common/cancellation';
import { IFoldingRangeData, sanitizeRanges } from 'vs/editor/contrib/folding/syntaxRangeProvider';
export const ID_INIT_PROVIDER = 'init';
export class InitializingRangeProvider implements RangeProvider {
readonly id = 'init';
readonly id = ID_INIT_PROVIDER;
private decorationIds: string[] | undefined;
private timeout: number;
......
......@@ -23,9 +23,11 @@ export interface IFoldingRangeData extends FoldingRange {
const foldingContext: FoldingContext = {
};
export const ID_SYNTAX_PROVIDER = 'syntax';
export class SyntaxRangeProvider implements RangeProvider {
readonly id = 'syntax';
readonly id = ID_SYNTAX_PROVIDER;
constructor(private editorModel: ITextModel, private providers: FoldingRangeProvider[], private limit = MAX_FOLDING_REGIONS) {
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册