blob: d63d2eb2536ceaed962b41471c07e71a87fbf182 [file]
/*---------------------------------------------------------
* Copyright 2021 The Go Authors. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------*/
import { Uri } from 'vscode';
export { ToolAtVersion } from './goTools';
export interface CommandInvocation {
binPath: string;
}
/**
* The API we expose to other extensions.
*
* @example
* const Go = await vscode.extensions
* .getExtension<ExtensionAPI>('golang.go')
* .then(x => x.activate());
*
* console.log(`Go extension is a ${Go.isPreview ? 'preview' : 'release'} version`);
*/
export interface ExtensionAPI {
/** True if the extension is running in preview mode (e.g. prerelease) */
isPreview: boolean;
settings: {
/**
* Returns the execution command corresponding to the specified resource, taking into account
* any workspace-specific settings for the workspace to which this resource belongs.
*/
getExecutionCommand(toolName: string, resource?: Uri): CommandInvocation | undefined;
};
}