Commit Graph

272 Commits

Author SHA1 Message Date
Khalid Abuhakmeh 0a0380ae0a Don't throw when console is small
this just returns an empty collection when
take is 0. It leads to some strange output, but
it doesn't blow up.

 #93
2020-10-08 22:17:12 +02:00
Patrik Svensson ae92c606bb Add support for remapping emojis
Closes #94
2020-10-07 17:33:05 +02:00
Patrik Svensson 68e92f3365 Add various exception improvements 2020-10-07 11:57:28 +02:00
Patrik Svensson 39a8588dc3 Rename ExceptionFormats.None 2020-10-07 11:57:28 +02:00
Patrik Svensson 3c3afe7439 Add support for rendering exceptions 2020-10-05 07:03:02 +02:00
Patrik Svensson b1db8a9403 Clean up border code
Removed caching that really didn't do anything anymore.
2020-10-01 23:05:02 +02:00
Patrik Svensson 93ec7401c8 Add support for markdown tables
Closes #85

* Split Border into BoxBorder and TableBorder
* Change how different table parts are composed
* Add markdown table border
2020-10-01 14:43:08 +02:00
Patrik Svensson 697273917e Move console encoder to rendering namespace 2020-09-21 17:07:05 +02:00
Patrik Svensson 2943535973 Make segments immutable 2020-09-21 17:03:17 +02:00
Patrik Svensson cd0d182f12 Add support for recording console output
This commit adds support for recording console output
as well as exporting it to either text or HTML. A user can
also provide their own encoder if they wish.
2020-09-21 13:33:28 +02:00
Patrik Svensson b197f278ed Add support for rows
Closes #69
2020-09-20 19:17:33 +02:00
Patrik Svensson 3847a8949f Fix bug with uris being interpreted as emojis
Closes #82
2020-09-20 13:00:44 +02:00
Patrik Svensson eeb3f967b6 Update emoji support
* Add constants for emojis
* Move emoji shortcode rendering to Markup
* Add documentation
* Add example
* Add tests
2020-09-18 16:11:51 +02:00
Patrik Svensson 090b30f731 Use Wcwidth library 2020-09-18 15:31:12 +02:00
Patrik Svensson 7d6104ace4 Add padder widget
This commit adds a padder can be use to pad other IRenderable
objects such as tables, panels, grids, text, etc.
2020-09-17 10:58:50 +02:00
Kristian Hellang b7f654cd7f Replace emoji in segment text 2020-09-17 10:35:15 +02:00
Kristian Hellang fea8a36e8a Add generated Emoji class with corresponding non-generated file 2020-09-17 10:35:15 +02:00
Patrik Svensson ce670a7ca9 Add link identity generator 2020-09-12 14:47:32 +02:00
Patrik Svensson 101e244059 Minor clean up 2020-09-12 10:46:57 +02:00
Patrik Svensson 504746c5dc Add link support for supported terminals
Also refactors the code quite a bit, to make it a bit more
easier to add features like this in the future.

Closes #75
2020-09-11 17:44:56 +02:00
Patrik Svensson b46d0fa4f6 Group IAnsiConsole extensions in csproj 2020-09-09 08:47:55 +02:00
Patrik Svensson 4f06687104 Restructure solution a bit 2020-09-09 08:43:48 +02:00
Patrik Svensson 3e9796849b Add more borders for grids, tables, and panels
* Ascii2
* AsciiDoubleHead
* Double
* DoubleEdge
* Heavy
* HeavyEdge
* HeavyHead
* Horizontal
* Minimal
* MinimalDoubleHead
* MinimalHeavyHead
* Simple
* SimpleHeavy
2020-09-08 00:16:20 +02:00
Patrik Svensson 3cc19520b0 Add implicit conversion op from string to Style
Closes #71
2020-09-06 23:03:51 +02:00
Patrik Svensson 87bde3e5a2 Remove BorderKind in favour of Border 2020-09-06 12:29:48 +02:00
Patrik Svensson ceb3572d6a Make table and grid extension methods fluent 2020-09-05 08:49:36 +02:00
Patrik Svensson 13c56eca01 Allow mutation of segments 2020-09-05 08:39:48 +02:00
Patrik Svensson a477884d36 Move Panel extensions to Spectre.Console namespace 2020-09-05 08:20:13 +02:00
Patrik Svensson ae6d2c63a3 Add column support
Adds support for rendering arbitrary data into columns.

Closes #67
2020-09-05 07:45:38 +02:00
Patrik Svensson e946289bd9 Make styles composable
Also adds some new extension methods and make some APIs a bit more consistent.

Closes #64
2020-09-03 21:26:20 +02:00
Patrik Svensson 7471e9d38c Add panel header support
Closes #63
2020-09-03 19:02:29 +02:00
Patrik Svensson 9f8ca6d648 Add text overflow support
Closes #61
2020-09-03 14:57:57 +02:00
Patrik Svensson 7fd2efaeb5 Merge segments before rendering
This will reduce the number of segments to render
and produce cleaner ANSI escape code sequences.

Closes #46
2020-08-30 12:40:34 +02:00
Patrik Svensson a16daade6c Fallback to default buffer size
Also fixes a bug when using Spectre.Console in GitHub Actions.
2020-08-28 11:56:54 +02:00
Patrik Svensson 1b2f2dab82 Do not depend on System.Memory 2020-08-27 19:31:12 +02:00
Patrik Svensson decb887b0a Throw if markup contains unescaped close tag 2020-08-27 09:44:55 +02:00
Patrik Svensson 31f117aed0 Clean up public API
* Make things a bit more consistent
* Add extension methods to configure things like tables, panels and grids.
2020-08-26 15:10:19 +02:00
Patrik Svensson c111c7d463 Restructure and update example image 2020-08-25 11:19:58 +02:00
Patrik Svensson 6df90442b7 Add support for setting border color
Closes #51
2020-08-25 10:27:57 +02:00
Patrik Svensson 8a01b93aca Don't limit tables and grids to markup text
Closes #13
2020-08-24 23:28:40 +02:00
Patrik Svensson 4cfe55cc27 Emit native line breaks 2020-08-16 13:47:57 +02:00
Patrik Svensson 5b33f80213 Fix line ending problem with text 2020-08-16 12:26:51 +02:00
Patrik Svensson d7bbaf4a85 Add word wrapping for text
Closes #18
2020-08-14 18:19:24 +02:00
Patrik Svensson 1d74fb909c Add support for adding empty rows
This affects grids and tables.
2020-08-11 17:49:28 +02:00
Patrik Svensson 5d132220ba Enable nullable reference types
Closes #36
2020-08-11 17:24:34 +02:00
Patrik Svensson a273f74758 Add aliases for styles
Closes #37
2020-08-11 16:45:05 +02:00
Patrik Svensson 717931f11c Add support for RGB colors
Closes #34
2020-08-11 16:45:05 +02:00
Patrik Svensson bcfc495843 Add support for hex colors
Closes #33
2020-08-11 16:45:05 +02:00
Patrik Svensson 9aa36c4cf0 Do not include cell separators in grid
Closes #40
2020-08-11 11:53:34 +02:00
Patrik Svensson 22d4af4482 Preserve line breaks 2020-08-10 11:42:34 +02:00