Add information action

Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
Sanjula Ganepola
2024-09-28 19:44:33 -04:00
parent e731071d31
commit 7958d3d5ba
3 changed files with 24 additions and 1 deletions

View File

@@ -66,6 +66,12 @@
"title": "Refresh", "title": "Refresh",
"icon": "$(refresh)" "icon": "$(refresh)"
}, },
{
"category": "GitHub Local Actions",
"command": "githubLocalActions.information",
"title": "Information",
"icon": "$(info)"
},
{ {
"category": "GitHub Local Actions", "category": "GitHub Local Actions",
"command": "githubLocalActions.runAllWorkflows", "command": "githubLocalActions.runAllWorkflows",
@@ -109,6 +115,10 @@
"command": "githubLocalActions.refreshComponents", "command": "githubLocalActions.refreshComponents",
"when": "never" "when": "never"
}, },
{
"command": "githubLocalActions.information",
"when": "never"
},
{ {
"command": "githubLocalActions.runAllWorkflows", "command": "githubLocalActions.runAllWorkflows",
"when": "never" "when": "never"
@@ -162,6 +172,11 @@
} }
], ],
"view/item/context": [ "view/item/context": [
{
"command": "githubLocalActions.information",
"when": "view == components && viewItem =~ /^githubLocalActions.component.*/",
"group": "inline@0"
},
{ {
"command": "githubLocalActions.openWorkflow", "command": "githubLocalActions.openWorkflow",
"when": "view == workflows && viewItem =~ /^githubLocalActions.workflow.*/", "when": "view == workflows && viewItem =~ /^githubLocalActions.workflow.*/",

View File

@@ -6,6 +6,7 @@ export interface Component<T extends CliStatus | ExtensionStatus> {
icon: string, icon: string,
version?: string, version?: string,
status: T, status: T,
information: string,
required: boolean required: boolean
message?: string message?: string
} }
@@ -30,6 +31,7 @@ export class ComponentManager {
icon: 'terminal', icon: 'terminal',
version: actCliInfo.version, version: actCliInfo.version,
status: actCliInfo.status, status: actCliInfo.status,
information: 'https://github.com/nektos/act',
required: true required: true
}); });
@@ -41,6 +43,7 @@ export class ComponentManager {
icon: 'dashboard', icon: 'dashboard',
version: dockerEngineVersion, version: dockerEngineVersion,
status: dockerEngineStatus, status: dockerEngineStatus,
information: 'https://docs.docker.com/engine',
required: true required: true
}); });
@@ -50,6 +53,7 @@ export class ComponentManager {
icon: 'extensions', icon: 'extensions',
version: githubActionsInfo.version, version: githubActionsInfo.version,
status: githubActionsInfo.status, status: githubActionsInfo.status,
information: 'https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-github-actions',
required: false, required: false,
message: 'GitHub Actions extension is not required, but is recommended to take advantage of workflow editor features.' message: 'GitHub Actions extension is not required, but is recommended to take advantage of workflow editor features.'
}); });
@@ -60,6 +64,7 @@ export class ComponentManager {
icon: 'terminal', icon: 'terminal',
version: githubCliInfo.version, version: githubCliInfo.version,
status: githubCliInfo.status, status: githubCliInfo.status,
information: 'https://cli.github.com',
required: false, required: false,
message: 'GitHub CLI is not required, but is recommended if you plan to use it to retrieve GitHub tokens.' message: 'GitHub CLI is not required, but is recommended if you plan to use it to retrieve GitHub tokens.'
}); });

View File

@@ -1,4 +1,4 @@
import { CancellationToken, commands, EventEmitter, ExtensionContext, extensions, TreeDataProvider, TreeItem } from "vscode"; import { CancellationToken, commands, env, EventEmitter, ExtensionContext, extensions, TreeDataProvider, TreeItem, Uri } from "vscode";
import { ComponentManager } from "../../componentManager"; import { ComponentManager } from "../../componentManager";
import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem"; import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem";
import ComponentTreeItem from "./component"; import ComponentTreeItem from "./component";
@@ -16,6 +16,9 @@ export default class ComponentsTreeDataProvider implements TreeDataProvider<Gith
context.subscriptions.push( context.subscriptions.push(
commands.registerCommand('githubLocalActions.refreshComponents', async () => { commands.registerCommand('githubLocalActions.refreshComponents', async () => {
this.refresh(); this.refresh();
}),
commands.registerCommand('githubLocalActions.information', async (componentTreeItem: ComponentTreeItem) => {
env.openExternal(Uri.parse(componentTreeItem.component.information));
}) })
); );
} }