CIRCT 22.0.0git
Loading...
Searching...
No Matches
LSPServer.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LIB_CIRCT_TOOLS_CIRCT_VERILOG_LSP_LSPSERVER_H
10#define LIB_CIRCT_TOOLS_CIRCT_VERILOG_LSP_LSPSERVER_H
11
12#include "llvm/Support/LSP/Transport.h"
13
14#include <memory>
15
16namespace llvm {
17struct LogicalResult;
18} // namespace llvm
19namespace mlir {
20namespace lsp {
21class JSONTransport;
22} // namespace lsp
23} // namespace mlir
24
25namespace circt {
26namespace lsp {
27class VerilogServer;
28struct LSPServerOptions;
29/// Run the main loop of the LSP server using the given Verilog server and
30/// transport.
31llvm::LogicalResult runVerilogLSPServer(const LSPServerOptions &lspOptions,
33 llvm::lsp::JSONTransport &transport);
34
35} // namespace lsp
36} // namespace circt
37
38#endif // LIB_CIRCT_TOOLS_CIRCT_VERILOG_LSP_LSPSERVER_H
static std::unique_ptr< RpcServer > server
This class implements all of the Verilog related functionality necessary for a language server.
llvm::LogicalResult runVerilogLSPServer(const LSPServerOptions &lspOptions, VerilogServer &server, llvm::lsp::JSONTransport &transport)
Run the main loop of the LSP server using the given Verilog server and transport.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.