4 Commits

Author SHA1 Message Date
Phil Scott
835143d95f Add Native AOT support documentation and update project files for AOT compatibility 2024-11-22 22:55:01 +01:00
Jan Klass
b61fff042b Make method reference to Markup.Escape more obvious
best-practices refers and links to the `Markup.Escape` method but labeled it `EscapeMarkup`.

I got quite confused trying to find EscapeMarkup. Using the typical *class dot method* pattern seems preferable. It also matches what you write in code.
2024-06-23 14:29:25 +02: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
d6cdd1fbda Adding a best practices guide. 2022-02-20 17:10:03 +01:00