ask!
macro andQuestion
API- the
mad_print_inline
andmad_write_inline
macros now accept any argument supportingto_string()
and not just&str
- fix a bug making tables sometimes exceed the width limit
- support wide chars everywhere, rewritten algorithms for markdown wrapping and fitting
- improved heuristics for table fitting & wrapping
- upgrade crossterm to 0.20 (beware that crossterm's API changed)
- fix some problems (including a crash) with input_field.del_word_right
- eases imports: it's no more needed to import the lazy_static crate and no import is needed for using macros
- fix a pb with wide chars in tables
- consider backspace as having a col width of -1 (they move the cursor to the left when printed in terminal)
- Fix a crash in
input_field.del_word_left()
- Style characters can now be escaped with a '' - Fix #24
- MadSkin::no_style() builds a skin without any style information, suitable for writing in files
- fix a bad column widths reduction
- names of variables in templates can now contain digits
- better column balancing in thight tables
- update crossbeam dependency to 0.8
- new version of minimad -> owning templates allow passing any Display as value
- styled_char and compound_style now implement Debug
- event source intercepts escape sequences and sends them (when finished) in a dedicated channel (not reading this bounded channel is possible: escape sequences are just dropped in that case)
- add the FitStr utility taken from broot (correct string cutting taking real char width in cols) (note that not all functions in termimad precisely take all chars width in cols into account)
- allow default value in template expansion
- allow default value in template expansion
- use the OwningTemplateExpander of Minimad 0.6.6
- fix inverted move_left and move_to_start
- upgrade crossterm to 0.17.7
- interpred lines with just ">" as empty quotes
- fix panic on wrapping long strings without space
- add a bunch of functions modifying the input (moving the cursor or deleting parts)
- fix uppercase letters not used in input field
- Prevent overflowing of large text from input field (some ellipsis added if necessary)
- EventSource: better manage channel errors
- relax the dependency version contraint on crossterm - Fix #18
- input fields now have a "focused" bool in their state
- added event handling functions in input_field for when you don't use termimad events or have a complex event dispatching
- key modifiers in click events in event_source
- the new experimental feature flag:
special-renders
lets you define replacement chars (for now) with a out of skin rendering (contact me if you're interested by this kind of feature)
- clear function in compound_style
- check w in double-click detection
- use crossterm 0.16.0 for slightly improved attributes storage
- use crossterm 0.15 to fix ctrl-J being read as Enter
- fix missing background on space after bullet in list
- use crossterm 0.14.2 for freeBSD compatibility
- fix the Enter key not recognized in combinations on some computers by normalizing '\r' and '\n' into 'Enter'
- allow language specification in code fences
- code fences support
- fix a compilation problem on windows (see #13 (comment))
- port to crossterm 0.14
- skin.print_expander makes using a text template less verbose
- TextView: draw the background till the end of line
- Templates allow going further in separating form from content
- fix skin's background not applied on empty lines at end of text_view
- use version minimad 0.4.3 to fix case of code not detected when following italic without space in between
- fix skin's background not applied on empty lines at end of text_view
- introduce inline templates, and especially the
mad_print_inline!
andmad_write_inline!
macros - add functions to shrink or extend a composite to a given width, using internal elision if possible
- add easy alternate to
skin.print_text
handling IO error
- incorporate crossterm 0.13.2 which fixes a regression on input reader
- compatibility with crossterm 0.13
- mouse support in stderr
- Displaying can be done on stderr or stdout, or in a subshell
- provide a default terminal width when the real one can't be measured
- list view: autoscroll on selection change
- list view: select_first_line & select_last_line
- add ProgressBar
- improvements of ListView
- fix build inconsistencies due to lack of precise sub crate versionning in crossterm
- add modifiable style for the input_field
Some tools that were parts of several Termimad based applications are now shared here:
- an event source emmiting events on a crossbeam channel
- an input field
- a list view with auto-resized columns
- a few utilies exported for apps with specific usages (compute_scrollbar, spacing.print_str, etc.)
- different styles for inline_code and code_block
- rgb now longer a macro but a free function
- two more color functions: ansi and gray
- clean and complete documentation
- support for horizontal rule (line made of dashes)
- support for quote (line starting with '>')
- support for bullet style customization (including colors)
- better wrapping, less frequently breaks words
- Skin API breaking changes to allow for more customization