From 6563b98333c7fb245986b0b550d9d77474220492 Mon Sep 17 00:00:00 2001 From: Josh Gross Date: Mon, 28 Nov 2022 15:49:56 -0500 Subject: [PATCH] Map workspaces to the correct repository --- actions-languageserver/src/index.ts | 7 +------ actions-languageserver/src/on-completion.ts | 17 +++++------------ 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/actions-languageserver/src/index.ts b/actions-languageserver/src/index.ts index f82d55c..bea1564 100644 --- a/actions-languageserver/src/index.ts +++ b/actions-languageserver/src/index.ts @@ -28,7 +28,6 @@ const documents: TextDocuments = new TextDocuments(TextDocument); let sessionToken: string | undefined; let repos: RepositoryContext[] = []; -let repoWorkspaceMap = new Map(); let hasConfigurationCapability = false; let hasWorkspaceFolderCapability = false; @@ -50,9 +49,6 @@ connection.onInitialize((params: InitializeParams) => { sessionToken = options.sessionToken; if (options.repos) { repos = options.repos; - for (const repo of repos) { - repoWorkspaceMap.set(repo.workspaceUri, repo); - } } const result: InitializeResult = { @@ -110,10 +106,9 @@ connection.onCompletion( }: TextDocumentPositionParams): Promise => { return await onCompletion( position, - textDocument.uri, documents.get(textDocument.uri)!, sessionToken, - repoWorkspaceMap + repos.find((repo) => textDocument.uri.startsWith(repo.workspaceUri)) ); } ); diff --git a/actions-languageserver/src/on-completion.ts b/actions-languageserver/src/on-completion.ts index 45bc9b4..9d314cc 100644 --- a/actions-languageserver/src/on-completion.ts +++ b/actions-languageserver/src/on-completion.ts @@ -2,7 +2,7 @@ import { complete } from "@github/actions-languageservice/complete"; import { WorkflowContext } from "@github/actions-languageservice/context/workflow-context"; import { ValueProviderConfig } from "@github/actions-languageservice/value-providers/config"; import { Octokit } from "@octokit/rest"; -import { CompletionItem, DocumentUri, Position } from "vscode-languageserver"; +import { CompletionItem, Position } from "vscode-languageserver"; import { TextDocument } from "vscode-languageserver-textdocument"; import { RepositoryContext } from "./initializationOptions"; import { getEnvironments } from "./value-providers/job-environment"; @@ -10,14 +10,13 @@ import { getRunnerLabels } from "./value-providers/runs-on"; export async function onCompletion( position: Position, - uri: DocumentUri, document: TextDocument, sessionToken: string | undefined, - repoWorkflowMap: Map + repoContext: RepositoryContext | undefined ): Promise { const config: ValueProviderConfig = { getCustomValues: async (key: string, context: WorkflowContext) => - getCustomValues(key, context, sessionToken, repoWorkflowMap), + getCustomValues(key, context, sessionToken, repoContext), }; return await complete(document, position, config); } @@ -26,15 +25,9 @@ async function getCustomValues( key: string, context: WorkflowContext, sessionToken: string | undefined, - repoWorkspaceMap: Map + repo: RepositoryContext | undefined, ) { - if (!sessionToken) { - return; - } - - // TODO: Parse workflow URI and look up repo for workspace - const [repo] = repoWorkspaceMap.values(); - if (!repo) { + if (!sessionToken || !repo) { return; }