CIRCT 21.0.0git
Loading...
Searching...
No Matches
CirctVerilogLspServerMain.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// Main entry function for circt-verilog-lsp-server for when built as standalone
10// binary.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef CIRCT_TOOLS_CIRCT_VERILOG_LSP_SERVER_CIRCTVERILOGLSPSERVERMAIN_H
15#define CIRCT_TOOLS_CIRCT_VERILOG_LSP_SERVER_CIRCTVERILOGLSPSERVERMAIN_H
16#include "mlir/Support/LLVM.h"
17#include "llvm/ADT/StringRef.h"
18#include <memory>
19#include <optional>
20#include <string>
21#include <vector>
22
23namespace llvm {
24struct LogicalResult;
25} // namespace llvm
26
27namespace mlir {
28namespace lsp {
29class JSONTransport;
30} // namespace lsp
31} // namespace mlir
32
33namespace circt {
34namespace lsp {
36 VerilogServerOptions(const std::vector<std::string> &libDirs)
37 : libDirs(libDirs) {}
38 /// Additional list of RTL directories to search.
39 const std::vector<std::string> &libDirs;
40};
41// namespace lsp
42
43/// Implementation for tools like `circt-verilog-lsp-server`.
44llvm::LogicalResult
46 mlir::lsp::JSONTransport &transport);
47
48} // namespace lsp
49} // namespace circt
50
51#endif // CIRCT_TOOLS_CIRCT_VERILOG_LSP_SERVER_CIRCTVERILOGLSPSERVERMAIN_H
llvm::LogicalResult CirctVerilogLspServerMain(const VerilogServerOptions &options, mlir::lsp::JSONTransport &transport)
Implementation for tools like circt-verilog-lsp-server.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
const std::vector< std::string > & libDirs
Additional list of RTL directories to search.
VerilogServerOptions(const std::vector< std::string > &libDirs)