using NozCli.Repl; using Spectre.Console; namespace NozCli.Commands; public class CatCommand : ICommand { public string Name => "cat"; public string Description => "Print the raw markdown of a note"; public string Usage => "cat "; public async Task ExecuteAsync(string[] args, ReplContext ctx, CancellationToken ct = default) { var slug = args.FirstOrDefault(); if (slug is null) { AnsiConsole.MarkupLine("[red]Usage: cat [/]"); return; } slug = ctx.ResolveSlug(slug); Core.Models.NoteContent note = default!; await AnsiConsole.Status().StartAsync("Fetching…", async _ => note = await ctx.Api.GetNoteAsync(slug, ct)); AnsiConsole.WriteLine(note.Markdown); } }