Commit Graph
100 Commits
Author SHA1 Message Date
Patrik SvenssonandPatrik Svensson 0ae419326d Add Spectre.Cli to Spectre.Console
* Renames Spectre.Cli to Spectre.Console.Cli.
* Now uses Verify with Spectre.Console.Cli tests.
* Removes some duplicate definitions.

Closes #168
2020-12-28 17:28:03 +01:00
Patrik SvenssonandPatrik Svensson 7dccb310f3 Add support for bar charts
Closes #103
2020-12-23 10:05:08 +01:00
Patrik SvenssonandPatrik Svensson 1cf30f62fc Add autocomplete for text prompt
Closes #166
2020-12-22 11:31:22 +01:00
Patrik SvenssonandPatrik Svensson e280b82679 Fix dividing with infinity bug
When calculating the remaining time for a progress task,
we divide the value delta with the current speed.
If the speed is zero, then the resulting double will
be 'infinity' which will lead to TimeSpan.FromSeconds
throwing.

This commit fixes that bug by setting the speed to 1
if it's 0 when calculating the remaining time.

Closes #169
2020-12-17 00:43:47 +01:00
Patrik SvenssonandPatrik 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 SvenssonandPatrik Svensson 63abcc92ba Set max value for progress task properly
Also clamp the task value if it's greater than the max value.

Closes #163
2020-12-12 17:29:07 +01:00
Patrik SvenssonandPatrik Svensson acf01e056f Clean up status related code a bit 2020-12-09 08:37:32 +01:00
Patrik SvenssonandPatrik Svensson 501db5d287 Add status support 2020-12-09 00:07:02 +01:00
Patrik SvenssonandPatrik Svensson cbed41e637 Add support for different spinners 2020-12-06 15:41:45 +01:00
Patrik SvenssonandPatrik Svensson 3c504155bc Fix progress rendering bug 2020-12-04 10:19:09 +01:00
Patrik SvenssonandPatrik Svensson ae32785f21 Add progress task list support 2020-12-04 07:29:48 +01:00
Patrik Svensson b7cd7dd53e Fix grammar in Canvas Image docs 2020-11-25 13:52:17 +01:00
Patrik Svensson 3e1251b86a Fix heading size 2020-11-25 13:41:11 +01:00
Patrik Svensson 01fdbac51e Fix typo in package description 2020-11-25 12:16:26 +01:00
Patrik Svensson b0b988a1e7 Add Canvas and CanvasImage docs 2020-11-25 12:15:25 +01:00
Patrik SvenssonandPatrik Svensson 2a9fa223de Add canvas and image support
Adds support for drawing "pixels" and displaying
images in the terminal.
2020-11-25 10:07:34 +01:00
Patrik SvenssonandPatrik Svensson 4f6eca4fcb Fix rendering of exceptions with generic params
Closes #145
2020-11-24 22:16:17 +01:00
Patrik SvenssonandPatrik Svensson a5125d640c Add initial FIGlet docs 2020-11-22 03:27:15 +01:00
Patrik SvenssonandPatrik Svensson a59e0dcb21 Add FIGlet text support
Closes #97
2020-11-22 03:09:42 +01:00
Patrik Svensson aaf77c3b25 Fix prompt example docs 2020-11-19 14:46:43 +01:00
Patrik Svensson d70ad661fc Add docs for text prompts 2020-11-19 14:25:24 +01:00
Patrik SvenssonandPatrik Svensson 0d209d8f18 Add text prompt support 2020-11-19 12:24:04 +01:00
Patrik SvenssonandPatrik Svensson 380c6aca45 Add net5.0 target framework 2020-11-11 15:28:32 +01:00
Patrik SvenssonandPatrik Svensson b1da5e7ba8 Add support for markup text in panel header 2020-11-07 20:43:53 +01:00
Patrik Svensson be3350a411 Bump dotnet-example to 1.0.0 2020-11-03 18:14:41 +01:00
Patrik SvenssonandPatrik Svensson a1d11e9d0c Add support for moving the cursor 2020-10-28 18:57:08 +01:00
Patrik Svensson 93d1971f48 Update rule example and docs 2020-10-27 17:30:50 +01:00
Patrik SvenssonandPatrik Svensson e7f497050c Add row and column accessors for tables and grids 2020-10-26 18:15:27 +01:00
Patrik SvenssonandPatrik Svensson 10daf727e9 Fix outdated documentation 2020-10-26 12:20:17 +01:00
Patrik SvenssonandPatrik Svensson 03334f693d Add support for table footers 2020-10-26 00:01:13 +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 SvenssonandPatrik Svensson 041bd016a2 Remove verbs from extension methods
Removed the verbs from all extension methods that manipulate
properties which makes the API more succinct and easier to read.

