468 Commits

Author SHA1 Message Date
Andreas Grünwald
38d9386e00
Add option to configure the style of the choices list and the default value in TextPrompt (#681)
* Allow setting the style of the default value in TextPrompt

Add property "DefaultValueStyle" to TextPrompt which allows setting the style in which the default value is rendered.
When no style is set, the value is displayed as green text, keeping the existing behavior.

* Allow setting the style in which a TextPrompt's choices are displayed

Add property "ChoicesStyle" to TextPrompt which allows setting the style in the prompt's choices are rendered.
When no style is set, choices are displayed as blue text, keeping the existing behavior.
0.44.0
2022-03-27 19:38:01 +02:00
Cédric Luthi
7998ece6b6
Obsolete the AnsiConsoleFactory class (#585)
`AnsiConsoleFactory` should be an internal static class. Creating an `IAnsiConsole` can be achieved through `Spectre.Console.AnsiConsole.Create(AnsiConsoleSettings)`

Since `AnsiConsoleFactory` is public, it can't be changed from a non static class to a static class so obsoleting it is the second best thing to do.

Eventually, when `AnsiConsoleFactory` becomes internal and static, `AnsiConsole.Create` can be simplified to this (and the private static field `_factory` can be removed)

```
public static IAnsiConsole Create(AnsiConsoleSettings settings)
{
    return AnsiConsoleFactory.Create(settings);
}
```
2022-03-22 22:36:04 +01:00
Phil Scott
1d8154f9b0
Introduce MarkupInterpolated and MarkupLineInterpolated extensions (#761)
* Introduce MarkupInterpolated and MarkupLineInterpolated extensions

These new methods enable easily writing markup with a nice and intuitive syntax without having to worry about escaping the markup.

```csharp
string input = args[0];
string output = Process(input);
AnsiConsole.MarkupLineInterpolated($"[blue]{input}[/] -> [green]{output}[/]");

```

The `Interpolated` suffix was inspired by the Entity Framework Core [FromSqlInterpolated][1] method.

[1]: https://docs.microsoft.com/en-us/ef/core/querying/raw-sql#passing-parameters

* Fixing whitespace to match file scoped namespaces

* Adding FromInterpolated helper to Markup widget

Allows automatic handling of interpolated strings to be used on the Markup widget. This would be helpful for people working with Tables and the Tree control who would not be using the MarkupInterpolated methods.

* Documentation for markup interpolated methods.

Co-authored-by: Cédric Luthi <cedric.luthi@gmail.com>
2022-03-22 22:34:25 +01:00
Phil Scott
1f2629e2e1 Adding a short template file for new documentation. 2022-03-05 22:51:01 +01:00
Patrik Svensson
a6364e066b
Fix path and description for TextPath docs (#758) 2022-03-02 10:24:33 +01:00
Patrik Svensson
fbe1d0b6f2
Add documentation for TextPath widget (#757) 2022-03-01 20:56:58 +01:00
Patrik Svensson
eb4a7d3bf4 Add support for alignment 2022-02-23 09:06:51 -05:00
Patrik Svensson
5e41a2f505 Add support for styling segments 2022-02-23 09:06:51 -05:00
Andrew Armstrong
921d595269 Update SixLabors.ImageSharp reference to 2.0.0 2022-02-23 09:29:35 +01:00
Phil Scott
899dd20b65 Optimizing build
* Upgrades Statiq.Web to which contains analyzer perf improvements
* Dropping script front matter when not needed from blog archives
* Trimming down the number of files tailwind examines when building the css file to only a subset of the docs.
* Updates Playwright to latest version
* Updates tailwind and asciienma to latest
* Removes npm packages that are no longer required
2022-02-22 08:56:27 +01:00
Andrew Rublyov
8ae3d258e4 Add another missing nullables 2022-02-20 23:57:06 -05:00
Andrew Rublyov
974aa1afda Fix inheritance and nullables in settings.md 2022-02-20 23:57:06 -05:00
Patrik Svensson
66fc949e2a Initial work on TextPath widget 2022-02-20 23:26:04 -05:00
Phil Scott
d6cdd1fbda Adding a best practices guide. 2022-02-20 17:10:03 +01:00
Patrik Svensson
bec3315d91 skip-ci: Fix typo 2022-02-16 01:40:47 +01:00
Patrik Svensson
d465d93a9b Add Netlify badge 2022-02-16 00:44:52 +01:00
Patrik Svensson
782a99d726 Add Netlify attribution to footer 2022-02-16 00:36:01 +01:00
Patrik Svensson
b6be693007 Update copyright 2022-02-16 00:35:10 +01:00
Patrik Svensson
f9a85e017a Only build docs once :) 2022-02-15 18:02:25 +01:00
Phil Scott
36e5350968 Tweaking font-size and line-height for smaller screens 2022-02-15 17:28:27 +01:00
Phil Scott
3ac63d2670 Configures deployment to netlify 2022-02-14 21:09:38 +01:00
Phil Scott
c2da268129
Docs redesign (#728)
* Adding a dark mode
* Adding reference for types to summary pages
* Adding API Reference
* Adding modifiers to methods/fields/etc
* Minimizing files input
* Caching a lot of the output pages
* Cache only for each execution
* Adding API references to existing docs
2022-02-14 18:44:25 +01:00
Phil Scott
74a2e10ff0 Making tuples pretty too 2022-02-04 10:30:09 +01:00
Phil Scott
e8eb5b85b9 Updating documentation output to match new Exception rendering. 2022-02-04 10:30:09 +01:00
Phil Scott
78958aae27 Adding better type names for return types and parameters
Uses the typenamehelper from Ben.Demystifer to help break down things like generic lists into their actual type display name.
2022-02-04 10:30:09 +01:00
Phil Scott
a0e20f299c Improves exception rendering for async methods 2022-02-03 17:10:30 +01:00
Cédric Luthi
ff4215f431 Simplify exception formatting
Now that exceptions are not _parsed_ anymore (#513 and #637), keeping the `ExceptionInfo` and `StackFrameInfo` internal classes doesn't make much sense anymore. The `Exception` and `StackFrame` types can be used by the `ExceptionFormatter` class directly, without conversion.
2022-02-03 10:02:32 -05:00
Steven
f221c1f25c
add overload taking params array (#682) 2022-01-15 19:51:17 +01:00
Jouni Heikniemi
0b988ff65c
Fix WithExample call on the CommandApp doc page to match reality (#689) 2022-01-13 21:43:31 +01:00
Nils Andresen
9a6d8d92b4 (#674) changed TypeResolver in Cli/logging
to adhere to the specifications set in #620
2022-01-02 10:26:04 +01:00
Patrik Svensson
52c1d9122b
Add global usings (#668)
* Use global usings

* Fix namespace declarations for test projects
2021-12-23 16:50:31 +01:00
Patrik Svensson
eb6a9d8d04 Add .git-blame-ignore-revs 2021-12-22 08:51:17 -05:00
Patrik Svensson
ec1188b837 Use file scoped namespace declarations 2021-12-22 08:51:17 -05:00
Patrik Svensson
1dbaf50935 Add release notes for 0.43.0 2021-12-22 08:50:31 -05:00
Phil Scott
523adc6c49 Including dotnet tools restore into ci build 2021-12-21 19:44:16 +01:00
Phil Scott
bba5f0c5dc Trying to rework dotnet tools for docs and playwright 2021-12-21 19:44:16 +01:00
Patrik Svensson
19ff48f4b8 Clean up .NET SDK installation 2021-12-15 22:54:27 +01:00
Patrik Svensson
8fcd2e59d6 Install .NET 5 as part of build 2021-12-15 22:47:05 +01:00
Patrik Svensson
8ce40bac3c Fix documentation build 2021-12-15 22:43:03 +01:00
Cédric Luthi
8e762e4618 Simplify stack frame parsing
This is the natural extension of #513 which already removed a lot of regex parsing. 

The `ExceptionParser` class is renamed into `ExceptionConverter` because there is no more string parsing performed at all. `Exception` is converted into `ExceptionInfo` and `StackFrame` is converted into `StackFrameInfo`.
2021-12-15 22:24:34 +01:00
zameer fouzan
37f661a963
fix: table title's first letter is getting capitalized by default (#652)
fix for #638
2021-12-07 13:03:30 +01:00
Nils Andresen
55633b59fa (#645) Ordered CommandArguments by position
in CommandModelValidator
2021-12-02 11:15:25 +01:00
Phil Scott
3f561e0902 Update Roslynator.Analyzers to version 3.3
I kept running into https://github.com/JosefPihrt/Roslynator/issues/833 when using Rider, but it seems this was fixed in version 3.2 thanks to a fix in how they are doing assemblies. Looks like this would also include benefits for people using VS2022 too
2021-12-02 11:10:49 +01:00
Phil Scott
461348f2fb
Update asciinema (#648)
* Updating doc build dependencies

Updates playwright to latest version. This requires an update in how it is ran as part of the statiq build set up to ensure dependencies exist for the run.

Also brings misc packages up to date to fix vulnerabilities.

* Updates CI to use node v16 and dotnet 5

Playwright CLI currently needs net5 to execute. There is a PR in the works to get it running on net6 but until then the recommended steps it to have both installed.
2021-12-01 13:40:51 +01:00
Patrik Svensson
fd4b96944e Add support for alternate screen buffers
Closes #250
2021-11-30 12:13:14 -05:00
Tim Waalewijn
2e5d18fa78
Added the ability to hide CommandOptions. (#642)
CommandOptions now has an IsHidden property that, when set to true, will cause the option to be hidden from the following cases:

- Help text using `-h|--help`
- Xml representations generated with the `cli xml` command
- Diagnostics displayed with the `cli explain` command

Hidden options can still be outputted with `cli explain` using the `--hidden` option that is also used to display hidden commands.

Fixes #631
2021-11-29 23:16:54 +01:00
Cédric Luthi
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.
0.43.0
2021-11-26 10:23:20 +01:00
Patrik Svensson
225305f90e Update examples to net6.0
Closes #604
2021-11-23 22:30:45 -05:00
Cédric Luthi
8fed3bc575
Fix type conversion in the default pair deconstructor implementation (#618)
The code using the TypeConverter was written backwards (using `ConvertTo` instead of `ConvertFrom` and would thus throw an exception.
2021-11-22 15:07:58 +01:00
Cédric Luthi
19eb273813 Fix typo in PairDeconstructor class name
PairDeconstuctor → PairDeconstructor (was missing an 'r')

Keeping `PairDeconstuctor` and marking it as obsolete since it's a public type.
2021-11-14 10:36:16 +01:00