nvim_oxi_api/opts/
eval_statusline.rs1use types::Object;
2
3use crate::Window;
4
5#[derive(Clone, Debug, Default)]
7#[repr(C)]
8pub struct EvalStatuslineOpts {
9 winid: Object,
10 maxwidth: Object,
11 fillchar: Object,
12 highlights: Object,
13 use_tabline: Object,
14 use_winbar: Object,
15 use_statuscol_lnum: Object,
16}
17
18impl EvalStatuslineOpts {
19 #[inline(always)]
20 pub fn builder() -> EvalStatuslineOptsBuilder {
22 EvalStatuslineOptsBuilder::default()
23 }
24}
25
26#[derive(Clone, Default)]
27pub struct EvalStatuslineOptsBuilder(EvalStatuslineOpts);
28
29impl EvalStatuslineOptsBuilder {
30 #[inline]
32 pub fn fillchar(&mut self, fillchar: char) -> &mut Self {
33 self.0.fillchar = fillchar.into();
34 self
35 }
36
37 #[inline]
40 pub fn highlights(&mut self, highlights: bool) -> &mut Self {
41 self.0.highlights = highlights.into();
42 self
43 }
44
45 #[inline]
47 pub fn maxwidth(&mut self, maxwidth: u32) -> &mut Self {
48 self.0.maxwidth = maxwidth.into();
49 self
50 }
51
52 #[inline]
53 pub fn use_statuscol_lnum(
54 &mut self,
55 use_statuscol_lnum: bool,
56 ) -> &mut Self {
57 self.0.use_statuscol_lnum = use_statuscol_lnum.into();
58 self
59 }
60
61 #[inline]
64 pub fn use_tabline(&mut self, use_tabline: bool) -> &mut Self {
65 self.0.use_tabline = use_tabline.into();
66 self
67 }
68
69 #[inline]
72 pub fn use_winbar(&mut self, use_winbar: bool) -> &mut Self {
73 self.0.use_winbar = use_winbar.into();
74 self
75 }
76
77 #[inline]
79 pub fn window(&mut self, window: Window) -> &mut Self {
80 self.0.winid = window.into();
81 self
82 }
83
84 #[inline]
85 pub fn build(&mut self) -> EvalStatuslineOpts {
86 std::mem::take(&mut self.0)
87 }
88}