1package aec 2 3// Builder is a lightweight syntax to construct customized ANSI. 4type Builder struct { 5 ANSI ANSI 6} 7 8// EmptyBuilder is an initialized Builder. 9var EmptyBuilder *Builder 10 11// NewBuilder creates a Builder from existing ANSI. 12func NewBuilder(a ...ANSI) *Builder { 13 return &Builder{concat(a)} 14} 15 16// With is a syntax for With. 17func (builder *Builder) With(a ...ANSI) *Builder { 18 return NewBuilder(builder.ANSI.With(a...)) 19} 20 21// Up is a syntax for Up. 22func (builder *Builder) Up(n uint) *Builder { 23 return builder.With(Up(n)) 24} 25 26// Down is a syntax for Down. 27func (builder *Builder) Down(n uint) *Builder { 28 return builder.With(Down(n)) 29} 30 31// Right is a syntax for Right. 32func (builder *Builder) Right(n uint) *Builder { 33 return builder.With(Right(n)) 34} 35 36// Left is a syntax for Left. 37func (builder *Builder) Left(n uint) *Builder { 38 return builder.With(Left(n)) 39} 40 41// NextLine is a syntax for NextLine. 42func (builder *Builder) NextLine(n uint) *Builder { 43 return builder.With(NextLine(n)) 44} 45 46// PreviousLine is a syntax for PreviousLine. 47func (builder *Builder) PreviousLine(n uint) *Builder { 48 return builder.With(PreviousLine(n)) 49} 50 51// Column is a syntax for Column. 52func (builder *Builder) Column(col uint) *Builder { 53 return builder.With(Column(col)) 54} 55 56// Position is a syntax for Position. 57func (builder *Builder) Position(row, col uint) *Builder { 58 return builder.With(Position(row, col)) 59} 60 61// EraseDisplay is a syntax for EraseDisplay. 62func (builder *Builder) EraseDisplay(m EraseMode) *Builder { 63 return builder.With(EraseDisplay(m)) 64} 65 66// EraseLine is a syntax for EraseLine. 67func (builder *Builder) EraseLine(m EraseMode) *Builder { 68 return builder.With(EraseLine(m)) 69} 70 71// ScrollUp is a syntax for ScrollUp. 72func (builder *Builder) ScrollUp(n int) *Builder { 73 return builder.With(ScrollUp(n)) 74} 75 76// ScrollDown is a syntax for ScrollDown. 77func (builder *Builder) ScrollDown(n int) *Builder { 78 return builder.With(ScrollDown(n)) 79} 80 81// Save is a syntax for Save. 82func (builder *Builder) Save() *Builder { 83 return builder.With(Save) 84} 85 86// Restore is a syntax for Restore. 87func (builder *Builder) Restore() *Builder { 88 return builder.With(Restore) 89} 90 91// Hide is a syntax for Hide. 92func (builder *Builder) Hide() *Builder { 93 return builder.With(Hide) 94} 95 96// Show is a syntax for Show. 97func (builder *Builder) Show() *Builder { 98 return builder.With(Show) 99} 100 101// Report is a syntax for Report. 102func (builder *Builder) Report() *Builder { 103 return builder.With(Report) 104} 105 106// Bold is a syntax for Bold. 107func (builder *Builder) Bold() *Builder { 108 return builder.With(Bold) 109} 110 111// Faint is a syntax for Faint. 112func (builder *Builder) Faint() *Builder { 113 return builder.With(Faint) 114} 115 116// Italic is a syntax for Italic. 117func (builder *Builder) Italic() *Builder { 118 return builder.With(Italic) 119} 120 121// Underline is a syntax for Underline. 122func (builder *Builder) Underline() *Builder { 123 return builder.With(Underline) 124} 125 126// BlinkSlow is a syntax for BlinkSlow. 127func (builder *Builder) BlinkSlow() *Builder { 128 return builder.With(BlinkSlow) 129} 130 131// BlinkRapid is a syntax for BlinkRapid. 132func (builder *Builder) BlinkRapid() *Builder { 133 return builder.With(BlinkRapid) 134} 135 136// Inverse is a syntax for Inverse. 137func (builder *Builder) Inverse() *Builder { 138 return builder.With(Inverse) 139} 140 141// Conceal is a syntax for Conceal. 142func (builder *Builder) Conceal() *Builder { 143 return builder.With(Conceal) 144} 145 146// CrossOut is a syntax for CrossOut. 147func (builder *Builder) CrossOut() *Builder { 148 return builder.With(CrossOut) 149} 150 151// BlackF is a syntax for BlackF. 152func (builder *Builder) BlackF() *Builder { 153 return builder.With(BlackF) 154} 155 156// RedF is a syntax for RedF. 157func (builder *Builder) RedF() *Builder { 158 return builder.With(RedF) 159} 160 161// GreenF is a syntax for GreenF. 162func (builder *Builder) GreenF() *Builder { 163 return builder.With(GreenF) 164} 165 166// YellowF is a syntax for YellowF. 167func (builder *Builder) YellowF() *Builder { 168 return builder.With(YellowF) 169} 170 171// BlueF is a syntax for BlueF. 172func (builder *Builder) BlueF() *Builder { 173 return builder.With(BlueF) 174} 175 176// MagentaF is a syntax for MagentaF. 177func (builder *Builder) MagentaF() *Builder { 178 return builder.With(MagentaF) 179} 180 181// CyanF is a syntax for CyanF. 182func (builder *Builder) CyanF() *Builder { 183 return builder.With(CyanF) 184} 185 186// WhiteF is a syntax for WhiteF. 187func (builder *Builder) WhiteF() *Builder { 188 return builder.With(WhiteF) 189} 190 191// DefaultF is a syntax for DefaultF. 192func (builder *Builder) DefaultF() *Builder { 193 return builder.With(DefaultF) 194} 195 196// BlackB is a syntax for BlackB. 197func (builder *Builder) BlackB() *Builder { 198 return builder.With(BlackB) 199} 200 201// RedB is a syntax for RedB. 202func (builder *Builder) RedB() *Builder { 203 return builder.With(RedB) 204} 205 206// GreenB is a syntax for GreenB. 207func (builder *Builder) GreenB() *Builder { 208 return builder.With(GreenB) 209} 210 211// YellowB is a syntax for YellowB. 212func (builder *Builder) YellowB() *Builder { 213 return builder.With(YellowB) 214} 215 216// BlueB is a syntax for BlueB. 217func (builder *Builder) BlueB() *Builder { 218 return builder.With(BlueB) 219} 220 221// MagentaB is a syntax for MagentaB. 222func (builder *Builder) MagentaB() *Builder { 223 return builder.With(MagentaB) 224} 225 226// CyanB is a syntax for CyanB. 227func (builder *Builder) CyanB() *Builder { 228 return builder.With(CyanB) 229} 230 231// WhiteB is a syntax for WhiteB. 232func (builder *Builder) WhiteB() *Builder { 233 return builder.With(WhiteB) 234} 235 236// DefaultB is a syntax for DefaultB. 237func (builder *Builder) DefaultB() *Builder { 238 return builder.With(DefaultB) 239} 240 241// Frame is a syntax for Frame. 242func (builder *Builder) Frame() *Builder { 243 return builder.With(Frame) 244} 245 246// Encircle is a syntax for Encircle. 247func (builder *Builder) Encircle() *Builder { 248 return builder.With(Encircle) 249} 250 251// Overline is a syntax for Overline. 252func (builder *Builder) Overline() *Builder { 253 return builder.With(Overline) 254} 255 256// LightBlackF is a syntax for LightBlueF. 257func (builder *Builder) LightBlackF() *Builder { 258 return builder.With(LightBlackF) 259} 260 261// LightRedF is a syntax for LightRedF. 262func (builder *Builder) LightRedF() *Builder { 263 return builder.With(LightRedF) 264} 265 266// LightGreenF is a syntax for LightGreenF. 267func (builder *Builder) LightGreenF() *Builder { 268 return builder.With(LightGreenF) 269} 270 271// LightYellowF is a syntax for LightYellowF. 272func (builder *Builder) LightYellowF() *Builder { 273 return builder.With(LightYellowF) 274} 275 276// LightBlueF is a syntax for LightBlueF. 277func (builder *Builder) LightBlueF() *Builder { 278 return builder.With(LightBlueF) 279} 280 281// LightMagentaF is a syntax for LightMagentaF. 282func (builder *Builder) LightMagentaF() *Builder { 283 return builder.With(LightMagentaF) 284} 285 286// LightCyanF is a syntax for LightCyanF. 287func (builder *Builder) LightCyanF() *Builder { 288 return builder.With(LightCyanF) 289} 290 291// LightWhiteF is a syntax for LightWhiteF. 292func (builder *Builder) LightWhiteF() *Builder { 293 return builder.With(LightWhiteF) 294} 295 296// LightBlackB is a syntax for LightBlackB. 297func (builder *Builder) LightBlackB() *Builder { 298 return builder.With(LightBlackB) 299} 300 301// LightRedB is a syntax for LightRedB. 302func (builder *Builder) LightRedB() *Builder { 303 return builder.With(LightRedB) 304} 305 306// LightGreenB is a syntax for LightGreenB. 307func (builder *Builder) LightGreenB() *Builder { 308 return builder.With(LightGreenB) 309} 310 311// LightYellowB is a syntax for LightYellowB. 312func (builder *Builder) LightYellowB() *Builder { 313 return builder.With(LightYellowB) 314} 315 316// LightBlueB is a syntax for LightBlueB. 317func (builder *Builder) LightBlueB() *Builder { 318 return builder.With(LightBlueB) 319} 320 321// LightMagentaB is a syntax for LightMagentaB. 322func (builder *Builder) LightMagentaB() *Builder { 323 return builder.With(LightMagentaB) 324} 325 326// LightCyanB is a syntax for LightCyanB. 327func (builder *Builder) LightCyanB() *Builder { 328 return builder.With(LightCyanB) 329} 330 331// LightWhiteB is a syntax for LightWhiteB. 332func (builder *Builder) LightWhiteB() *Builder { 333 return builder.With(LightWhiteB) 334} 335 336// Color3BitF is a syntax for Color3BitF. 337func (builder *Builder) Color3BitF(c RGB3Bit) *Builder { 338 return builder.With(Color3BitF(c)) 339} 340 341// Color3BitB is a syntax for Color3BitB. 342func (builder *Builder) Color3BitB(c RGB3Bit) *Builder { 343 return builder.With(Color3BitB(c)) 344} 345 346// Color8BitF is a syntax for Color8BitF. 347func (builder *Builder) Color8BitF(c RGB8Bit) *Builder { 348 return builder.With(Color8BitF(c)) 349} 350 351// Color8BitB is a syntax for Color8BitB. 352func (builder *Builder) Color8BitB(c RGB8Bit) *Builder { 353 return builder.With(Color8BitB(c)) 354} 355 356// FullColorF is a syntax for FullColorF. 357func (builder *Builder) FullColorF(r, g, b uint8) *Builder { 358 return builder.With(FullColorF(r, g, b)) 359} 360 361// FullColorB is a syntax for FullColorB. 362func (builder *Builder) FullColorB(r, g, b uint8) *Builder { 363 return builder.With(FullColorB(r, g, b)) 364} 365 366// RGB3BitF is a syntax for Color3BitF with NewRGB3Bit. 367func (builder *Builder) RGB3BitF(r, g, b uint8) *Builder { 368 return builder.Color3BitF(NewRGB3Bit(r, g, b)) 369} 370 371// RGB3BitB is a syntax for Color3BitB with NewRGB3Bit. 372func (builder *Builder) RGB3BitB(r, g, b uint8) *Builder { 373 return builder.Color3BitB(NewRGB3Bit(r, g, b)) 374} 375 376// RGB8BitF is a syntax for Color8BitF with NewRGB8Bit. 377func (builder *Builder) RGB8BitF(r, g, b uint8) *Builder { 378 return builder.Color8BitF(NewRGB8Bit(r, g, b)) 379} 380 381// RGB8BitB is a syntax for Color8BitB with NewRGB8Bit. 382func (builder *Builder) RGB8BitB(r, g, b uint8) *Builder { 383 return builder.Color8BitB(NewRGB8Bit(r, g, b)) 384} 385 386func init() { 387 EmptyBuilder = &Builder{empty} 388} 389