Commit Graph

307 Commits

Author SHA1 Message Date
241423dd16 Do not truncate command table
Temporary fix for commands not showing up if they
are missing a description. This is really a bug in the table
rendering and should be fixed there at some point.

Closes #192
2020-12-30 18:43:29 +01:00
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
0bbf9b81a9 Adds optional function to get the display string for TextPrompt choices 2020-12-26 18:17:46 +01:00
041aea2ae5 spelling 2020-12-26 18:16:41 +01:00
7dccb310f3 Add support for bar charts
Closes #103
2020-12-23 10:05:08 +01:00
1cf30f62fc Add autocomplete for text prompt
Closes #166
2020-12-22 11:31:22 +01:00
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
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
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
acf01e056f Clean up status related code a bit 2020-12-09 08:37:32 +01:00
501db5d287 Add status support 2020-12-09 00:07:02 +01:00
cbed41e637 Add support for different spinners 2020-12-06 15:41:45 +01:00
3c504155bc Fix progress rendering bug 2020-12-04 10:19:09 +01:00
ae32785f21 Add progress task list support 2020-12-04 07:29:48 +01:00
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
4f6eca4fcb Fix rendering of exceptions with generic params
Closes #145
2020-11-24 22:16:17 +01:00
a59e0dcb21 Add FIGlet text support
Closes #97
2020-11-22 03:09:42 +01:00
5c33b87a9c Add Verify for testing 2020-11-20 16:22:23 +01:00
0d209d8f18 Add text prompt support 2020-11-19 12:24:04 +01:00
380c6aca45 Add net5.0 target framework 2020-11-11 15:28:32 +01:00
b1da5e7ba8 Add support for markup text in panel header 2020-11-07 20:43:53 +01:00
a1d11e9d0c Add support for moving the cursor 2020-10-28 18:57:08 +01:00
bca1c889d1 Add Padding extension
Add extension method for specifying horizontal and vertical padding.
Similar constructor for `Padding` already existed.

Update documentation for table column appearance (padding).

Update
`Should_Render_Padded_Object_Correctly_When_Nested_Within_Other_Object`
test to use new extension method.
2020-10-27 09:09:30 +01:00
e7f497050c Add row and column accessors for tables and grids 2020-10-26 18:15:27 +01:00
03334f693d Add support for table footers 2020-10-26 00:01:13 +01:00
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
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
9afc1ea721 Add support for aligning tables 2020-10-21 18:15:51 +02:00
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
1410cba6c5 Add Markdown.Escape method 2020-10-20 01:09:26 +02:00
70fc14e9cd Add new ctors for Rows and Columns widgets 2020-10-19 21:25:28 +02:00
cb2924a609 Add table heading and footnote support
Closes #116
2020-10-19 15:46:57 +02:00
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
7ef1ac483a Fix overflow splitting bug
Closes #93
2020-10-17 12:37:20 +02:00
3f2ca49071 Add calendar control
Closes #101
2020-10-16 23:02:53 +02:00
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
ae92c606bb Add support for remapping emojis
Closes #94
2020-10-07 17:33:05 +02:00
68e92f3365 Add various exception improvements 2020-10-07 11:57:28 +02:00
39a8588dc3 Rename ExceptionFormats.None 2020-10-07 11:57:28 +02:00
3c3afe7439 Add support for rendering exceptions 2020-10-05 07:03:02 +02:00
b1db8a9403 Clean up border code
Removed caching that really didn't do anything anymore.
2020-10-01 23:05:02 +02:00
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
697273917e Move console encoder to rendering namespace 2020-09-21 17:07:05 +02:00
2943535973 Make segments immutable 2020-09-21 17:03:17 +02:00
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
b197f278ed Add support for rows
Closes #69
2020-09-20 19:17:33 +02:00
3847a8949f Fix bug with uris being interpreted as emojis
Closes #82
2020-09-20 13:00:44 +02:00
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
090b30f731 Use Wcwidth library 2020-09-18 15:31:12 +02:00
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