return an empty API
This commit is contained in:
@@ -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 {
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user