Also added implicit conversion from string to Style.

As a good OSS citizen, I've obsoleted the old methods with
a warning for now, so this shouldn't break anyone using
the old methods.
2020-10-23 15:08:18 +02:00
Patrik SvenssonandPatrik Svensson 9afc1ea721 Add support for aligning tables 2020-10-21 18:15:51 +02:00
Patrik SvenssonandPatrik Svensson 3941fd81ab Move table and calendar docs 2020-10-20 02:32:04 +02:00
Patrik SvenssonandPatrik Svensson 5a1b8a1710 Add rule widget
Adds a new rule widget.
Also fixes some bugs I encountered while testing
some unrelated things in an extremely small console.
2020-10-20 01:45:53 +02:00
Patrik SvenssonandPatrik Svensson 1410cba6c5 Add Markdown.Escape method 2020-10-20 01:09:26 +02:00
Patrik SvenssonandPatrik Svensson 70fc14e9cd Add new ctors for Rows and Columns widgets 2020-10-19 21:25:28 +02:00
Patrik SvenssonandPatrik Svensson cb2924a609 Add table heading and footnote support
Closes #116
2020-10-19 15:46:57 +02:00
Patrik SvenssonandPatrik Svensson bfffef630f Do not draw tables that can't be drawn
This is a temporary fix for undrawable tables until we've
implemented a proper strategy. What this does is that it replaces
an undrawable table with an ellipsis (...). This should only
occur in either super big tables or deeply nested tables in a
console with a small buffer width.
2020-10-18 08:03:40 +02:00
Patrik Svensson 52718c499c Fix minor typo in example 2020-10-17 13:22:01 +02:00
Patrik SvenssonandPatrik Svensson 7ef1ac483a Fix overflow splitting bug
Closes #93
2020-10-17 12:37:20 +02:00
Patrik SvenssonandPatrik Svensson 3f2ca49071 Add calendar control
Closes #101
2020-10-16 23:02:53 +02:00
Patrik SvenssonandPatrik Svensson ae92c606bb Add support for remapping emojis
Closes #94
2020-10-07 17:33:05 +02:00
Patrik SvenssonandPatrik Svensson 68e92f3365 Add various exception improvements 2020-10-07 11:57:28 +02:00
Patrik SvenssonandPatrik Svensson 39a8588dc3 Rename ExceptionFormats.None 2020-10-07 11:57:28 +02:00
Patrik SvenssonandPatrik Svensson 3c3afe7439 Add support for rendering exceptions 2020-10-05 07:03:02 +02:00
Patrik SvenssonandPatrik Svensson b1db8a9403 Clean up border code
Removed caching that really didn't do anything anymore.
2020-10-01 23:05:02 +02:00
Patrik SvenssonandPatrik Svensson e429f6434b Update examples 2020-10-01 14:43:08 +02:00
Patrik SvenssonandPatrik 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 SvenssonandPatrik 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 SvenssonandPatrik 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 SvenssonandPatrik 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 SvenssonandPatrik Svensson 090b30f731 Use Wcwidth library 2020-09-18 15:31:12 +02:00
Patrik SvenssonandPatrik Svensson df291ef84e Fix Info example emoji problem
The emojis that previously were used, used Unicode combinators
which are not fully supported. Changing to :thumbs_up: and :thumbs_down:
instead.
2020-09-17 10:58:50 +02:00
Patrik SvenssonandPatrik 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
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 SvenssonandPatrik 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 1601ef24b3 Update border documentation 2020-09-09 14:27:40 +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 SvenssonandPatrik Svensson 003e15686f Add documentation for tables
Also moves "Colors" and "Styles" sections to appendix.
2020-09-08 18:21:52 +02:00
Patrik SvenssonandPatrik 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 SvenssonandPatrik Svensson 3cc19520b0 Add implicit conversion op from string to Style
Closes #71
2020-09-06 23:03:51 +02:00
Patrik SvenssonandPatrik Svensson 87bde3e5a2 Remove BorderKind in favour of Border 2020-09-06 12:29:48 +02:00
Patrik Svensson e6e9a4d950 Add description for 'Info' example 2020-09-05 08:52:06 +02:00
Patrik Svensson 29ce14e1e8 Rename 'Diagnostic' example to 'Info' 2020-09-05 08:50:00 +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 SvenssonandPatrik Svensson ae6d2c63a3 Add column support
Adds support for rendering arbitrary data into columns.

