22 llvm::unique_function<void(
35 llvm::unique_function<void(std::nullptr_t)> Exit;
39 std::unique_ptr<lspserver::OutboundPort> Out);
45 return EvalExpr(Params, std::move(Reply));
50 AttrPathInfo(Params, std::move(Reply));
55 AttrPathComplete(Params, std::move(Reply));
60 OptionInfo(Params, std::move(Reply));
65 OptionComplete(Params, std::move(Reply));
68 void exit() { Exit(
nullptr); }
72 static const char *
getExe();
Types used in nixpkgs provider.
void closeInbound()
Close the inbound port.
AttrSetClient * client()
Check if the process is still alive.
AttrSetClientProc(const std::function< int()> &Action)
static const char * getExe()
void optionInfo(const AttrPathInfoParams &Params, lspserver::Callback< OptionInfoResponse > Reply)
AttrSetClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
void attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
void attrpathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
void optionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
void evalExpr(const EvalExprParams &Params, lspserver::Callback< EvalExprResponse > Reply)
Request eval some expression. The expression should be evaluted to attrset.
llvm::unique_function< void(llvm::Expected< T >)> Callback
std::string EvalExprParams
Selector AttrPathInfoParams