return an empty API

This commit is contained in:
Bob Brown (DEVDIV)
2019-08-08 09:41:13 -07:00
parent 007292cbda
commit 8e69cde774
2 changed files with 35 additions and 3 deletions
+33 -1
View File
@@ -4,7 +4,7 @@
* ------------------------------------------------------------------------------------------ */
'use strict';
import { CustomConfigurationProvider, Version, CppToolsApi } from 'vscode-cpptools';
import { CustomConfigurationProvider, Version, CppToolsApi, CppToolsExtension } from 'vscode-cpptools';
import { CppToolsTestApi, CppToolsTestHook, CppToolsTestExtension } from 'vscode-cpptools/out/testApi';
import { CppTools } from './cppTools';
@@ -63,3 +63,35 @@ export class CppTools1 implements CppToolsTestApi, CppToolsTestExtension {
return this.BackupApi.getTestHook();
}
}
/**
* This is an empty implementation of the API. Used when the extension is activated on
* an unsupported platform.
*/
export class NullCppTools implements CppToolsApi, CppToolsExtension {
private version: Version;
getApi(version: Version): CppToolsApi {
this.version = version;
return this;
}
getVersion(): Version {
return this.version;
}
registerCustomConfigurationProvider(provider: CustomConfigurationProvider): void {
}
notifyReady(provider: CustomConfigurationProvider): void {
}
didChangeCustomConfiguration(provider: CustomConfigurationProvider): void {
}
didChangeCustomBrowseConfiguration(provider: CustomConfigurationProvider): void {
}
dispose(): void {
}
}
+2 -2
View File
@@ -20,7 +20,7 @@ import { PackageManager, PackageManagerError, IPackage } from './packageManager'
import { PersistentState } from './LanguageServer/persistentState';
import { getInstallationInformation, InstallationInformation, setInstallationStage, setInstallationType, InstallationType } from './installationInformation';
import { Logger, getOutputChannelLogger, showOutputChannel } from './logger';
import { CppTools1 } from './cppTools1';
import { CppTools1, NullCppTools } from './cppTools1';
const releaseNotesVersion: number = 5;
const cppTools: CppTools1 = new CppTools1();
@@ -37,7 +37,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<CppToo
}
if (errMsg) {
vscode.window.showErrorMessage(errMsg);
return;
return new NullCppTools();
}
util.setExtensionContext(context);