nvim_oxi_api/opts/win_text_height.rs
1/// Option passed to [`Window::text_height()`][crate::Window::text_height].
2#[derive(Clone, Debug, Default, macros::OptsBuilder)]
3#[repr(C)]
4pub struct WinTextHeightOpts {
5 #[builder(mask)]
6 mask: u64,
7
8 /// Starting line index, 0-based inclusive. When omitted start at the very
9 /// top.
10 #[builder(argtype = "usize", inline = "{0} as types::Integer")]
11 start_row: types::Integer,
12
13 /// Ending line index, 0-based inclusive. When omitted end at the very
14 /// bottom.
15 #[builder(argtype = "usize", inline = "{0} as types::Integer")]
16 end_row: types::Integer,
17
18 /// Starting virtual column index on `start_row`, 0-based inclusive,
19 /// rounded down to full screen lines. When omitted include the whole line.
20 #[builder(argtype = "usize", inline = "{0} as types::Integer")]
21 start_vcol: types::Integer,
22
23 /// Ending virtual column index on `end_row`, 0-based exclusive, rounded up
24 /// to full screen lines. When omitted include the whole line.
25 #[builder(argtype = "usize", inline = "{0} as types::Integer")]
26 end_vcol: types::Integer,
27
28 // Don't add the height of lines below the row for which this height is
29 // reached. Useful to e.g. limit the height to the window height, avoiding
30 // unnecessary work. Or to find out how many buffer lines beyond
31 // [`start_row`](Self::start_row) take up a certain number of logical lines
32 // (returned in `end_row` and `end_vcol`).
33 #[cfg(feature = "neovim-nightly")] // Only on Nightly.
34 #[builder(argtype = "usize", inline = "{0} as types::Integer")]
35 max_height: types::Integer,
36}