Merge from vscode da3c97f3668393ebfcb9f8208d7616018d6d1859 (#5360)

This commit is contained in:
Anthony Dresser
2019-05-03 21:59:40 -07:00
committed by GitHub
parent 39f9c72390
commit df7645e4e5
12 changed files with 66 additions and 94 deletions

View File

@@ -392,7 +392,7 @@ export class ExtHostCommentThread implements vscode.CommentThread {
readonly onDidUpdateCommentThread = this._onDidUpdateCommentThread.event;
set range(range: vscode.Range) {
if (range.isEqual(this._range)) {
if (!range.isEqual(this._range)) {
this._range = range;
this._onDidUpdateCommentThread.fire();
}
@@ -413,11 +413,11 @@ export class ExtHostCommentThread implements vscode.CommentThread {
this._onDidUpdateCommentThread.fire();
}
get comments(): (vscode.Comment & vscode.CommentLegacy)[] {
get comments(): vscode.Comment[] {
return this._comments;
}
set comments(newComments: (vscode.Comment & vscode.CommentLegacy)[]) {
set comments(newComments: vscode.Comment[]) {
this._comments = newComments;
this._onDidUpdateCommentThread.fire();
}
@@ -478,7 +478,7 @@ export class ExtHostCommentThread implements vscode.CommentThread {
private _id: string,
private _resource: vscode.Uri,
private _range: vscode.Range,
private _comments: (vscode.Comment & vscode.CommentLegacy)[]
private _comments: vscode.Comment[]
) {
this._proxy.$createCommentThread(
this._commentController.handle,
@@ -662,7 +662,7 @@ class ExtHostCommentController implements vscode.CommentController {
this._proxy.$registerCommentController(this.handle, _id, _label);
}
createCommentThread(id: string, resource: vscode.Uri, range: vscode.Range, comments: (vscode.Comment & vscode.CommentLegacy)[]): vscode.CommentThread {
createCommentThread(id: string, resource: vscode.Uri, range: vscode.Range, comments: vscode.Comment[]): vscode.CommentThread {
const commentThread = new ExtHostCommentThread(this._proxy, this._commandsConverter, this, id, resource, range, comments);
this._threads.set(commentThread.handle, commentThread);
return commentThread;
@@ -708,7 +708,7 @@ function convertToCommentThread(extensionId: ExtensionIdentifier, provider: vsco
threadId: vscodeCommentThread.id,
resource: vscodeCommentThread.resource.toString(),
range: extHostTypeConverter.Range.from(vscodeCommentThread.range),
comments: vscodeCommentThread.comments.map(comment => convertToComment(provider, comment as vscode.Comment & vscode.CommentLegacy, commandsConverter)),
comments: vscodeCommentThread.comments.map(comment => convertToComment(provider, comment as vscode.Comment, commandsConverter)),
collapsibleState: vscodeCommentThread.collapsibleState
};
}
@@ -725,7 +725,7 @@ function convertFromCommentThread(commentThread: modes.CommentThread): vscode.Co
} as vscode.CommentThread;
}
function convertFromComment(comment: modes.Comment): vscode.Comment & vscode.CommentLegacy {
function convertFromComment(comment: modes.Comment): vscode.Comment {
let userIconPath: URI | undefined;
if (comment.userIconPath) {
try {
@@ -739,6 +739,10 @@ function convertFromComment(comment: modes.Comment): vscode.Comment & vscode.Com
id: comment.commentId,
commentId: comment.commentId,
body: extHostTypeConverter.MarkdownString.to(comment.body),
author: {
name: comment.userName,
iconPath: userIconPath
},
userName: comment.userName,
userIconPath: userIconPath,
canEdit: comment.canEdit,
@@ -754,13 +758,14 @@ function convertFromComment(comment: modes.Comment): vscode.Comment & vscode.Com
};
}
function convertToModeComment(commentController: ExtHostCommentController, vscodeComment: vscode.Comment & vscode.CommentLegacy, commandsConverter: CommandsConverter): modes.Comment {
const iconPath = vscodeComment.userIconPath ? vscodeComment.userIconPath.toString() : vscodeComment.gravatar;
function convertToModeComment(commentController: ExtHostCommentController, vscodeComment: vscode.Comment, commandsConverter: CommandsConverter): modes.Comment {
const iconPath = vscodeComment.author && vscodeComment.author.iconPath ? vscodeComment.author.iconPath.toString() :
(vscodeComment.userIconPath ? vscodeComment.userIconPath.toString() : vscodeComment.gravatar);
return {
commentId: vscodeComment.id || vscodeComment.commentId,
body: extHostTypeConverter.MarkdownString.from(vscodeComment.body),
userName: vscodeComment.userName,
userName: vscodeComment.author ? vscodeComment.author.name : vscodeComment.userName,
userIconPath: iconPath,
isDraft: vscodeComment.isDraft,
selectCommand: vscodeComment.selectCommand ? commandsConverter.toInternal(vscodeComment.selectCommand) : undefined,
@@ -771,7 +776,7 @@ function convertToModeComment(commentController: ExtHostCommentController, vscod
};
}
function convertToComment(provider: vscode.DocumentCommentProvider | vscode.WorkspaceCommentProvider, vscodeComment: vscode.Comment & vscode.CommentLegacy, commandsConverter: CommandsConverter): modes.Comment {
function convertToComment(provider: vscode.DocumentCommentProvider | vscode.WorkspaceCommentProvider, vscodeComment: vscode.Comment, commandsConverter: CommandsConverter): modes.Comment {
const canEdit = !!(provider as vscode.DocumentCommentProvider).editComment && vscodeComment.canEdit;
const canDelete = !!(provider as vscode.DocumentCommentProvider).deleteComment && vscodeComment.canDelete;
const iconPath = vscodeComment.userIconPath ? vscodeComment.userIconPath.toString() : vscodeComment.gravatar;

View File

@@ -2288,61 +2288,6 @@ export enum FoldingRangeKind {
//#endregion
//#region Comment
@es5ClassCompat
export class Comment {
id: string;
body: MarkdownString;
userName: string;
label?: string;
userIconPath?: URI;
selectCommand?: vscode.Command;
editCommand?: vscode.Command;
deleteCommand?: vscode.Command;
/**
* The id of the comment
*
* @deprecated Use Id instead
*/
commentId: string;
/**
* @deprecated Use userIconPath instead. The avatar src of the user who created the comment
*/
gravatar?: string;
/**
* @deprecated, use editCommand
*/
canEdit?: boolean;
/**
* @deprecated, use deleteCommand
*/
canDelete?: boolean;
/**
* @deprecated
*/
command?: vscode.Command;
/**
* @deprecated
*/
isDraft?: boolean;
/**
* Proposed Comment Reaction
*/
commentReactions?: vscode.CommentReaction[];
constructor(id: string, body: MarkdownString, userName: string) {
this.id = id;
this.body = body;
this.userName = userName;
}
}
export enum CommentThreadCollapsibleState {
/**
* Determines an item is collapsed

View File

@@ -780,8 +780,6 @@ export function createApiFactory(
Color: extHostTypes.Color,
ColorInformation: extHostTypes.ColorInformation,
ColorPresentation: extHostTypes.ColorPresentation,
Comment: extHostTypes.Comment,
CommentLegacy: extHostTypes.Comment,
CommentThreadCollapsibleState: extHostTypes.CommentThreadCollapsibleState,
CompletionItem: extHostTypes.CompletionItem,
CompletionItemKind: extHostTypes.CompletionItemKind,