mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
Mainly because "sorting_diagnostic_consumer" is legacy, since `SortingDiagnosticConsumer` became `SortingConsumer`. Also better reflecting contents of these files. Where I'm not renaming, I'm less positive about dropping "diagnostics" from "file_diagnostics" and "null_diagnostics" (which contain both a consumer and emitter, and "null.h" seems like poor naming), so not doing that here. Also "diagnostic.h" contains `struct Diagnostic`, so is a decent fit. Assisted-by: Google Antigravity with Gemini 3 Flash
27 lines
1.0 KiB
C++
27 lines
1.0 KiB
C++
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
|
// Exceptions. See /LICENSE for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
#ifndef CARBON_TOOLCHAIN_LANGUAGE_SERVER_LANGUAGE_SERVER_H_
|
|
#define CARBON_TOOLCHAIN_LANGUAGE_SERVER_LANGUAGE_SERVER_H_
|
|
|
|
#include "common/ostream.h"
|
|
#include "toolchain/base/install_paths.h"
|
|
#include "toolchain/diagnostics/consumer.h"
|
|
|
|
namespace Carbon::LanguageServer {
|
|
|
|
// Start the language server. input_stream and output_stream are used by LSP;
|
|
// error_stream is primarily for errors that don't fit into LSP. Returns true if
|
|
// the server cleanly exits.
|
|
//
|
|
// This is thread-hostile because `clangd::LoggingSession` relies on a global.
|
|
auto Run(const InstallPaths& installation, FILE* input_stream,
|
|
llvm::raw_ostream& output_stream, llvm::raw_ostream& error_stream,
|
|
llvm::raw_ostream* vlog_stream, Diagnostics::Consumer& consumer)
|
|
-> bool;
|
|
|
|
} // namespace Carbon::LanguageServer
|
|
|
|
#endif // CARBON_TOOLCHAIN_LANGUAGE_SERVER_LANGUAGE_SERVER_H_
|