@theia/cpp
Version:
Theia - Cpp Extension
67 lines • 2.54 kB
TypeScript
/********************************************************************************
* Copyright (C) 2019 Ericsson 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
********************************************************************************/
export declare const cppBuildConfigurationServerPath = "/services/cppbuildconfigurationserver";
/**
* Representation of a cpp build configuration.
*/
export interface CppBuildConfiguration {
/**
* The human-readable build configuration name.
*/
name: string;
/**
* The base directory of the build configuration.
*/
directory: string;
/**
* The list of commands for the build configuration.
*/
commands?: {
'build'?: string;
};
}
export declare const CppBuildConfigurationServer: unique symbol;
/**
* A `CppBuildConfigurationServer` is meant to do heavy disk operations on the
* project's filesystem, such as merging multiple compilation databases together.
*/
export interface CppBuildConfigurationServer {
/**
* Compilation databases get fairly big fairly quickly, so we want to
* offload this to the backend server somehow. Could be optimized by using
* sub-processing or anything else that would avoid stalling the application.
*
* @param params.configurations The list of configs to merge together.
*/
getMergedCompilationDatabase(params: {
directories: string[];
}): Promise<string>;
}
export declare class MockCppBuildConfigurationServer implements CppBuildConfigurationServer {
constructor();
/**
* Dispose the configuration server.
*/
dispose(): void;
/**
* Get the merged compilation database.
* @param params the passed arguments including the list of directories to search from.
*/
getMergedCompilationDatabase(params: {
directories: string[];
}): Promise<string>;
}
//# sourceMappingURL=cpp-build-configuration-protocol.d.ts.map