nvim_api/types/
context_type.rs

1use nvim_types::{self as nvim, conversion::FromObject, serde::Serializer};
2use serde::Serialize;
3
4#[non_exhaustive]
5#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, Serialize)]
6pub enum ContextType {
7    #[serde(rename = "bufs")]
8    Bufferlist,
9
10    #[serde(rename = "gvars")]
11    GlobalVars,
12
13    #[serde(rename = "funcs")]
14    GlobalAndScriptLocalFuncs,
15
16    #[serde(rename = "jumps")]
17    Jumplist,
18
19    #[serde(rename = "regs")]
20    Registers,
21
22    #[serde(rename = "sfuncs")]
23    ScriptLocalFuncs,
24}
25
26impl From<ContextType> for nvim::String {
27    fn from(ctx: ContextType) -> Self {
28        nvim::String::from_object(
29            ctx.serialize(Serializer::new())
30                .expect("`ContextType` is serializable"),
31        )
32        .expect("`ContextType` is serialized into a string")
33    }
34}