Skip to content

Colour Support #1

Closed
Closed

Description

@kiran94

Can we implement Colour Support in the tables?

Making use of something like:

Console.ForegroundColor = ConsoleColor.Green

Activity

  1. minhhungit commented on Feb 18, 2018

    @minhhungit
    Owner

    @kiran94 maybe in next version! I will implement more methods to help us format header, rows

  2. minhhungit commented on Feb 18, 2018

    @minhhungit
    Owner

    @kiran94
    But if you don't want to wait to next release, you can format it by manual.
    Remember that you can replace ExportAndWriteLine() method with your code, do something like this:

    var builder = ConsoleTableBuilder.From(GetSampleTableData());
    Console.ForegroundColor = ConsoleColor.Green;
    Console.WriteLine(builder.Export());
    Console.ResetColor();

    FYI, ExportAndWriteLine() is just a wrapper method which help us write less code

    public static void ExportAndWriteLine(this ConsoleTableBuilder builder)
    {
        Console.WriteLine(builder.Export());
    }

    Hope this help

  3. vanillajonathan commented on Feb 8, 2021

    @vanillajonathan

    @minhhungit How is the formatting of header rows going?

  4. minhhungit commented on Feb 8, 2021

    @minhhungit
    Owner

    @vanillajonathan please use Discussion for asking question
    Quick reply: there is sample here #8 (comment)
    You will need to use WithCharMapDefinition and WithHeaderCharMapDefinition

  5. vanillajonathan commented on Feb 8, 2021

    @vanillajonathan

    @minhhungit I meant formatting of header rows with colors, since this issue was about color support. So example if the data rows are with gray text then the text in the header rows could be in white text to stand out.

  6. minhhungit commented on Feb 8, 2021

    @minhhungit
    Owner

    Ahh sorry, I did not notice it, at this time I have no idea how we should support color, will we color table border, cell content... ?

    Right now if you really want to color the table, you can use builder.Export(), it will expose a StringBuilder
    You can then foreach line and format it by manual

    Anyway, I will reopen this issue. If you have idea, please let me know.

  7. vanillajonathan commented on Feb 8, 2021

    @vanillajonathan

    The WithTitle method could have an overload that takes a second parameter of enum type ConsoleColor. Or there could be a SetTitleColor and a SetColumn color method.

  8. minhhungit commented on Feb 8, 2021

    @minhhungit
    Owner

    yeah It is possible for those functions

  9. minhhungit commented on Feb 9, 2021

    @minhhungit
    Owner

    Humm, I checked it, unlucky table is built from StringBuilder ( Export ), we can not inject code to change the color of text in StringBuilder
    So I think we have to return new object instead StringBuilder, using a difference type not StringBuilder can cause problem about performance

  10. minhhungit commented on Feb 9, 2021

    @minhhungit
    Owner

    Right now I just can implement it like this (only support table title, other things like column name, border, cell content are more complex)

    image

    Code is pushed to branch https://github.com/minhhungit/ConsoleTableExt/tree/Feature/Coloring
    Have not merged to master yet

  11. minhhungit commented on Feb 17, 2021

    @minhhungit
    Owner

    merged, now at version 3.1.2 we can use

    .WithTitle("HERE IS YOUR TITLE", ConsoleColor.Yellow, ConsoleColor.DarkGray)
  12. Repository owner locked and limited conversation to collaborators on Apr 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions