nvim_api/types/
context_type.rs1use 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}