getSeparator function

StatusLineSeparator getSeparator(
  1. StatusLineSeparatorStyle style, {
  2. bool nerd = false,
})

Separator glyphs by style. The plain table is font-safe unicode; the nerd table swaps the powerline shapes for Nerd Font private-use glyphs (only the nerd preset sets StatusLineSpec.nerdSymbols).

Implementation

StatusLineSeparator getSeparator(
  StatusLineSeparatorStyle style, {
  bool nerd = false,
}) => switch (style) {
  StatusLineSeparatorStyle.powerline => StatusLineSeparator(
    left: _glyph(nerd, '\u{e0b0}', '▶'),
    right: _glyph(nerd, '\u{e0b2}', '◀'),
    capAfterLeft: _glyph(nerd, '\u{e0b2}', '◀'),
    capBeforeRight: _glyph(nerd, '\u{e0b0}', '▶'),
  ),
  StatusLineSeparatorStyle.powerlineThin => StatusLineSeparator(
    left: _glyph(nerd, '\u{e0b1}', '>'),
    right: _glyph(nerd, '\u{e0b3}', '<'),
    // Full-width caps even for the thin style (omp verbatim).
    capAfterLeft: _glyph(nerd, '\u{e0b2}', '◀'),
    capBeforeRight: _glyph(nerd, '\u{e0b0}', '▶'),
  ),
  StatusLineSeparatorStyle.slash => const StatusLineSeparator(
    left: '/',
    right: '/',
  ),
  StatusLineSeparatorStyle.pipe => const StatusLineSeparator(
    left: '│',
    right: '│',
  ),
  StatusLineSeparatorStyle.block => StatusLineSeparator(
    left: _glyph(nerd, '█', '▌'),
    right: _glyph(nerd, '█', '▌'),
  ),
  StatusLineSeparatorStyle.space => const StatusLineSeparator(
    left: ' ',
    right: ' ',
  ),
  StatusLineSeparatorStyle.ascii => const StatusLineSeparator(
    left: '>',
    right: '<',
  ),
};