Commit Graph

91 Commits

Author SHA1 Message Date
37f661a963 fix: table title's first letter is getting capitalized by default (#652)
fix for #638
2021-12-07 13:03:30 +01:00
168f35202d Fix exception formatting for generic methods (#639)
The generic parameters were double escaped and would display as `[[T0,T1,TRet]]` instead of `[T0,T1,TRet]`. This is because the `builder.AppendWithStyle` method already escapes its value so the caller must not escape the passed value.
2021-11-26 10:23:20 +01:00
fa15389158 Add support custom max value for barcharts (#545) 2021-10-05 00:49:09 +02:00
e3dfe23b59 Work done to allow user to update table cell. (#546) 2021-09-27 13:03:45 +02:00
d34012cad0 Fix typos in code comments 2021-09-13 22:58:52 -04:00
786b7670da Fix the style parameter nullable annotation on AnsiConsoleExtensions
The style parameter is actually nullable. Also, the documentation of the style parameter has been made explicit that `Style.Plain` is used when a `null` style is passed.
2021-08-31 18:52:34 +02:00
e081593012 Fix parsing of exceptions on .NET Framework
On .NET Framework, `exception.ToString()` uses a slightly different format than on .NET Core.

So in order to properly transform an `Exception` into an `ExceptionInfo` on both .NET Core and .NET Framework we use `exception.StackTrace` + `exception.InnerException`. As an added benefit, it greatly simplifies the implementation of the `ExceptionParser` class.
2021-08-30 11:08:24 +02:00
e169df6303 Add support for manipulating individual table rows
Closes #500
2021-08-14 23:35:07 +02:00
fa5a1e88ec Clean up Widgets
* Move /Widgets/Live/* to /Live/*
* Move /Widgets/Prompt/* to /Prompts/*
* Move tests and expectations to match the new locations
2021-07-14 08:38:44 -04:00
5f97f2300c Support cancellation of prompts
Closes #417
2021-07-11 23:10:17 -04:00
2011cb2eff Do not append suffix to text prompt
Do not append suffix to text prompt unless
there are choices or a default value specified.

Closes #413
2021-07-05 09:15:54 +02:00
865552c3f2 Add support for selecting prompt items
Closes #447
2021-06-28 08:41:24 -04:00
c9b178ac96 Moved analyzer tests to its own project
Also moves tests to `./test` which makes it possible
for all test projects to share the same .editorconfig
files and similar.
2021-06-23 22:47:12 +02:00
d015a4966f Hardblank 2021-06-21 01:23:18 +02:00
5faa61fa64 Correct documentation comment text 2021-06-09 23:56:30 +02:00
bfdaef95d6 Fix OverflowException when estimating the progress remaining time (#404)
Fix OverflowException when estimating the progress remaining time
2021-05-24 09:56:29 +02:00
450d87f5d3 Add support for fake input in asciicast recordings
* Fixes a bug with `SelectionPrompt` and page size.
* Allow `IAnsiConsoleInput` to return `null`.
2021-05-23 22:22:44 -04:00
46abadaccb Add AsciiCast demos for docs 2021-05-23 23:30:14 +02:00
69fdae70c0 Fixes non-interactive progress bars from rendering little info
If any task was not-started or finishes then everything stops rendering. I suspect this worked ok but wasn't noticed until we introduced the indeterminate progress task that starts off not-started which caused everything to bail early in the demos.
2021-05-22 09:17:34 +02:00
3dea412785 Add live display support
This commit also adds functionality to LiveRenderable that should
fix some problems related to vertical overflow.

Closes #316
Closes #415
2021-05-20 19:41:10 -04:00
315a52f3e9 Add support for hierarchical list prompts
Closes #412
2021-05-18 11:34:16 -04:00
6549436356 Fix line break regression
In commit d1d94cd, we accidentally introduced a regression
since conhost requires all line breaks to be `\r\n`.
2021-05-10 17:42:49 -04:00
d1d94cdebe Add Length and Lines properties to Paragraph
* Adds Length and Lines to `Paragraph`, `Markup` and `Text`.
* Do not use Environment.NewLine
2021-05-03 17:24:44 +02:00
3463dde543 Add method to write VT/ANSI control codes
Adds a new extension method IAnsiConsole.WriteAnsi that writes
VT/ANSI control codes to the console. If VT/ANSI control codes are
not supported, nothing will be written.
2021-04-22 22:16:10 -04:00
91f910326c Fix maxWidth bug in Panel
Panel could pass a maxWidth to the child Render function that was greater than the maxWidth that was passed to the Panel render function.
I noticed this when trying to nest a table in a panel and the word wrapping was being disabled.

N.B It might be that Table.Measure ought to not return a measurment larger than maxWidth, but this Panel change seems defensivly sensible regardless.
2021-04-22 22:14:49 +02:00
3e2eea730b Add output abstraction and reorganize profile
* Moves ColorSystem from Profile to Capabilities
* Renames Tty to IsTerminal
* Adds IAnsiConsoleOutput to make output more flexible

Closes #343
Closes #359
Closes #369
2021-04-13 21:39:54 -04:00
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