mirror of
https://github.com/nushell/nushell
synced 2024-12-29 06:23:11 +00:00
3857e368ff
# Description I broke this, I think in #12279, because I forgot a `#[cfg(plugin)]`
32 lines
920 B
Rust
32 lines
920 B
Rust
use crate::Value;
|
|
#[cfg(feature = "plugin")]
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug)]
|
|
pub struct Example<'a> {
|
|
pub example: &'a str,
|
|
pub description: &'a str,
|
|
pub result: Option<Value>,
|
|
}
|
|
|
|
// PluginExample is somehow like struct `Example`, but it owned a String for `example`
|
|
// and `description` fields, because these information is fetched from plugin, a third party
|
|
// binary, nushell have no way to construct it directly.
|
|
#[cfg(feature = "plugin")]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct PluginExample {
|
|
pub example: String,
|
|
pub description: String,
|
|
pub result: Option<Value>,
|
|
}
|
|
|
|
#[cfg(feature = "plugin")]
|
|
impl From<Example<'_>> for PluginExample {
|
|
fn from(value: Example) -> Self {
|
|
PluginExample {
|
|
example: value.example.into(),
|
|
description: value.description.into(),
|
|
result: value.result,
|
|
}
|
|
}
|
|
}
|