Commit Graph

821 Commits

Author SHA1 Message Date
f7befacd79 (#644) Specified settings for the argument vector (#1301) 2023-09-13 09:06:25 +02:00
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
9c86391fb6 (#1297) change all SetErrorHandler to SetExceptionHandler (#1298) 2023-09-12 13:57:02 +02:00
a3dcb31729 Update ColumnsSample to showcase nicer data (#1295)
Also, I switched the base width of the AsciiCast back
to 82 (from 120) so newly created casts are no longer
overflowing the display with on the pages.

Re-created the Panel and BreakdownChart casts, as
they were currently overflowing due to the 120 chars
width of the cast.
2023-09-12 12:58:18 +02:00
1002c6fe27 Merge pull request #1294 from nils-a/feature/GH-1279 2023-09-11 23:45:39 +02:00
c64797d681 (#1279) added the missing columns-cast 2023-09-11 23:26:54 +02:00
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
813a53cdfa Fix Rule widget docs 2023-07-16 12:29:04 +02:00
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
83afa97017 Set end_of_line to LF instead of CRLF
This matches the actual content of the repository (except for a few files which have CRLF instead of LF)

The motivation behind this change is that Rider observes the .editorconfig rules and changes the line ending to CRLF on save. When submitting pull requests the diff is full of changes because all the end of lines were changed from LF to CRLF. By setting `end_of_line` to `LF` the end of lines are not changed on save and the diffs are clean when submitting pull requests.
2023-07-12 15:25:52 +02:00
e0ded712e8 Add fix to avoid exception on Rows with no children 2023-06-13 00:36:06 +02:00
d484e832f5 Relax the SDK requirements by rolling forward to the latest feature
This was initially introduced in 3c5b98123b by Daniel Cazzulino, then reverted in 82de4a55c4 by Patrick Svensson because of a bug in the .NET 6.0.401 SDK.
2023-06-07 13:41:09 +02:00
71a5d83067 Fixed render issue where writeline inside status caused corrupt output #415 #694 2023-06-04 20:31:12 +02:00
35ce60b596 Implemented AddAsyncDelegate (#766) 2023-05-25 11:31:01 +01:00
0ec70a44db Async command unit tests 2023-05-19 17:19:17 +01:00
1ee2653cf8 Merge pull request #1231 from FrankRay78/Blog-post-for-0.47.0
Blog post for 0.47.0 (updated)
2023-05-19 18:05:06 +02:00
4c0178cf9a Merge branch 'main' into Blog-post-for-0.47.0 2023-05-19 16:50:48 +01:00
296bc61837 Updated links and github usernames to markdown url format so they render as native html links 2023-05-19 16:48:48 +01:00
766ccb1f1b Minor grammatical update 2023-05-19 16:40:57 +02:00
f7314dc2e8 Blog post for 0.47.0 2023-05-19 16:40:57 +02:00
f453890d13 Minor grammatical update 2023-05-19 12:26:35 +01:00
2c8f459806 Blog post for 0.47.0 2023-05-19 12:22:28 +01:00
018f4ebd17 Minor refactors (#1081) 2023-05-14 15:30:27 +01:00
404b052a5f Add ability to pass example args using params syntax (#1166) 2023-05-12 12:08:42 +01:00
dac2097321 Add support for arrays in [DefaultValue] attributes (#1164)
Fixes #1163
2023-05-11 14:26:53 +01:00
6acf9b8c63 Add an implicit operator to convert from Color to Style (#1160) 2023-05-10 14:20:12 +01:00
3ec0fee795 Merge pull request #1218 from phillip-haydon/patch-1 2023-04-24 08:56:25 +02:00
5843a4545e Fix coconut spelling 2023-04-24 14:37:06 +08:00
d64d3ec770 Merge pull request #1211 from MaxAtoms/main 2023-04-03 16:32:18 +02:00
4dcbd30285 Merge branch 'spectreconsole:main' into main 2023-04-03 12:45:34 +02:00
1334319dd1 Add Alacritty as supported Ansi console 2023-04-03 12:42:24 +02:00
714cf179cb Command line improvements (#1103)
Closes #187
Closes #203
Closes #1059
2023-04-02 22:43:21 +02:00
70da3f40ff Merge pull request #1161 from MartinZikmund/dev/mazi/stringcomparer-confirmation 2023-03-16 09:57:15 +01:00
5075732564 Adjustments based on code review 2023-03-16 09:45:42 +01:00
10467a2912 Do not register analyzers if SpectreConsole is not available in the current compilation 2023-03-13 20:07:41 -04:00
a7ab1b690e Use SymbolEqualityComparer.Default when possible 2023-03-13 20:03:12 -04:00
142942b8a2 Simplify access to the SemanticModel in analyzers 2023-03-13 19:58:40 -04:00
0bab835293 Forward CancellationToken to GetOperation 2023-03-13 19:57:08 -04:00
a6af9a6842 Merge pull request #1183 from Frassle/promptExampleTypo 2023-03-01 18:43:46 +01:00
d3f4f5f208 Add support for converting command parameters into FileInfo and DirectoryInfo (#1145)
Add support for converting command parameters that doesn't have a built-in TypeConverter but has a constructor that takes a string. For CLI apps, FileInfo and DirectoryInfo will likely be the most useful ones, but there may be others.
2023-03-01 12:02:43 +00:00
cbbdb3369c Fix minor typo in Prompt example 2023-02-26 22:22:31 +00:00
6740f0b02b Add support for static lambda and delegate 2023-02-24 19:04:01 -05:00
f7f99ec899 Simplify and make the code fix more robust 2023-02-24 19:04:01 -05:00
955fe07bac Allow to apply code fix in top-level statements 2023-02-24 19:04:01 -05:00
819b948e78 Merge pull request #1174 from meziantou/missing-stringcomparison 2023-02-22 16:03:29 +01:00
baa8220a52 Use StringComparison.Ordinal instead of culture-sensitive comparisons 2023-02-20 20:23:06 -05:00
9cd7b24e65 Allow configuration of confirmation prompt comparison via StringComparer 2023-02-11 17:09:16 +01:00
04610cf492 Alias for command branches (#411) 2023-02-09 14:26:06 +00:00
f4183e0462 Merge pull request #1152 from MartinZikmund/dev/mazi/confirmation-insensitive 2023-02-04 20:44:34 +01:00
29846ba505 Ensure correct comparer is used for TextPrompt 2023-02-04 19:56:37 +01:00