466 Commits

Author SHA1 Message Date
Tom Longhurst
d921ac6f02
Positioned Progress Tasks - Before or After Other Tasks (#1250) 2024-03-07 08:38:59 +00:00
renovate[bot]
5acd83a3ef chore: Update dependency SixLabors.ImageSharp to v3.1.3 2024-03-05 08:05:38 +01:00
Stuart Lang
397b742bec
Add selection orompt Search (#1289)
* Add selection prompt search as you type

* Fix small bug

* Simplify

* Simplify

* Remove spacebar as a selection prompt submit key

* Trigger CI

* Update src/Spectre.Console/Prompts/SelectionPrompt.cs

Co-authored-by: Martin Costello <martin@martincostello.com>

* Simplifty Mask method

* Handle multi-selection prompt better

* Update API naming

* Address feedback

* Add some tests

* Remove whitespace

* Improve search and highlighting

* Add test case for previous issue

* Add extra test case

* Make prompt searchable

---------

Co-authored-by: Martin Costello <martin@martincostello.com>
Co-authored-by: Patrik Svensson <patrik@patriksvensson.se>
2024-02-25 12:57:27 +01:00
Martin Costello
d30b08201d Remove [DebuggerDisplay] from Paragraph
The `_text` field no longer exists, so hovering over instances in the debugger just shows an error message.
2024-02-23 14:25:32 +01:00
renovate[bot]
8da05bcc17 chore: Update dependency Roslynator.Analyzers to v4.11.0 2024-02-19 18:31:54 +01:00
Patrik Svensson
fde9ee04cf Automatically register command settings
Closes #428
2024-02-15 21:33:51 +01:00
Daniel Weber
bf3b91a535 Don't erase the prompt text when backspacing on a secret prompt with a null mask. 2024-02-13 09:01:24 +01:00
Patrik Svensson
b21e07ea94 Update dependencies
* Add support for C# 12
* Run all tests on all major .NET SDKs
* Only build on Ubuntu
* Do not build docs for pull requests
* Add Cédric Luthi, and Frank Ray to authors
* Drop netstandard2.0 for ImageSharp plugin
2024-01-31 20:51:49 +01:00
Jonathan Sheely
703d653ec5
Adds ValueFormatter to ProgressBar 2024-01-31 17:37:05 +01:00
Caelan Sayler
71631b248a
Fix potential deadlock when cancelling prompts (#1439) 2024-01-31 12:02:01 +01:00
Frank Ray
9cc888e5ad
Make HelpProvider colors configurable (#1408) 2024-01-18 15:31:28 +01:00
Frank Ray
cee97821d6 Fix stylecop warning 2024-01-15 19:22:34 +01:00
Frank Ray
55c763a5c2 Completed 2024-01-15 19:22:34 +01:00
Nils Andresen
544e6a92df
Added the ITypeResolver to the ExceptionHandler (#1411) 2024-01-06 23:34:02 +00:00
Nils Andresen
a94bc15746
Add the possibility to register multiple interceptors (#1412)
Having the interceptors registered with the ITypeRegistrar also enables the usage of ITypeResolver in interceptors.
2024-01-06 22:28:20 +00:00
Chet Husk
e7ce6a69b7 Allow specifying a property to ignore the use of build-time packages for versioning and analysis 2024-01-03 21:45:16 +01:00
Nils Andresen
6f1f29967d (#1363) fix rendering of ListPrompt for odd pageSizes 2024-01-01 10:19:09 +01:00
Nils Andresen
c62f79eded Bump CodeAnalyses references
So we can benefit from roslyn issue 69309
and have consistent EOL sequences, even on
auto-generated using statements.
2023-11-28 00:14:54 +01:00
Nils Andresen
44300c871f fixed line-endings 2023-11-28 00:14:54 +01:00
Patrik Svensson
b1e0896a0d Add net8.0 support 2023-11-14 22:24:53 +01:00
Will Baldoumas
e07ccd9f66
Allow Confirmation Prompt Styling (#1210)
* Allow Confirmation Prompt Styling

* Remove style null check

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>

* Remove style null coalesce

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>

* Update comment

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>

* Remove style null check

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>

* Update comment

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>

* Remove style null coalesce

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>

---------

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>
2023-11-13 18:23:09 +01:00
Frank Ray
250b1f4c9c
Add localization support to help provider (#1349)
Closes #1349
2023-11-11 00:22:52 +01:00
Nils Andresen
023c77ff09 fixed the build-errors
All of which I introduced earlier.
2023-11-11 00:09:08 +01:00
Nils Andresen
dc402220f2 (#1313) fixed errors in FakeTypeRegistrar and FakeTypeResolver
to make the unit tests pass.
2023-11-11 00:09:08 +01:00
Nils Andresen
3da367f29f (#1313) fix mixing of Registrations
i.e. combining Register, RegisterInstance and RegisterLazy
2023-11-11 00:09:08 +01:00
Nils Andresen
ead7115cbe (#1313) Add new test to TypeRegistrarBaseTests
to assert the assumptions we're making in the code.
2023-11-11 00:09:08 +01:00
Nils Andresen
1fd028942f (#1313) removed the default registration of the IHelpProvider 2023-11-11 00:09:08 +01:00
Cédric Luthi
4219bbbf61 Allow passing a nullable style in DefaultValueStyle() and ChoicesStyle()
This will allow to slightly simplify the implementation of #1210

See also related discussion on https://github.com/spectreconsole/spectre.console/pull/1349#discussion_r1388385384
2023-11-10 08:01:18 +01:00
Cédric Luthi
29a43686d4 Fix AnsiConsoleOutput safe height
The safe height (introduced in 3e2eea730bf0f6fe4a5e336faa312b526d351079) would be 80 (the value of the safe width) instead of 24.

Removing the explicit `defaultValue` parameter ensures that the correct constants are used, i.e. Constants.DefaultTerminalWidth and Constants.DefaultTerminalHeight.
2023-11-09 12:11:56 +01:00
Nils Andresen
bbf58ee814
(#1188) Rows measure greedy 2023-10-19 07:46:12 +02:00
Cédric Luthi
5296e56b1c
Fix DefaultValue for FileInfo and DirectoryInfo (#1238)
Commit d3f4f5f208ee76a22ff39c13df4d150712685f5f introduced automatic conversion to FileInfo and DirectoryInfo but failed to properly handle the conversion if the value comes from the [DefaultValue] attribute.

Using both `var (converter, stringConstructor) = GetConverter(...)` and `var (converter, _) = GetConverter(...)` should have been a red flag!
2023-09-21 12:05:42 +01:00
Patrik Svensson
943c045fab
Fixes TextPath rendering bugs (#1308)
* Do not emit line break when rendering
* Don't be greedy when measuring.
* Fix a condition that decides if the path fits in the allotted space.

Closes #1307
2023-09-18 08:04:57 +02:00
Phil Scott
ed9e198d60
Progress bar header and footer (#1262) 2023-09-16 22:39:43 +02:00
Patrik Svensson
3bee7212b7
Merge pull request #1303 from nils-a/feature/GH-684 2023-09-16 19:37:00 +02:00
Patrik Svensson
c82d8c4523
Add option to show separator between table rows (#1304)
* Add option to show separator between table rows
* Panels should show header if borders are not shown

Closes #835
2023-09-16 18:49:12 +02:00
Nils Andresen
bef21e8a21
(#684) Enable setting the color of the values in a BreakdownChart 2023-09-15 20:12:06 +02:00
Ola Bäcker
037e109699
Fix figlet centering possibly throwing due to negative size (#1302) 2023-09-14 19:50:12 +02:00
Fraser Waters
cec5fb4595
Render tables with zero-width columns (#1197)
Fixes https://github.com/spectreconsole/spectre.console/issues/361
2023-09-12 15:46:25 +02:00
Frank Ray
131b37fff8
Allow custom help providers (#1259)
Allow custom help providers

* Version option will show in help even with a default command

* Reserve `-v` and `--version` as special Spectre.Console command line arguments (nb. breaking change for Spectre.Console users who have a default command with a settings class that uses either of these switches).

* Help writer correctly determines if trailing commands exist and whether to display them as optional or mandatory in the usage statement.

* Ability to control the number of indirect commands to display in the help text when the command itself doesn't have any examples of its own. Defaults to 5 (for backward compatibility) but can be set to any integer or zero to disable completely.

* Significant increase in unit test coverage for the help writer.

* Minor grammatical improvements to website documentation.
2023-09-08 09:51:33 +02:00
Cédric Luthi
2af901a814 Remove unnecessary [NotNull] attributes
When subclassing `Command<TSettings>` which has the [NotNull] attributes, Rider/ReSharper gives this warning:
> Nullability of type of parameter 'context' in method does not match overridden member `int Spectre.Console.Cli.Command<TSettings>.Execute(CommandContext, TSettings)` (possibly because of nullability attributes)

When subclassing `Command<TSettings>` which does not have the [NotNull] attributes, Rider/ReSharper gives this warning:
> The nullability attribute has no effect and can be safely removed

The solution is simply to remove the [NotNull] attributes.

Since `<Nullable>enable</Nullable>` is set in the project, they are actually not necessary. By the way, the non-generic `Command` class does not have the [NotNull] attributes.
2023-07-12 15:26:12 +02:00
Jeppe Roi Kristensen
e0ded712e8 Add fix to avoid exception on Rows with no children 2023-06-13 00:36:06 +02:00
fredrikbentzen
71a5d83067 Fixed render issue where writeline inside status caused corrupt output #415 #694 2023-06-04 20:31:12 +02:00
Ignacio Calvo
35ce60b596
Implemented AddAsyncDelegate (#766) 2023-05-25 11:31:01 +01:00
Frank Ray
0ec70a44db
Async command unit tests 2023-05-19 17:19:17 +01:00
Elisha Aguilera
018f4ebd17
Minor refactors (#1081) 2023-05-14 15:30:27 +01:00
Andrii Rublov
404b052a5f
Add ability to pass example args using params syntax (#1166) 2023-05-12 12:08:42 +01:00
Cédric Luthi
dac2097321
Add support for arrays in [DefaultValue] attributes (#1164)
Fixes #1163
2023-05-11 14:26:53 +01:00
Cédric Luthi
6acf9b8c63
Add an implicit operator to convert from Color to Style (#1160) 2023-05-10 14:20:12 +01:00
Thomas M. Schöller
4dcbd30285
Merge branch 'spectreconsole:main' into main 2023-04-03 12:45:34 +02:00
MaxAtoms
1334319dd1
Add Alacritty as supported Ansi console 2023-04-03 12:42:24 +02:00