提交 b4f4f55f 编写于 作者: R Rachel Macfarlane

Return void instead of comment from editComment, fixes #59460

上级 9906ecc7
......@@ -1117,7 +1117,7 @@ export interface DocumentCommentProvider {
provideDocumentComments(resource: URI, token: CancellationToken): Promise<CommentInfo>;
createNewCommentThread(resource: URI, range: Range, text: string, token: CancellationToken): Promise<CommentThread>;
replyToCommentThread(resource: URI, range: Range, thread: CommentThread, text: string, token: CancellationToken): Promise<CommentThread>;
editComment(resource: URI, comment: Comment, text: string, token: CancellationToken): Promise<Comment>;
editComment(resource: URI, comment: Comment, text: string, token: CancellationToken): Promise<void>;
deleteComment(resource: URI, comment: Comment, token: CancellationToken): Promise<void>;
onDidChangeCommentThreads(): Event<CommentThreadChangedEvent>;
}
......
......@@ -813,7 +813,7 @@ declare module 'vscode' {
/**
* Called when a user edits the comment body to the be new text text.
*/
editComment?(document: TextDocument, comment: Comment, text: string, token: CancellationToken): Promise<Comment>;
editComment?(document: TextDocument, comment: Comment, text: string, token: CancellationToken): Promise<void>;
/**
* Called when a user deletes the comment.
......
......@@ -1002,7 +1002,7 @@ export interface ExtHostCommentsShape {
$provideDocumentComments(handle: number, document: UriComponents): Thenable<modes.CommentInfo>;
$createNewCommentThread(handle: number, document: UriComponents, range: IRange, text: string): Thenable<modes.CommentThread>;
$replyToCommentThread(handle: number, document: UriComponents, range: IRange, commentThread: modes.CommentThread, text: string): Thenable<modes.CommentThread>;
$editComment(handle: number, document: UriComponents, comment: modes.Comment, text: string): Thenable<modes.Comment>;
$editComment(handle: number, document: UriComponents, comment: modes.Comment, text: string): Thenable<void>;
$deleteComment(handle: number, document: UriComponents, comment: modes.Comment): Thenable<void>;
$provideWorkspaceComments(handle: number): Thenable<modes.CommentThread[]>;
}
......
......@@ -93,7 +93,7 @@ export class ExtHostComments implements ExtHostCommentsShape {
}).then(commentThread => commentThread ? convertToCommentThread(provider, commentThread, this._commandsConverter) : null);
}
$editComment(handle: number, uri: UriComponents, comment: modes.Comment, text: string): Thenable<modes.Comment> {
$editComment(handle: number, uri: UriComponents, comment: modes.Comment, text: string): Thenable<void> {
const data = this._documents.getDocumentData(URI.revive(uri));
if (!data || !data.document) {
......@@ -103,7 +103,7 @@ export class ExtHostComments implements ExtHostCommentsShape {
const provider = this._documentProviders.get(handle);
return asThenable(() => {
return provider.editComment(data.document, convertFromComment(comment), text, CancellationToken.None);
}).then(comment => convertToComment(provider, comment, this._commandsConverter));
});
}
$deleteComment(handle: number, uri: UriComponents, comment: modes.Comment): Thenable<void> {
......
......@@ -29,6 +29,8 @@ import { Selection } from 'vs/editor/common/core/selection';
import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
import { Emitter, Event } from 'vs/base/common/event';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { assign } from 'vs/base/common/objects';
import { MarkdownString } from 'vs/base/common/htmlContent';
const UPDATE_COMMENT_LABEL = nls.localize('label.updateComment', "Update comment");
const UPDATE_IN_PROGRESS_LABEL = nls.localize('label.updatingComment', "Updating comment...");
......@@ -159,14 +161,14 @@ export class CommentNode extends Disposable {
this._updateCommentButton.label = UPDATE_IN_PROGRESS_LABEL;
try {
const editedComment = await this.commentService.editComment(this.owner, this.resource, this.comment, this._commentEditor.getValue());
if (!(editedComment instanceof Comment)) {
throw Error();
}
const newBody = this._commentEditor.getValue();
await this.commentService.editComment(this.owner, this.resource, this.comment, newBody);
this._updateCommentButton.enabled = true;
this._updateCommentButton.label = UPDATE_COMMENT_LABEL;
this._commentEditor.getDomNode().style.outline = '';
this.removeCommentEditor();
const editedComment = assign({}, this.comment, { body: new MarkdownString(newBody) });
this.update(editedComment);
} catch (e) {
this._updateCommentButton.enabled = true;
......
......@@ -41,7 +41,7 @@ export interface ICommentService {
updateComments(event: CommentThreadChangedEvent): void;
createNewCommentThread(owner: number, resource: URI, range: Range, text: string): Promise<CommentThread>;
replyToCommentThread(owner: number, resource: URI, range: Range, thread: CommentThread, text: string): Promise<CommentThread>;
editComment(owner: number, resource: URI, comment: Comment, text: string): Promise<Comment>;
editComment(owner: number, resource: URI, comment: Comment, text: string): Promise<void>;
deleteComment(owner: number, resource: URI, comment: Comment): Promise<boolean>;
getComments(resource: URI): Promise<CommentInfo[]>;
}
......@@ -116,7 +116,7 @@ export class CommentService extends Disposable implements ICommentService {
return null;
}
editComment(owner: number, resource: URI, comment: Comment, text: string): Promise<Comment> {
editComment(owner: number, resource: URI, comment: Comment, text: string): Promise<void> {
const commentProvider = this._commentProviders.get(owner);
if (commentProvider) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册