Skip to content

Feature: refactor ANSI formatting into single class #28

@dialex

Description

@dialex
class AnsiCode {
  PREFIX
  SUFFIX
  SEPARATOR

  //builder pattern
  constructor().withTextColor(...).withBackColor(...).build()

  String generateCode() {
    //returns ansi escape code (for printing)
  }

  String generateEscapedCode() {
    //returns escaped ansi escape code (for unit tests and debugging)
  }
}

// NEW - creation
AnsiCode format = new AnsiCode().withTextColor(FColor.Red).build()
ColoredPrinter cp = new ColoredPrinter().withFormat(format).build()

// OLD - usage
//ColoredPrinter.println("message", Attr.Bold, FColor.Blue, BColor.Red)
// NEW
AnsiCode warning = new AnsiCode().withTextColor(FColor.Yellow).build()
ColoredPrinter.println("message", warning)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions