Commit Graph

53 Commits

Author SHA1 Message Date
Matt Constable 9ad5f2daeb Fix console detection for Cygwin/WSL-Shell on Windows 2021-01-04 18:24:56 +01:00
Patrik Svensson 87e6b42409 Add tree example 2021-01-03 23:28:55 +01:00
Matt Constable b136d0299b Add tree widget 2021-01-02 10:01:16 +01:00
Simon Cropp e71db7f78c fix some nullability issues 2020-12-31 11:09:03 +01:00
Simon Cropp 041aea2ae5 spelling 2020-12-26 18:16:41 +01:00
Patrik Svensson 1cf30f62fc Add autocomplete for text prompt
Closes #166
2020-12-22 11:31:22 +01:00
Patrik Svensson 6932c95731 Fix bug when splitting text containing CJK chars
In Segment.Split, we didn't take cell width into account
when calculating the offset, which resulted in some "fun" bugs.
I've added a new overload for Segment.Split and obsoleted the old one.

Closes #150
2020-12-17 00:02:00 +01:00
Patrik Svensson ae32785f21 Add progress task list support 2020-12-04 07:29:48 +01:00
Patrik Svensson 4f6eca4fcb Fix rendering of exceptions with generic params
Closes #145
2020-11-24 22:16:17 +01:00
Patrik Svensson a59e0dcb21 Add FIGlet text support
Closes #97
2020-11-22 03:09:42 +01:00
Patrik Svensson 0d209d8f18 Add text prompt support 2020-11-19 12:24:04 +01:00
Patrik Svensson 380c6aca45 Add net5.0 target framework 2020-11-11 15:28:32 +01:00
Patrik Svensson a1d11e9d0c Add support for moving the cursor 2020-10-28 18:57:08 +01:00
Patrik Svensson e7f497050c Add row and column accessors for tables and grids 2020-10-26 18:15:27 +01:00
Patrik Svensson c9c0ad733f Fix rendering bug when splitting lines
The bug might occur if there are wide characters such as emojis
at the end of a line. The SplitLines method mixed cell width
and text length, which might give incorrect results. This commit
makes sure that comparison and calculation is done using cell width
where it's appropriate.
2020-10-24 01:45:41 +02:00
Patrik Svensson 9afc1ea721 Add support for aligning tables 2020-10-21 18:15:51 +02:00
Patrik Svensson 1410cba6c5 Add Markdown.Escape method 2020-10-20 01:09:26 +02:00
Patrik Svensson cb2924a609 Add table heading and footnote support
Closes #116
2020-10-19 15:46:57 +02:00
Patrik Svensson 3f2ca49071 Add calendar control
Closes #101
2020-10-16 23:02:53 +02:00
Patrik Svensson 68e92f3365 Add various exception improvements 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 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 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 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 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 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 4cfe55cc27 Emit native line breaks 2020-08-16 13:47:57 +02:00
Patrik Svensson d7bbaf4a85 Add word wrapping for text
Closes #18
2020-08-14 18:19:24 +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 2dd0eb9f74 Add support for column alignment and padding
Closes #12
Closes #31
2020-08-08 23:11:34 +02:00
Patrik Svensson d475e3b30a Reset colors before line break
Closes #28
2020-08-07 13:12:03 +02:00
Patrik Svensson 9637066927 Add better algorithm for calculating column widths
Closes #14
2020-08-07 12:55:33 +02:00
AdmiringWorm 2e7b3d520a Update regex to correctly identify Windows 10
When running .NET Core 2.1 or .NET Framework 4.6.1, the used regex for
detecting Windows 10 TrueColor support does not match the OSDescription.
The reason for this is because on those frameworks the description has
trailing whitespaces, but they do not on .NET Core 3.1.
This commit updates the regex to ignore any trailing whitespaces.
2020-08-07 08:11:34 +02:00
Patrik Svensson a068fc68c3 Add support for tables 2020-08-04 22:24:13 +02:00
Patrik Svensson 98cf63f485 Rename Style and Appearance
* Renames Style -> Decoration
* Renames Appearance -> Style
* Adds Style.Parse and Style.TryParse
2020-08-03 23:30:47 +02:00
Patrik Svensson e5bf2bd498 Autogenerate known colors and palettes
This will make it a bit easier to make changes
2020-08-03 15:22:39 +02:00
Patrik Svensson 5267ebda49 Get color names from lookup table
Also adds tests for Color struct and fixes a bug
that had to do with equality.
2020-08-03 11:32:17 +02:00
Patrik Svensson f19202b427 Improve text composite
- A `Text` object should not be able to justify itself.
  All justification needs to be done by a parent.
- Apply colors and styles to part of a `Text` object
- Markup parser should return a `Text` object
2020-08-02 22:45:01 +02:00
Patrik Svensson 8e4f33bba4 Added initial support for rendering composites
This is far from complete, but it's a start
and it will enable us to create things like tables
and other complex objects in the long run.
2020-07-30 22:55:42 +02:00