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;
28
29/// Run the main loop of the LSP server using the given Verilog server and
30/// transport.
32 llvm::lsp::JSONTransport &transport);
33
34} // namespace lsp
35} // namespace circt
36
37#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(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.