diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index 48751f1aa75fef5de0f34895779c7a62288bf0b5..4161f1d75c6d705928077d086039faf11ccebc38 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -452,7 +452,7 @@ export interface ExtHostDocumentsShape { } export interface ExtHostDocumentSaveParticipantShape { - $participateInSave(resource: URI, reason: SaveReason): Thenable; + $participateInSave(resource: UriComponents, reason: SaveReason): Thenable; } export interface ITextEditorAddData { @@ -510,9 +510,9 @@ export interface ExtHostExtensionServiceShape { } export interface FileSystemEvents { - created: URI[]; - changed: URI[]; - deleted: URI[]; + created: UriComponents[]; + changed: UriComponents[]; + deleted: UriComponents[]; } export interface ExtHostFileSystemEventServiceShape { $onFileEvent(events: FileSystemEvents): void; @@ -686,7 +686,7 @@ export const MainContext = { MainThreadStorage: createMainId('MainThreadStorage'), MainThreadTelemetry: createMainId('MainThreadTelemetry'), MainThreadTerminalService: createMainId('MainThreadTerminalService'), - MainThreadWorkspace: createMainId('MainThreadWorkspace'), + MainThreadWorkspace: createMainId('MainThreadWorkspace', ProxyType.CustomMarshaller), MainThreadFileSystem: createMainId('MainThreadFileSystem'), MainThreadExtensionService: createMainId('MainThreadExtensionService'), MainThreadSCM: createMainId('MainThreadSCM', ProxyType.CustomMarshaller), @@ -703,11 +703,11 @@ export const ExtHostContext = { ExtHostDocumentsAndEditors: createExtId('ExtHostDocumentsAndEditors', ProxyType.CustomMarshaller), ExtHostDocuments: createExtId('ExtHostDocuments'), ExtHostDocumentContentProviders: createExtId('ExtHostDocumentContentProviders'), - ExtHostDocumentSaveParticipant: createExtId('ExtHostDocumentSaveParticipant', ProxyType.CustomMarshaller), + ExtHostDocumentSaveParticipant: createExtId('ExtHostDocumentSaveParticipant'), ExtHostEditors: createExtId('ExtHostEditors', ProxyType.CustomMarshaller), ExtHostTreeViews: createExtId('ExtHostTreeViews'), ExtHostFileSystem: createExtId('ExtHostFileSystem', ProxyType.CustomMarshaller), - ExtHostFileSystemEventService: createExtId('ExtHostFileSystemEventService', ProxyType.CustomMarshaller), + ExtHostFileSystemEventService: createExtId('ExtHostFileSystemEventService'), ExtHostHeapService: createExtId('ExtHostHeapMonitor'), ExtHostLanguageFeatures: createExtId('ExtHostLanguageFeatures', ProxyType.CustomMarshaller), ExtHostQuickOpen: createExtId('ExtHostQuickOpen'), diff --git a/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts b/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts index 80b9ae90671d51c3153ba1b49427a364a80af19c..3733a20adbc49e9da144d928817be219ef62cd09 100644 --- a/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts +++ b/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts @@ -5,7 +5,7 @@ 'use strict'; import Event from 'vs/base/common/event'; -import URI from 'vs/base/common/uri'; +import URI, { UriComponents } from 'vs/base/common/uri'; import { sequence, always } from 'vs/base/common/async'; import { illegalState } from 'vs/base/common/errors'; import { ExtHostDocumentSaveParticipantShape, MainThreadEditorsShape, IWorkspaceResourceEdit } from 'vs/workbench/api/node/extHost.protocol'; @@ -49,7 +49,8 @@ export class ExtHostDocumentSaveParticipant implements ExtHostDocumentSavePartic }; } - $participateInSave(resource: URI, reason: SaveReason): Thenable { + $participateInSave(data: UriComponents, reason: SaveReason): Thenable { + const resource = URI.revive(data); const entries = this._callbacks.toArray(); let didTimeout = false; diff --git a/src/vs/workbench/api/node/extHostFileSystemEventService.ts b/src/vs/workbench/api/node/extHostFileSystemEventService.ts index 1c5aa2b1e289122972576fbb57470b480d970151..1ac5f892b3f06decec8c7bb795b154b940c15b86 100644 --- a/src/vs/workbench/api/node/extHostFileSystemEventService.ts +++ b/src/vs/workbench/api/node/extHostFileSystemEventService.ts @@ -9,6 +9,7 @@ import { Disposable } from './extHostTypes'; import { parse, IRelativePattern } from 'vs/base/common/glob'; import { Uri, FileSystemWatcher as _FileSystemWatcher } from 'vscode'; import { FileSystemEvents, ExtHostFileSystemEventServiceShape } from './extHost.protocol'; +import URI from 'vs/base/common/uri'; class FileSystemWatcher implements _FileSystemWatcher { @@ -48,22 +49,25 @@ class FileSystemWatcher implements _FileSystemWatcher { let subscription = dispatcher(events => { if (!ignoreCreateEvents) { for (let created of events.created) { - if (parsedPattern(created.fsPath)) { - this._onDidCreate.fire(created); + let uri = URI.revive(created); + if (parsedPattern(uri.fsPath)) { + this._onDidCreate.fire(uri); } } } if (!ignoreChangeEvents) { for (let changed of events.changed) { - if (parsedPattern(changed.fsPath)) { - this._onDidChange.fire(changed); + let uri = URI.revive(changed); + if (parsedPattern(uri.fsPath)) { + this._onDidChange.fire(uri); } } } if (!ignoreDeleteEvents) { for (let deleted of events.deleted) { - if (parsedPattern(deleted.fsPath)) { - this._onDidDelete.fire(deleted); + let uri = URI.revive(deleted); + if (parsedPattern(uri.fsPath)) { + this._onDidDelete.fire(uri); } } }