Closes #67
2020-09-05 07:45:38 +02:00
Patrik SvenssonandPatrik 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 bcaaa6b2d3 Update table of contents (skip-ci) 2020-09-03 20:04:06 +02:00
Patrik Svensson d3588a4b06 Remove styles and colors (skip-ci) 2020-09-03 20:03:26 +02:00
Patrik SvenssonandPatrik Svensson 7471e9d38c Add panel header support
Closes #63
2020-09-03 19:02:29 +02:00
Patrik SvenssonandPatrik Svensson 9f8ca6d648 Add text overflow support
Closes #61
2020-09-03 14:57:57 +02:00
Patrik Svensson 88edfe68ec Add border for color representations 2020-09-02 09:55:44 +02:00
Patrik Svensson 5d32764a64 Fix typo: SRG -> SGR 2020-09-02 09:02:59 +02:00
Patrik Svensson 4f6c9c62c7 Set fetch depth to 0 2020-09-01 22:05:46 +02:00
Patrik Svensson f2677213a4 Separate build and run when publishing docs 2020-09-01 22:00:44 +02:00
Patrik Svensson bdaf00a556 Remove empty documentation pages 2020-09-01 21:51:25 +02:00
Patrik Svensson 7de4b6c7b9 Build docs as part of CI 2020-09-01 21:50:36 +02:00
Patrik Svensson 0bc801e3eb Build docs when source change 2020-09-01 21:40:49 +02:00
Patrik Svensson 88a82cdad0 Build docs in release mode 2020-09-01 21:39:40 +02:00
Patrik Svensson 0cecb555d5 Show documentation version in footer 2020-09-01 21:33:15 +02:00
Patrik Svensson 52e3ee17b0 Fix logo link 2020-09-01 21:28:52 +02:00
Patrik Svensson a123806cd8 Add docs for escaping [ and ] in markup 2020-09-01 16:52:40 +02:00
Patrik Svensson 173645cdd2 Added documentation for markup text 2020-08-31 14:05:28 +02:00
Patrik SvenssonandPatrik 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 47fd646d21 Enable publish for all tags (skip-ci) 2020-08-30 10:22:53 +02:00
Patrik Svensson a06859dcb5 Only publish on tags (skip-ci) 2020-08-30 10:12:53 +02:00
Patrik Svensson 7d3a67e6ae Always publish tags (skip-ci) 2020-08-30 10:04:29 +02:00
Patrik Svensson f4497b1278 Docs: Added color number (skip-ci) 2020-08-29 11:25:19 +02:00
Patrik SvenssonandPatrik 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 f2566f2ca4 Remove commented out code (skip-ci) 2020-08-27 20:13:35 +02:00
Patrik Svensson 358b0225b4 Add documentation header (skip-ci) 2020-08-27 20:12:13 +02:00
Patrik Svensson 68aaf8a2fa Embed symbols in package 2020-08-27 19:31:44 +02:00