namespace Shoko; [MediaType("text/plain")] [MediaType("text/*")] class PlainMediaHandler : MediaHandler { List lines; public PlainMediaHandler(ProtoHandler content) { Content = content; lines = new List(); } public override async Task Load() { Title = Content.URL.AbsolutePath; var reader = new StreamReader(Content.Content); string line; while((line = await reader.ReadLineAsync()) is not null) { lines.Add(line); } OnLoaded(); } public override void Render() { Gui.Font(MainUI.MonospaceFont, ()=> { foreach(var line in lines) Gui.Text(line); }); } }