1#include "nixd-config.h"
11 std::unique_ptr<lspserver::OutboundPort> Out)
12 :
LSPServer(std::move(In), std::move(Out)) {
27 if (
const char *Env = std::getenv(
"NIXD_ATTRSET_EVAL"))
29 return NIXD_LIBEXEC
"/nixd-attrset-eval";
33 : Proc(Action), Client(Proc.mkIn(), Proc.mkOut()),
34 Input([this]() { Client.
run(); }) {}
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >)> mkOutMethod(llvm::StringRef Method, OutboundPort *O=nullptr)
llvm::unique_function< void(const T &)> mkOutNotifiction(llvm::StringRef Method, OutboundPort *O=nullptr)
AttrSetClient * client()
Check if the process is still alive.
AttrSetClientProc(const std::function< int()> &Action)
static const char * getExe()
AttrSetClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
Whether current platform treats paths case insensitively.
constexpr std::string_view Exit
constexpr std::string_view EvalExpr
constexpr std::string_view OptionInfo
constexpr std::string_view AttrPathInfo
constexpr std::string_view OptionComplete
constexpr std::string_view AttrPathComplete
util::PipedProc & proc() const