mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-18 15:55:59 +01:00
use weak references to track TextDocument that were given out to consumers
This commit is contained in:
@@ -244,16 +244,24 @@ export class ExtHostAPIImplementation {
|
||||
return pluginHostFileSystemEvent.createFileSystemWatcher(pattern, ignoreCreate, ignoreChange, ignoreDelete);
|
||||
},
|
||||
get textDocuments() {
|
||||
return pluginHostDocuments.getDocuments();
|
||||
return pluginHostDocuments.getAllDocumentData().map(data => data.document);
|
||||
},
|
||||
set textDocuments(value) {
|
||||
throw errors.readonly();
|
||||
},
|
||||
// createTextDocument(text: string, fileName?: string, language?: string): Thenable<vscode.TextDocument> {
|
||||
// return pluginHostDocuments.createDocument(text, fileName, language);
|
||||
// },
|
||||
openTextDocument(uriOrFileName:vscode.Uri | string) {
|
||||
return pluginHostDocuments.openDocument(uriOrFileName);
|
||||
openTextDocument(uriOrFileName: vscode.Uri | string) {
|
||||
let uri: URI;
|
||||
if (typeof uriOrFileName === 'string') {
|
||||
uri = URI.file(uriOrFileName);
|
||||
} else if (uriOrFileName instanceof URI) {
|
||||
uri = <URI>uriOrFileName;
|
||||
} else {
|
||||
throw new Error('illegal argument - uriOrFileName');
|
||||
}
|
||||
return pluginHostDocuments.ensureDocumentData(uri).then(() => {
|
||||
const data = pluginHostDocuments.getDocumentData(uri);
|
||||
return data && data.document;
|
||||
});
|
||||
},
|
||||
registerTextDocumentContentProvider(scheme: string, provider: vscode.TextDocumentContentProvider) {
|
||||
return pluginHostDocuments.registerTextDocumentContentProvider(scheme, provider);
|
||||
|
||||
Reference in New Issue
Block a user