A custom modeline segment registered by user config or an extension.
The renderer decides where the segment appears from the configured segment lists. The segment's own side is the default placement when the user has not explicitly listed the segment on either side.
Summary
Types
Context passed to modeline segment render functions.
Custom segment render function.
A normalized modeline draw segment.
Modeline side used for default placement.
Functions
Builds a custom modeline segment descriptor.
Types
@type context() :: map()
Context passed to modeline segment render functions.
@type render_fun() :: (context() -> [render_segment()] | render_segment() | nil)
Custom segment render function.
@type render_segment() :: {String.t(), non_neg_integer(), non_neg_integer(), keyword(), atom() | nil}
A normalized modeline draw segment.
@type side() :: :left | :right
Modeline side used for default placement.
Functions
@spec new(atom(), keyword(), render_fun(), atom() | {:extension, atom()}) :: {:ok, t()} | {:error, validation_error()}
Builds a custom modeline segment descriptor.