mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-25 19:18:59 +01:00
incorporate API feedback, https://github.com/microsoft/vscode/issues/16221
This commit is contained in:
@@ -1260,8 +1260,8 @@ class InlayHintsAdapter {
|
||||
tooltip: hint.tooltip && typeConvert.MarkdownString.from(hint.tooltip),
|
||||
position: typeConvert.Position.from(hint.position),
|
||||
kind: typeConvert.InlayHintKind.from(hint.kind ?? InlayHintKind.Other),
|
||||
whitespaceBefore: hint.whitespaceBefore,
|
||||
whitespaceAfter: hint.whitespaceAfter,
|
||||
whitespaceBefore: hint.paddingLeft,
|
||||
whitespaceAfter: hint.paddingRight,
|
||||
};
|
||||
|
||||
if (typeof hint.label === 'string') {
|
||||
@@ -1269,11 +1269,10 @@ class InlayHintsAdapter {
|
||||
} else {
|
||||
result.label = hint.label.map(part => {
|
||||
let r: modes.InlayHintLabelPart = { label: part.label };
|
||||
r.collapsible = part.collapsible;
|
||||
if (Location.isLocation(part.action)) {
|
||||
r.action = typeConvert.location.from(part.action);
|
||||
} else if (part.action) {
|
||||
r.action = this._commands.toInternal(part.action, disposables);
|
||||
if (Location.isLocation(part.location)) {
|
||||
r.location = typeConvert.location.from(part.location);
|
||||
} else if (part.command) {
|
||||
r.command = this._commands.toInternal(part.command, disposables);
|
||||
}
|
||||
return r;
|
||||
});
|
||||
|
||||
@@ -1159,8 +1159,8 @@ export namespace InlayHint {
|
||||
InlayHintKind.to(hint.kind)
|
||||
);
|
||||
res.tooltip = htmlContent.isMarkdownString(hint.tooltip) ? MarkdownString.to(hint.tooltip) : hint.tooltip;
|
||||
res.whitespaceAfter = hint.whitespaceAfter;
|
||||
res.whitespaceBefore = hint.whitespaceBefore;
|
||||
res.paddingLeft = hint.paddingLeft;
|
||||
res.paddingRight = hint.paddingRight;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
@@ -1169,11 +1169,11 @@ export namespace InlayHintLabelPart {
|
||||
|
||||
export function to(converter: CommandsConverter, part: modes.InlayHintLabelPart): types.InlayHintLabelPart {
|
||||
const result = new types.InlayHintLabelPart(part.label);
|
||||
result.collapsible = part.collapsible;
|
||||
if (modes.Command.is(part.action)) {
|
||||
result.action = converter.fromInternal(part.action);
|
||||
} else if (part.action) {
|
||||
result.action = location.to(part.action);
|
||||
|
||||
if (modes.Command.is(part.command)) {
|
||||
result.command = converter.fromInternal(part.command);
|
||||
} else if (part.location) {
|
||||
result.location = location.to(part.location);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1424,24 +1424,23 @@ export enum InlayHintKind {
|
||||
@es5ClassCompat
|
||||
export class InlayHintLabelPart {
|
||||
label: string;
|
||||
collapsible?: boolean;
|
||||
action?: vscode.Command | Location; // invokes provider
|
||||
location?: Location;
|
||||
command?: vscode.Command;
|
||||
|
||||
constructor(label: string) {
|
||||
this.label = label;
|
||||
}
|
||||
toString(): string {
|
||||
return this.label;
|
||||
}
|
||||
}
|
||||
|
||||
@es5ClassCompat
|
||||
export class InlayHint implements vscode.InlayHint {
|
||||
|
||||
label: string | InlayHintLabelPart[];
|
||||
tooltip?: string | vscode.MarkdownString;
|
||||
position: Position;
|
||||
kind?: vscode.InlayHintKind;
|
||||
whitespaceBefore?: boolean;
|
||||
whitespaceAfter?: boolean;
|
||||
paddingLeft?: boolean;
|
||||
paddingRight?: boolean;
|
||||
|
||||
constructor(label: string | InlayHintLabelPart[], position: Position, kind?: vscode.InlayHintKind) {
|
||||
this.label = label;
|
||||
|
||||
Reference in New Issue
Block a user