nvim_api/types/
command_nargs.rs1use nvim_types::{
2 conversion::{self, ToObject},
3 serde::Serializer,
4 Object,
5};
6use serde::{Deserialize, Serialize};
7
8#[non_exhaustive]
10#[derive(
11 Copy, Clone, Debug, Default, Eq, PartialEq, Hash, Serialize, Deserialize,
12)]
13pub enum CommandNArgs {
14 #[default]
15 #[serde(rename = "0")]
16 Zero,
17
18 #[serde(rename = "1")]
19 One,
20
21 #[serde(rename = "?")]
22 ZeroOrOne,
23
24 #[serde(rename = "+")]
25 OneOrMore,
26
27 #[serde(rename = "*")]
28 Any,
29}
30
31impl ToObject for CommandNArgs {
32 fn to_object(self) -> Result<Object, conversion::Error> {
33 self.serialize(Serializer::new()).map_err(Into::into)
34 }
35}