CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::lsp Namespace Reference

Namespaces

namespace  Logger

Classes

struct  VerilogServerOptions
struct  LSPServerOptions
struct  DebounceOptions
 Debounce tuning for document-change bursts. More...
struct  PendingChanges
 Accumulated edits + timing for a single document key. More...
class  PendingChangesMap
 Thread-safe accumulator + debouncer for text document changes. More...
class  LSPDiagnosticClient
class  VerilogDocument
class  VerilogIndex
class  VerilogServer
 This class implements all of the Verilog related functionality necessary for a language server. More...
struct  VerilogServerContext
class  VerilogTextFile
 This class represents a text file containing one or more Verilog documents. More...

Typedefs

using VerilogIndexSymbol
using ReferenceMap
using SlangBufferPointer = char const *
using MapT
using TextDocumentContentChangeEvent
using URIForFile = llvm::lsp::URIForFile
using Diagnostic = llvm::lsp::Diagnostic

Functions

llvm::LogicalResult CirctVerilogLspServerMain (const LSPServerOptions &lspOptions, const VerilogServerOptions &options, llvm::lsp::JSONTransport &transport)
 Implementation for tools like circt-verilog-lsp-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.
static llvm::ThreadPoolStrategy makeStrategy (unsigned maxThreads)
 Build a pool strategy with a sensible minimum.

Typedef Documentation

◆ Diagnostic

using circt::lsp::Diagnostic = llvm::lsp::Diagnostic

Definition at line 44 of file VerilogServer.h.

◆ MapT

Initial value:
llvm::IntervalMapImpl::NodeSizer<
llvm::IntervalMapHalfOpenInfo<const SlangBufferPointer>>
char const * SlangBufferPointer
llvm::PointerUnion< const slang::ast::Symbol *, mlir::Attribute > VerilogIndexSymbol

Definition at line 32 of file VerilogIndex.h.

◆ ReferenceMap

Initial value:
llvm::SmallDenseMap<const slang::ast::Symbol *,
llvm::SmallVector<slang::SourceRange>>

Definition at line 29 of file VerilogIndex.h.

◆ SlangBufferPointer

using circt::lsp::SlangBufferPointer = char const *

Definition at line 31 of file VerilogIndex.h.

◆ TextDocumentContentChangeEvent

Initial value:
llvm::lsp::TextDocumentContentChangeEvent

Definition at line 41 of file VerilogServer.h.

◆ URIForFile

using circt::lsp::URIForFile = llvm::lsp::URIForFile

Definition at line 43 of file VerilogServer.h.

◆ VerilogIndexSymbol

Initial value:
llvm::PointerUnion<const slang::ast::Symbol *, mlir::Attribute>

Definition at line 27 of file VerilogIndex.h.

Function Documentation

◆ CirctVerilogLspServerMain()

llvm::LogicalResult circt::lsp::CirctVerilogLspServerMain ( const LSPServerOptions & lspOptions,
const VerilogServerOptions & options,
llvm::lsp::JSONTransport & transport )

Implementation for tools like circt-verilog-lsp-server.

Definition at line 14 of file CirctVerilogLspServerMain.cpp.

References runVerilogLSPServer(), and server.

◆ makeStrategy()

llvm::ThreadPoolStrategy circt::lsp::makeStrategy ( unsigned maxThreads)
static

Build a pool strategy with a sensible minimum.

Definition at line 28 of file PendingChanges.h.

Referenced by circt::lsp::PendingChangesMap::PendingChangesMap().

◆ runVerilogLSPServer()

llvm::LogicalResult circt::lsp::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.

References server.

Referenced by CirctVerilogLspServerMain().