nu_plugin_core/
lib.rs

1//! Functionality and types shared between the plugin and the engine, other than protocol types.
2//!
3//! If you are writing a plugin, you probably don't need this crate. We will make fewer guarantees
4//! for the stability of the interface of this crate than for `nu_plugin`.
5
6pub mod util;
7
8mod communication_mode;
9mod interface;
10mod serializers;
11
12pub use communication_mode::{
13    ClientCommunicationIo, CommunicationMode, PreparedServerCommunication, ServerCommunicationIo,
14};
15pub use interface::{
16    Interface, InterfaceManager, PipelineDataWriter, PluginRead, PluginWrite,
17    stream::{FromShellError, StreamManager, StreamManagerHandle, StreamReader, StreamWriter},
18};
19pub use serializers::{
20    Encoder, EncodingType, PluginEncoder, json::JsonSerializer, msgpack::MsgPackSerializer,
21};
22
23#[doc(hidden)]
24pub use interface::test_util as interface_test_util;