Skip to content

Commit

Permalink
use correct icons for terminal opener quick fixes (#167946)
Browse files Browse the repository at this point in the history
  • Loading branch information
meganrogge committed Dec 2, 2022
1 parent ec70dcd commit 392aa77
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import { IAction } from 'vs/base/common/actions';
import { Codicon } from 'vs/base/common/codicons';
import { Schemas } from 'vs/base/common/network';
import { CodeActionKind } from 'vs/editor/contrib/codeAction/common/types';
import { localize } from 'vs/nls';
import { ActionListItemKind, IListMenuItem } from 'vs/platform/actionWidget/browser/actionList';
import { IActionItem } from 'vs/platform/actionWidget/common/actionWidget';
import { ITerminalAction } from 'vs/workbench/contrib/terminal/browser/xterm/quickFixAddon';

export const enum TerminalQuickFixType {
Command = 'command',
Expand All @@ -17,12 +18,12 @@ export const enum TerminalQuickFixType {
}

export class TerminalQuickFix implements IActionItem {
action: IAction;
action: ITerminalAction;
type: string;
disabled?: boolean;
title?: string;
source: string;
constructor(action: IAction, type: string, source: string, title?: string, disabled?: boolean) {
constructor(action: ITerminalAction, type: string, source: string, title?: string, disabled?: boolean) {
this.action = action;
this.disabled = disabled;
this.title = title;
Expand Down Expand Up @@ -62,8 +63,10 @@ export function toMenuItems(inputQuickFixes: readonly TerminalQuickFix[], showHe
function getQuickFixIcon(quickFix: TerminalQuickFix): { codicon: Codicon } {
switch (quickFix.type) {
case TerminalQuickFixType.Opener:
// TODO: if it's a file link, use the open file icon
return { codicon: Codicon.link };
if ('uri' in quickFix.action && quickFix.action.uri) {
const isUrl = (quickFix.action.uri.scheme === Schemas.http || quickFix.action.uri.scheme === Schemas.https);
return { codicon: isUrl ? Codicon.linkExternal : Codicon.goToFile };
}
case TerminalQuickFixType.Command:
return { codicon: Codicon.run };
case TerminalQuickFixType.Port:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import { getLinesForCommand } from 'vs/platform/terminal/common/capabilities/com
import { IAnchor } from 'vs/base/browser/ui/contextview/contextview';
import { ILabelService } from 'vs/platform/label/common/label';
import { Schemas } from 'vs/base/common/network';
import { URI } from 'vs/base/common/uri';

const quickFixTelemetryTitle = 'terminal/quick-fix';
type QuickFixResultTelemetryEvent = {
Expand Down Expand Up @@ -274,6 +275,8 @@ export class TerminalQuickFixAddon extends Disposable implements ITerminalAddon,

export interface ITerminalAction extends IAction {
source: string;
uri?: URI;
command?: string;
}

export async function getQuickFixesForCommand(
Expand Down Expand Up @@ -350,7 +353,8 @@ export async function getQuickFixesForCommand(
if (!fix.uri) {
return;
}
const uriLabel = (fix.uri.scheme === Schemas.http || fix.uri.scheme === Schemas.https) ? encodeURI(fix.uri.toString(true)) : labelService.getUriLabel(fix.uri);
const isUrl = (fix.uri.scheme === Schemas.http || fix.uri.scheme === Schemas.https);
const uriLabel = isUrl ? encodeURI(fix.uri.toString(true)) : labelService.getUriLabel(fix.uri);
const label = localize('quickFix.opener', 'Open: {0}', uriLabel);
action = {
source: quickFix.source,
Expand Down

0 comments on commit 392aa77

Please sign in to comment.