3
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
4
*--------------------------------------------------------------------------------------------*/
5
5
6
- import { IAction } from 'vs/base/common/actions' ;
7
6
import { Codicon } from 'vs/base/common/codicons' ;
7
+ import { Schemas } from 'vs/base/common/network' ;
8
8
import { CodeActionKind } from 'vs/editor/contrib/codeAction/common/types' ;
9
9
import { localize } from 'vs/nls' ;
10
10
import { ActionListItemKind , IListMenuItem } from 'vs/platform/actionWidget/browser/actionList' ;
11
11
import { IActionItem } from 'vs/platform/actionWidget/common/actionWidget' ;
12
+ import { ITerminalAction } from 'vs/workbench/contrib/terminal/browser/xterm/quickFixAddon' ;
12
13
13
14
export const enum TerminalQuickFixType {
14
15
Command = 'command' ,
@@ -17,12 +18,12 @@ export const enum TerminalQuickFixType {
17
18
}
18
19
19
20
export class TerminalQuickFix implements IActionItem {
20
- action : IAction ;
21
+ action : ITerminalAction ;
21
22
type : string ;
22
23
disabled ?: boolean ;
23
24
title ?: string ;
24
25
source : string ;
25
- constructor ( action : IAction , type : string , source : string , title ?: string , disabled ?: boolean ) {
26
+ constructor ( action : ITerminalAction , type : string , source : string , title ?: string , disabled ?: boolean ) {
26
27
this . action = action ;
27
28
this . disabled = disabled ;
28
29
this . title = title ;
@@ -62,8 +63,10 @@ export function toMenuItems(inputQuickFixes: readonly TerminalQuickFix[], showHe
62
63
function getQuickFixIcon ( quickFix : TerminalQuickFix ) : { codicon : Codicon } {
63
64
switch ( quickFix . type ) {
64
65
case TerminalQuickFixType . Opener :
65
- // TODO: if it's a file link, use the open file icon
66
- return { codicon : Codicon . link } ;
66
+ if ( 'uri' in quickFix . action && quickFix . action . uri ) {
67
+ const isUrl = ( quickFix . action . uri . scheme === Schemas . http || quickFix . action . uri . scheme === Schemas . https ) ;
68
+ return { codicon : isUrl ? Codicon . linkExternal : Codicon . goToFile } ;
69
+ }
67
70
case TerminalQuickFixType . Command :
68
71
return { codicon : Codicon . run } ;
69
72
case TerminalQuickFixType . Port :
0 commit comments