@theia/cpp
Version:
Theia - Cpp Extension
86 lines • 4.11 kB
TypeScript
/********************************************************************************
* Copyright (C) 2017 TypeFox and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { MessageConnection } from 'vscode-jsonrpc';
import { BaseLanguageClientContribution, LanguageClientFactory, LanguageClientOptions, ILanguageClient } from '@theia/languages/lib/browser';
import { Languages, Workspace } from '@theia/languages/lib/browser';
import { SemanticHighlightingService } from '@theia/editor/lib/browser/semantic-highlight/semantic-highlighting-service';
import { ILogger } from '@theia/core/lib/common/logger';
import { WindowService } from '@theia/core/lib/browser/window/window-service';
import { CppStartParameters } from '../common';
import { CppBuildConfigurationManager } from './cpp-build-configurations';
import { CppBuildConfigurationsStatusBarElement } from './cpp-build-configurations-statusbar-element';
import { CppPreferences } from './cpp-preferences';
export declare class CppLanguageClientContribution extends BaseLanguageClientContribution {
protected readonly workspace: Workspace;
protected readonly languages: Languages;
protected readonly languageClientFactory: LanguageClientFactory;
protected readonly semanticHighlightingService: SemanticHighlightingService;
readonly id = "cpp";
readonly name = "C/C++";
protected readonly cppPreferences: CppPreferences;
protected readonly cppBuildConfigurations: CppBuildConfigurationManager;
protected readonly cppBuildConfigurationsStatusBarElement: CppBuildConfigurationsStatusBarElement;
protected readonly windowService: WindowService;
protected readonly logger: ILogger;
constructor(workspace: Workspace, languages: Languages, languageClientFactory: LanguageClientFactory, semanticHighlightingService: SemanticHighlightingService);
/**
* Initialize the client contribution.
*/
protected init(): void;
/**
* Handle the language client `onReady` event.
* @param languageClient the language client.
*/
protected onReady(languageClient: ILanguageClient): void;
/**
* Create a compilation database map.
* @param mergeCompilationDatabases flag determining whether to merge the compilation databases.
*
* @returns the compilation database map.
*/
protected createCompilationDatabaseMap(mergeCompilationDatabases: boolean): Promise<Map<string, string>>;
/**
* Create the language client.
* @param connection the message connection.
*
* @returns the language client.
*/
protected createLanguageClient(connection: MessageConnection): ILanguageClient;
/**
* Update the language initialization options.
*/
private updateInitializationOptions;
/**
* Handle the `activeBuildConfigChanged` event.
*/
protected onActiveBuildConfigChanged(): void;
protected get documentSelector(): string[];
protected get globPatterns(): string[];
protected get configurationSection(): string[];
/**
* Create the language client options.
*
* @returns the language client options.
*/
protected createOptions(): LanguageClientOptions;
/**
* Get the language start options.
*
* @returns a promise resolving to the `CppStartParameters`.
*/
protected getStartParameters(): Promise<CppStartParameters>;
}
//# sourceMappingURL=cpp-language-client-contribution.d.ts.map