Add document parameter to draft methods on comments provider

This commit is contained in:
Rachel Macfarlane
2018-12-18 14:57:39 -08:00
parent 26084201c8
commit c5c15eb75f
7 changed files with 51 additions and 33 deletions

View File

@@ -1044,9 +1044,9 @@ export interface ExtHostCommentsShape {
$replyToCommentThread(handle: number, document: UriComponents, range: IRange, commentThread: modes.CommentThread, text: string): Promise<modes.CommentThread>;
$editComment(handle: number, document: UriComponents, comment: modes.Comment, text: string): Promise<void>;
$deleteComment(handle: number, document: UriComponents, comment: modes.Comment): Promise<void>;
$startDraft(handle: number): Promise<void>;
$deleteDraft(handle: number): Promise<void>;
$finishDraft(handle: number): Promise<void>;
$startDraft(handle: number, document: UriComponents): Promise<void>;
$deleteDraft(handle: number, document: UriComponents): Promise<void>;
$finishDraft(handle: number, document: UriComponents): Promise<void>;
$provideWorkspaceComments(handle: number): Promise<modes.CommentThread[]>;
}

View File

@@ -121,24 +121,42 @@ export class ExtHostComments implements ExtHostCommentsShape {
});
}
$startDraft(handle: number): Promise<void> {
$startDraft(handle: number, uri: UriComponents): Promise<void> {
const data = this._documents.getDocumentData(URI.revive(uri));
if (!data || !data.document) {
throw new Error('Unable to retrieve document from URI');
}
const provider = this._documentProviders.get(handle);
return asPromise(() => {
return provider.startDraft(CancellationToken.None);
return provider.startDraft(data.document, CancellationToken.None);
});
}
$deleteDraft(handle: number): Promise<void> {
$deleteDraft(handle: number, uri: UriComponents): Promise<void> {
const data = this._documents.getDocumentData(URI.revive(uri));
if (!data || !data.document) {
throw new Error('Unable to retrieve document from URI');
}
const provider = this._documentProviders.get(handle);
return asPromise(() => {
return provider.deleteDraft(CancellationToken.None);
return provider.deleteDraft(data.document, CancellationToken.None);
});
}
$finishDraft(handle: number): Promise<void> {
$finishDraft(handle: number, uri: UriComponents): Promise<void> {
const data = this._documents.getDocumentData(URI.revive(uri));
if (!data || !data.document) {
throw new Error('Unable to retrieve document from URI');
}
const provider = this._documentProviders.get(handle);
return asPromise(() => {
return provider.finishDraft(CancellationToken.None);
return provider.finishDraft(data.document, CancellationToken.None);
});
}