1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use super::{MarkupContent, ParameterInformation};
use jsonrpc::Union;
#[derive(Debug, Serialize)]
pub struct SignatureInformation {
pub label: String,
pub documentation: Option<Union<String, MarkupContent>>,
pub parameters: Option<Vec<ParameterInformation>>,
}
impl SignatureInformation {
pub fn create(
label: String,
documentation: Option<String>,
parameters: Option<Vec<ParameterInformation>>,
) -> Self {
SignatureInformation {
label,
documentation: match documentation {
Some(documentation) => Some(Union::for0(documentation)),
_ => None,
},
parameters: match parameters {
Some(parameters) => Some(parameters),
_ => Some(Vec::new()),
},
}
}
}