Repository navigation
v0.2.11
Theme families from TOML, terminal colours and the frost tone as palette tokens, palette builders that capture, #fragment links that jump to their heading, a combobox row leading, cards set in the document's body face, and Home and End by painted row in wrapped text.
New
Theme::vibrancy_toneis the frost's tint at full coverage, so a palette sets the colour of a translucent window and a brand tints it.Combobox::with_leadingdraws an element before each row's label in the menu, such as a swatch or an icon.ThemeFamilydeserializes a theme family, TOML or any serde format: a name and a dark and a lightVariant, each a set of colour tokens laid over the shipped palette for its appearance, where a nested table like[dark.syntax]namessyntax.*tokens.Theme::tokens_mutnames every token a file can set.Theme::terminal_bgandTheme::terminal_ansihold the terminal's background and its 16 named ANSI colours, so a palette sets them like any other token and a brand tints their greys.- A
#fragmentlink in markdown jumps to the heading it names, matched as GitHub slugs headings, throughEditing::jumpand anOnJump.markdown::link::slugandheadingresolve one. Editor::select_to_topselects and scrolls the caret's row to the top of the scroll box; the editor jumps to a#fragmentlink's heading with it.BlockLayouts::row_start,row_endandwraps_atgive the painted row around a position.
Changed
AppExt::set_palettetakes anyFn(Appearance) -> Theme + 'static, so a builder can capture what it builds from.TextInk::paintsets the text roles' alphas over the colour the palette'stextcarries instead of over white or black, so a palette with its own text colour keeps it under a brand.terminal::view::indexed_colorresolves an indexed colour against a theme, andextended_rgbgives indexes 16-255.terminal_bg_for,terminal_bgandindexed_rgbare gone.Selection::affinitynames the row a caret at a soft wrap paints on.BlockLayouts::positiontakes anAffinity,hitanswers with one, andstep_rowtakes one and a column instead of a point.Selectionbuilt field by field needs the new field;Selection::newsets it.
Fixed
- Cards, bands and captions inside a markdown document are set in
Theme::font_bodylike its text, instead of the interface face, unless they name their own. - Home and End in a wrapped paragraph go to the edges of the painted row instead of the block, End's caret stays on its row, and Left and Right at a soft wrap first cross to the other row without moving.