textstyler
Introduction
Apply text styling to substrings (represented by character index ranges)
I mostly built this library to handle text match results returned by the GitHub Search API
so that I can format the matching fragment like
Install
npm install textstyler --save
API
Text Style Options
Pretty much a 1-to-1 mapping with the colors
package
TextColors:
- BLACK
- RED
- GREEN
- YELLOW
- BLUE
- MAGENTA
- CYAN
- WHITE
- GRAY
- GREY
BackgroundColors:
- BLACK
- RED
- GREEN
- YELLOW
- BLUE
- MAGENTA
- CYAN
- WHITE
TextFormat:
- RESET
- BOLD
- DIM
- ITALIC
- UNDERLINE
- INVERSE
- HIDDEN
- STRIKETHROUGH
Style
TextStyler.style(text, styledSubstrings)
text
is a string to apply formatting tostyledSubstrings
are an array ofStyledRange
objects- A
StyledRange
takes- A
Range
- Takes a
start
and anend
parameter - These are numbers that represent the inclusive character indices to apply a particular
TextStyle
to
- Takes a
- A
TextStyle
- Takes a
color
,backgroundColor
, andformat
parameter color
represents the text colorbackgroundColor
represents the text background colorformat
represents some text format (like bold text)
- Takes a
- A
StyledRange
s are applied in order - text styles are merged based on the last text style
- A
Example
; const value = 'foobar';const range = 1 3;const anotherRange = 2 4; const style = TextColorCYAN BackgroundColorWHITE TextFormatITALIC;const anotherStyle = TextColorRED BackgroundColorBLUE TextFormatBOLD; const styledRange = range style;const anotherStyledRange = anotherRange anotherStyle; const styledText = TextStylerstylevalue styledRange anotherStyledRange ;
The above example should output