nixd
Loading...
Searching...
No Matches
nixd
include
nixd
Eval
EvalProvider.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
nixd/Protocol/Protocol.h
"
4
5
#include <
lspserver/Function.h
>
6
#include <
lspserver/LSPServer.h
>
7
8
#include <nixt/HookExpr.h>
9
#include <nixt/PtrPool.h>
10
11
#include <nix/expr/nixexpr.hh>
12
13
namespace
nixd
{
14
15
class
EvalProvider
:
public
lspserver::LSPServer
{
16
17
nixt::PtrPool<nix::Expr> Pool;
18
nixt::ValueMap VMap;
19
nixt::EnvMap EMap;
20
std::unique_ptr<nix::EvalState> State;
21
22
llvm::unique_function<void(
int
)> Ready;
23
24
public
:
25
EvalProvider
(std::unique_ptr<lspserver::InboundPort> In,
26
std::unique_ptr<lspserver::OutboundPort> Out);
27
28
void
onRegisterBC
(
const
rpc::RegisterBCParams
&Params);
29
30
void
onExprValue
(
const
rpc::ExprValueParams
&Params,
31
lspserver::Callback<rpc::ExprValueResponse>
);
32
};
33
34
}
// namespace nixd
Function.h
LSPServer.h
lspserver::LSPServer
Definition
LSPServer.h:17
nixd::EvalProvider::EvalProvider
EvalProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
nixd::EvalProvider::onRegisterBC
void onRegisterBC(const rpc::RegisterBCParams &Params)
nixd::EvalProvider::onExprValue
void onExprValue(const rpc::ExprValueParams &Params, lspserver::Callback< rpc::ExprValueResponse >)
Protocol.h
lspserver::Callback
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition
Function.h:14
nixd
Definition
CommandLine/Configuration.h:9
nixd::rpc::ExprValueParams
Definition
include/nixd/Protocol/Protocol.h:28
nixd::rpc::RegisterBCParams
Definition
include/nixd/Protocol/Protocol.h:17
Generated by
1.13.2