vscode-texinfo/src/contexts/document.ts

38 lines
801 B
TypeScript
Raw Normal View History

2020-10-24 21:45:32 +00:00
/**
2020-10-25 18:14:13 +00:00
* contexts/document.ts
2020-10-24 21:45:32 +00:00
*
* @author CismonX <admin@cismon.net>
* @license MIT
*/
import * as vscode from 'vscode';
import DocumentSymbolContext from './document_symbol';
import FoldingRangeContext from './folding_range';
import PreviewContext from './preview';
2020-10-25 17:52:13 +00:00
/**
* Holds all contexts for a Texinfo document.
*/
2020-10-24 21:45:32 +00:00
export default class DocumentContext {
readonly foldingRange = new FoldingRangeContext(this.document);
readonly documentSymbol = new DocumentSymbolContext(this);
private preview?: PreviewContext;
initPreview() {
return this.preview ??= new PreviewContext(this);
}
getPreview() {
return this.preview;
}
closePreview() {
this.preview = undefined;
}
constructor(readonly document: vscode.TextDocument) {}
}