Commit Graph

65 Commits

Author SHA1 Message Date
6f16081f42 Add support for indeterminate progress
This commit also changes the behavior of ProgressContext.IsFinished.
Only tasks that have been started will be taken into consideration,
and not indeterminate tasks.

Closes #329
Closes #331
2021-04-03 09:42:49 -04:00
20650f1e7e Change IAnsiConsole to render IRenderable
This makes it possible for encoders to output better representation
of the actual objects instead of working with chopped up segments.

* IAnsiConsole.Write now takes an IRenderable instead of segments
* Calculating cell width does no longer require a render context
* Removed RenderContext.LegacyConsole
* Removed RenderContext.Encoding
* Added Capabilities.Unicode
2021-03-28 09:06:06 -04:00
c643ec735d Fix documentation for ProgressContext.AddTask 2021-03-24 07:34:56 -04:00
7f6f2437b1 Add support for exclusive mode 2021-03-15 13:14:40 -04:00
c2bab0ebf8 Allow custom instructions for prompts
Closes #229
2021-03-14 21:27:44 -04:00
9502aaf2b9 Allow markup in selection prompts
Closes #221
2021-03-14 21:27:44 -04:00
57a8e6ccc1 Support Home, End, PgUp, and PgDown in prompts
Closes #296
2021-03-14 21:27:44 -04:00
da9c6ee4c2 Add IProgress<double> to ProgressTask.cs
Makes the Report method an explicit implementation to allow for better interoperability with standard .NET progress functionality while keeping backwards compatibility with existing ProgressTask functionality.

Closes #285
2021-03-07 09:24:44 +01:00
855127f32a Changes progress task IsFinished to account for stopped tasks
Previous behavior was that the only way to get a task to a finished state was to artificially set the Value to MaxValue.

With this change StopTask() will also complete the task with the change that a task cannot be restarted.
2021-03-07 09:24:21 +01:00
stf
1c769c6610 Add Progress.HideCompleted 2021-03-04 07:47:00 -05:00
c64884854f Make it possible to set Value directly 2021-02-25 11:56:32 +01:00
525b414ff8 Make alignment of TaskDescriptionColumn configurable 2021-02-16 23:33:47 +01:00
04d0e663d5 Extends maximum size of remaining and elapsed time displayed, plus a failsafe
Elapsed and remaining now support > 9 hours, and if a timespan can't be rendered in that size **:**:** will be displayed
2021-02-16 23:31:55 +01:00
9312663bde Adds text and Progress bar spinner column for tasks yet to be started 2021-02-14 18:03:57 +01:00
102e2dc38d Allow formatting breakdown charts with lambda expr
Relates to #252
2021-02-13 17:09:51 +01:00
705cf745ea Add formatting support for breakdown chart values
Closes #252
2021-02-05 11:53:55 +01:00
b64e016e8c Add breakdown chart support
This also cleans up the bar chart code slightly and fixes
some minor bugs that were detected in related code.

Closes #244
2021-02-01 01:03:39 +01:00
58400fe74e Fix code generation
Previous changes introduced some bugs to the
code generation scripts and templates, which
now have been fixed.
2021-01-29 21:46:08 +01:00
a23bec4082 Add profile support
Closes #231
2021-01-19 17:53:03 +01:00
913a7b1e37 Add support for default choice in selection prompt
Closes #234
2021-01-15 17:05:11 +01:00
63bae278a9 Add support for selection prompt highlighting 2021-01-15 15:23:09 +01:00
994540d97f Add cycle detection to tree rendering 2021-01-14 18:37:22 +01:00
dee3c01629 mask default value when prompt is a secret 2021-01-14 17:44:18 +01:00
07db28bb6f Add enhancements to progress widget
* Adds TransferSpeedColumn
* Adds DownloadedColumn
* Adds ElapsedTimeColumn
* Minor enhancements to existing columns
2021-01-12 14:10:07 +01:00
a977fdadff Fix tree node collection type 2021-01-10 16:59:40 +01:00
8261b25e5c Fix tree rendering
Fixes some tree rendering problems where lines were not properly drawn
at some levels during some circumstances.

* Change the API back to only allow one root.
* Now uses a stack based approach to rendering instead of recursion.
* Removes the need for measuring the whole tree in advance.
  Leave this up to each child to render.
2021-01-10 15:55:11 +01:00
0e0f4b4220 Add interactive prompts for selecting values
* Adds SelectionPrompt
* Adds MultiSelectionPrompt

Closes #210
2021-01-09 09:37:28 +01:00
3a593857c8 Add progress and status result overloads 2021-01-06 09:54:45 +01:00
11e192e750 Update Canvas tests 2021-01-06 09:54:45 +01:00
8901450283 Allow returning a result from Progress.StartAsync/Status.StartAsync 2021-01-06 08:08:38 +01:00
5b553a4106 Added canvas unit tests & fix canvas scaling bug 2021-01-05 14:00:04 +01:00
87e6b42409 Add tree example 2021-01-03 23:28:55 +01:00
1aa958ced3 Add support for multiple tree roots 2021-01-03 23:28:55 +01:00
4bfb24bfcb Streamline tree API a bit 2021-01-03 23:28:55 +01:00
b136d0299b Add tree widget 2021-01-02 10:01:16 +01:00
179e243214 Clean up table rendering a bit 2021-01-02 09:33:22 +01:00
e71db7f78c fix some nullability issues 2020-12-31 11:09:03 +01:00
0bbf9b81a9 Adds optional function to get the display string for TextPrompt choices 2020-12-26 18:17:46 +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
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
5c33b87a9c Add Verify for testing 2020-11-20 16:22:23 +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
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