class Sheen::List

Overview

A list of items rendered with a leading enumerator indicator.

List is a wrapper over Tree, and all styling methods delegate to the wrapped Tree. Items become tree children (lol) and a nested List nests as a subtree.

Defined in:

sheen/list.cr

Constant Summary

ALPHA_LEN = 26
ROMAN_SYMBOLS = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"] of ::String
ROMAN_VALUES = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(*items) #

Build a list of items. Uses the bullet enumerator and a single space indent as defaults.


[View source]

Class Method Detail

def self.alpha(_items : Tree::Children, index : Int32) : String #

The upcased alphabet enumerator.


[View source]
def self.arabic(_items : Tree::Children, index : Int32) : String #

The arabic-numeral enumerator.


[View source]
def self.asterisk(_items : Tree::Children, _index : Int32) : String #

The asterisk enumerator.


[View source]
def self.bullet(_items : Tree::Children, _index : Int32) : String #

The bullet enumerator.


[View source]
def self.dash(_items : Tree::Children, _index : Int32) : String #

The dash enumerator.


[View source]
def self.roman(_items : Tree::Children, index : Int32) : String #

The roman numeral enumerator.


[View source]
def self.space_indenter(_items : Tree::Children, _index : Int32) : String #

The space indenter. This is the list default.


[View source]

Instance Method Detail

def enumerator(enumr : Tree::Enumerator) : List #

Sets the enumerator generating each item's prefix.

Returns self.


[View source]
def enumerator(&block : Tree::Children, Int32 -> String) : List #

Sets the enumerator from a block.

Returns self.


[View source]
def enumerator(kind : Enumerators) : List #

Convenience method to set one of the builtin enumerator styles by kind. eg #enumerator(:roman)

Returns self.


[View source]
def enumerator_style(style : Style) : List #

Sets one static style for every enumerator prefix.

Returns self.


[View source]
def enumerator_style(&block : Tree::Children, Int32 -> Style) : List #

Sets the enumerator style block, invoked per item.

Returns self.


[View source]
def hidden? : Bool #

Whether the list is hidden or not.


[View source]
def hide(hidden : Bool = true) : List #

Sets whether the list is hidden from rendering.

Returns self.


[View source]
def indenter(ind : Indenter) : List #

Sets the indenter used for nested items.

Returns self.


[View source]
def indenter(&block : Tree::Children, Int32 -> String) : List #

Sets the indenter from a block.

Returns self.


[View source]
def item(value : List) : List #

Appends a nested value list, which nests as a subtree

Returns self.


[View source]
def item(value) : List #

Appends value to an item.

Returns self.


[View source]
def item_style(style : Style) : List #

Sets one static style for every item's value

Returns self


[View source]
def item_style(&block : Tree::Children, Int32 -> Style) : List #

Sets the item style block, invoked per item.

Returns self.


[View source]
def items(*values) : List #

Appends each of the values as an item

Returns self.


[View source]
def render : String #

Renders the list to a string.


[View source]
def to_s(io : IO) : Nil #

Renders the list to io.


[View source]
def value : String #

The list's underlying root value. Empty for a plain list.


[View source]