diff --git a/languageservice/src/action.ts b/languageservice/src/action.ts index 2512e69..8aa6e8b 100644 --- a/languageservice/src/action.ts +++ b/languageservice/src/action.ts @@ -65,3 +65,10 @@ export function actionIdentifier(ref: ActionReference): string { } return `${ref.owner}/${ref.name}/${ref.ref}`; } + +export function actionUrl(actionRef: ActionReference): string { + // TODO: Support base uri for GHES + const gitHubBaseUri = "https://www.github.com/"; + + return `${gitHubBaseUri}${actionRef.owner}/${actionRef.name}/tree/${actionRef.ref}/${actionRef.path || ""}`; +} diff --git a/languageservice/src/document-links.ts b/languageservice/src/document-links.ts index 42ec015..e995bee 100644 --- a/languageservice/src/document-links.ts +++ b/languageservice/src/document-links.ts @@ -4,7 +4,7 @@ import {isJob} from "@github/actions-workflow-parser/model/type-guards"; import {File} from "@github/actions-workflow-parser/workflows/file"; import {TextDocument} from "vscode-languageserver-textdocument"; import {DocumentLink} from "vscode-languageserver-types"; -import {parseActionReference} from "./action"; +import {actionUrl, parseActionReference} from "./action"; import {nullTrace} from "./nulltrace"; import {mapRange} from "./utils/range"; @@ -26,9 +26,6 @@ export async function documentLinks(document: TextDocument): Promise