hwylterm/bbansi

Source   Edit  

bbansi

use BB style markup to add color to strings using VT100 escape codes

Types

BbMode = enum
  On, NoColor, Off, Markup
Source   Edit  
BbSpan = object
  styles*: seq[string]
  slice*: array[2, int]
Source   Edit  
BbString = object
  plain*: string
  spans*: seq[BbSpan]
Source   Edit  

Vars

hwylConsole = newConsole(stdout)
Source   Edit  

Procs

proc `$`(s: BbString): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `&`(x: BbString; y: BbString): BbString {....raises: [], tags: [], forbids: [].}
Source   Edit  
func `&`(x: BbString; y: string): BbString {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc `&`(x: string; y: BbString): BbString {....raises: [], tags: [], forbids: [].}
Source   Edit  
func add(x: var BbString; y: BbString) {....raises: [], tags: [], forbids: [].}
Source   Edit  
func add(x: var BbString; y: string) {....raises: [], tags: [], forbids: [].}
Source   Edit  
func align(s: BbString; count: Natural; padding = ' '): BbString {....raises: [],
    tags: [], forbids: [].}
Source   Edit  
func alignLeft(s: BbString; count: Natural; padding = ' '): BbString {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc bb(s: BbString): BbString {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc bb(s: string): BbString {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc bb(s: string; style: Color256): BbString {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc bb(s: string; style: string): BbString {....raises: [], tags: [], forbids: [].}
Source   Edit  
func bbEscape(s: string): string {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
func bbMarkup(s: string; style: string): string {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc hecho(args: varargs[string, `$`]) {....raises: [IOError], raises: [],
    tags: [WriteIOEffect], forbids: [].}
hwylterm builtin echo Source   Edit  
func len(bbs: BbString): int {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc newConsole(file: File = stdout): Console {....raises: [],
    tags: [ReadEnvEffect], forbids: [].}
Source   Edit  
proc setHwylConsole(c: Console) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc setHwylConsoleFile(file: File) {....raises: [], tags: [ReadEnvEffect],
                                      forbids: [].}
Source   Edit  
func stripAnsi(s: string): string {....raises: [], tags: [], forbids: [].}
remove all ansi escape codes from a string Source   Edit  
proc toAnsiCode(c: Console; s: string): string {.inline, ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func toAnsiCode(mode: BbMode; s: string): string {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc toAnsiCode(s: string): string {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
func toString(c: Console; s: BbString): string {.inline, ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func truncate(s: BbString; len: Natural): BbString {....raises: [], tags: [],
    forbids: [].}
Source   Edit  

Templates

template bbfmt(pattern: static string): BbString {..}
Source   Edit  
template echo(c: Console; args: varargs[untyped]) {..}
Source   Edit