328 lines
18 KiB
Markdown
Executable file
328 lines
18 KiB
Markdown
Executable file
# figures
|
||
|
||
> Unicode symbols with fallbacks for older terminals
|
||
|
||
[![](screenshot.png)](index.js)
|
||
|
||
[*and more...*](index.js)
|
||
|
||
Terminals such as Windows Console Host (and CMD) only support a [limited character set](http://en.wikipedia.org/wiki/Code_page_437).
|
||
|
||
## Install
|
||
|
||
```sh
|
||
npm install figures
|
||
```
|
||
|
||
## Usage
|
||
|
||
```js
|
||
import figures, {replaceSymbols, mainSymbols, fallbackSymbols} from 'figures';
|
||
|
||
console.log(figures.tick);
|
||
// On terminals with Unicode symbols: ✔︎
|
||
// On other terminals: √
|
||
|
||
console.log(figures.mainSymbols.tick);
|
||
// On all terminals: ✔︎
|
||
|
||
console.log(figures.fallbackSymbols.tick);
|
||
// On all terminals: √
|
||
|
||
console.log(figures.replaceSymbols('✔︎ check'));
|
||
// On terminals with Unicode symbols: ✔︎ check
|
||
// On other terminals: √ check
|
||
```
|
||
|
||
## API
|
||
|
||
### figures (default export)
|
||
|
||
Type: `object`
|
||
|
||
Symbols to use on any terminal.
|
||
|
||
### mainSymbols
|
||
|
||
Symbols to use when the terminal supports Unicode symbols.
|
||
|
||
### fallbackSymbols
|
||
|
||
Symbols to use when the terminal does not support Unicode symbols.
|
||
|
||
### replaceSymbols(string)
|
||
|
||
Returns the input with replaced fallback Unicode symbols on older terminals.
|
||
|
||
All the below [figures](#figures) are attached to the default export as shown in the example above.
|
||
|
||
#### string
|
||
|
||
Type: `string`
|
||
|
||
String where the Unicode symbols will be replaced with fallback symbols depending on the terminal.
|
||
|
||
## Figures
|
||
|
||
`Fallback` characters are only shown when they differ from the `Main` ones.
|
||
|
||
| Name | Main | Fallback |
|
||
| ------------------------------------------- | :--: | :------: |
|
||
| tick | `✔` | `√` |
|
||
| info | `ℹ` | `i` |
|
||
| warning | `⚠` | `‼` |
|
||
| cross | `✘` | `×` |
|
||
| square | `█` | |
|
||
| squareSmall | `◻` | `□` |
|
||
| squareSmallFilled | `◼` | `■` |
|
||
| squareDarkShade | `▓` | |
|
||
| squareMediumShade | `▒` | |
|
||
| squareLightShade | `░` | |
|
||
| squareTop | `▀` | |
|
||
| squareBottom | `▄` | |
|
||
| squareLeft | `▌` | |
|
||
| squareRight | `▐` | |
|
||
| squareCenter | `■` | |
|
||
| circle | `◯` | `( )` |
|
||
| circleFilled | `◉` | `(*)` |
|
||
| circleDotted | `◌` | `( )` |
|
||
| circleDouble | `◎` | `( )` |
|
||
| circleCircle | `ⓞ` | `(○)` |
|
||
| circleCross | `ⓧ` | `(×)` |
|
||
| circlePipe | `Ⓘ` | `(│)` |
|
||
| circleQuestionMark | `?⃝ ` | `(?)` |
|
||
| radioOn | `◉` | `(*)` |
|
||
| radioOff | `◯` | `( )` |
|
||
| checkboxOn | `☒` | `[×]` |
|
||
| checkboxOff | `☐` | `[ ]` |
|
||
| checkboxCircleOn | `ⓧ` | `(×)` |
|
||
| checkboxCircleOff | `Ⓘ` | `( )` |
|
||
| questionMarkPrefix | `?⃝ ` | `?` |
|
||
| bullet | `●` | |
|
||
| dot | `․` | |
|
||
| ellipsis | `…` | |
|
||
| pointer | `❯` | `>` |
|
||
| pointerSmall | `›` | `›` |
|
||
| triangleUp | `▲` | |
|
||
| triangleUpSmall | `▴` | |
|
||
| triangleUpOutline | `△` | `∆` |
|
||
| triangleDown | `▼` | |
|
||
| triangleDownSmall | `▾` | |
|
||
| triangleLeft | `◀` | `◄` |
|
||
| triangleLeftSmall | `◂` | |
|
||
| triangleRight | `▶` | `►` |
|
||
| triangleRightSmall | `▸` | |
|
||
| lozenge | `◆` | `♦` |
|
||
| lozengeOutline | `◇` | `◊` |
|
||
| home | `⌂` | |
|
||
| hamburger | `☰` | `≡` |
|
||
| smiley | `㋡` | `☺` |
|
||
| mustache | `෴` | `┌─┐` |
|
||
| heart | `♥` | |
|
||
| star | `★` | `✶` |
|
||
| play | `▶` | `►` |
|
||
| musicNote | `♪` | |
|
||
| musicNoteBeamed | `♫` | |
|
||
| nodejs | `⬢` | `♦` |
|
||
| arrowUp | `↑` | |
|
||
| arrowDown | `↓` | |
|
||
| arrowLeft | `←` | |
|
||
| arrowRight | `→` | |
|
||
| arrowLeftRight | `↔` | |
|
||
| arrowUpDown | `↕` | |
|
||
| almostEqual | `≈` | |
|
||
| notEqual | `≠` | |
|
||
| lessOrEqual | `≤` | |
|
||
| greaterOrEqual | `≥` | |
|
||
| identical | `≡` | |
|
||
| infinity | `∞` | |
|
||
| subscriptZero | `₀` | |
|
||
| subscriptOne | `₁` | |
|
||
| subscriptTwo | `₂` | |
|
||
| subscriptThree | `₃` | |
|
||
| subscriptFour | `₄` | |
|
||
| subscriptFive | `₅` | |
|
||
| subscriptSix | `₆` | |
|
||
| subscriptSeven | `₇` | |
|
||
| subscriptEight | `₈` | |
|
||
| subscriptNine | `₉` | |
|
||
| oneHalf | `½` | |
|
||
| oneThird | `⅓` | |
|
||
| oneQuarter | `¼` | |
|
||
| oneFifth | `⅕` | |
|
||
| oneSixth | `⅙` | |
|
||
| oneSeventh | `⅐` | `1/7` |
|
||
| oneEighth | `⅛` | |
|
||
| oneNinth | `⅑` | `1/9` |
|
||
| oneTenth | `⅒` | `1/10` |
|
||
| twoThirds | `⅔` | |
|
||
| twoFifths | `⅖` | |
|
||
| threeQuarters | `¾` | |
|
||
| threeFifths | `⅗` | |
|
||
| threeEighths | `⅜` | |
|
||
| fourFifths | `⅘` | |
|
||
| fiveSixths | `⅚` | |
|
||
| fiveEighths | `⅝` | |
|
||
| sevenEighths | `⅞` | |
|
||
| line | `─` | |
|
||
| lineBold | `━` | |
|
||
| lineDouble | `═` | |
|
||
| lineDashed0 | `┄` | |
|
||
| lineDashed1 | `┅` | |
|
||
| lineDashed2 | `┈` | |
|
||
| lineDashed3 | `┉` | |
|
||
| lineDashed4 | `╌` | |
|
||
| lineDashed5 | `╍` | |
|
||
| lineDashed6 | `╴` | |
|
||
| lineDashed7 | `╶` | |
|
||
| lineDashed8 | `╸` | |
|
||
| lineDashed9 | `╺` | |
|
||
| lineDashed10 | `╼` | |
|
||
| lineDashed11 | `╾` | |
|
||
| lineDashed12 | `−` | |
|
||
| lineDashed13 | `–` | |
|
||
| lineDashed14 | `‐` | |
|
||
| lineDashed15 | `⁃` | |
|
||
| lineVertical | `│` | |
|
||
| lineVerticalBold | `┃` | |
|
||
| lineVerticalDouble | `║` | |
|
||
| lineVerticalDashed0 | `┆` | |
|
||
| lineVerticalDashed1 | `┇` | |
|
||
| lineVerticalDashed2 | `┊` | |
|
||
| lineVerticalDashed3 | `┋` | |
|
||
| lineVerticalDashed4 | `╎` | |
|
||
| lineVerticalDashed5 | `╏` | |
|
||
| lineVerticalDashed6 | `╵` | |
|
||
| lineVerticalDashed7 | `╷` | |
|
||
| lineVerticalDashed8 | `╹` | |
|
||
| lineVerticalDashed9 | `╻` | |
|
||
| lineVerticalDashed10 | `╽` | |
|
||
| lineVerticalDashed11 | `╿` | |
|
||
| lineDownLeft | `┐` | |
|
||
| lineDownLeftArc | `╮` | |
|
||
| lineDownBoldLeftBold | `┓` | |
|
||
| lineDownBoldLeft | `┒` | |
|
||
| lineDownLeftBold | `┑` | |
|
||
| lineDownDoubleLeftDouble | `╗` | |
|
||
| lineDownDoubleLeft | `╖` | |
|
||
| lineDownLeftDouble | `╕` | |
|
||
| lineDownRight | `┌` | |
|
||
| lineDownRightArc | `╭` | |
|
||
| lineDownBoldRightBold | `┏` | |
|
||
| lineDownBoldRight | `┎` | |
|
||
| lineDownRightBold | `┍` | |
|
||
| lineDownDoubleRightDouble | `╔` | |
|
||
| lineDownDoubleRight | `╓` | |
|
||
| lineDownRightDouble | `╒` | |
|
||
| lineUpLeft | `┘` | |
|
||
| lineUpLeftArc | `╯` | |
|
||
| lineUpBoldLeftBold | `┛` | |
|
||
| lineUpBoldLeft | `┚` | |
|
||
| lineUpLeftBold | `┙` | |
|
||
| lineUpDoubleLeftDouble | `╝` | |
|
||
| lineUpDoubleLeft | `╜` | |
|
||
| lineUpLeftDouble | `╛` | |
|
||
| lineUpRight | `└` | |
|
||
| lineUpRightArc | `╰` | |
|
||
| lineUpBoldRightBold | `┗` | |
|
||
| lineUpBoldRight | `┖` | |
|
||
| lineUpRightBold | `┕` | |
|
||
| lineUpDoubleRightDouble | `╚` | |
|
||
| lineUpDoubleRight | `╙` | |
|
||
| lineUpRightDouble | `╘` | |
|
||
| lineUpDownLeft | `┤` | |
|
||
| lineUpBoldDownBoldLeftBold | `┫` | |
|
||
| lineUpBoldDownBoldLeft | `┨` | |
|
||
| lineUpDownLeftBold | `┥` | |
|
||
| lineUpBoldDownLeftBold | `┩` | |
|
||
| lineUpDownBoldLeftBold | `┪` | |
|
||
| lineUpDownBoldLeft | `┧` | |
|
||
| lineUpBoldDownLeft | `┦` | |
|
||
| lineUpDoubleDownDoubleLeftDouble | `╣` | |
|
||
| lineUpDoubleDownDoubleLeft | `╢` | |
|
||
| lineUpDownLeftDouble | `╡` | |
|
||
| lineUpDownRight | `├` | |
|
||
| lineUpBoldDownBoldRightBold | `┣` | |
|
||
| lineUpBoldDownBoldRight | `┠` | |
|
||
| lineUpDownRightBold | `┝` | |
|
||
| lineUpBoldDownRightBold | `┡` | |
|
||
| lineUpDownBoldRightBold | `┢` | |
|
||
| lineUpDownBoldRight | `┟` | |
|
||
| lineUpBoldDownRight | `┞` | |
|
||
| lineUpDoubleDownDoubleRightDouble | `╠` | |
|
||
| lineUpDoubleDownDoubleRight | `╟` | |
|
||
| lineUpDownRightDouble | `╞` | |
|
||
| lineDownLeftRight | `┬` | |
|
||
| lineDownBoldLeftBoldRightBold | `┳` | |
|
||
| lineDownLeftBoldRightBold | `┯` | |
|
||
| lineDownBoldLeftRight | `┰` | |
|
||
| lineDownBoldLeftBoldRight | `┱` | |
|
||
| lineDownBoldLeftRightBold | `┲` | |
|
||
| lineDownLeftRightBold | `┮` | |
|
||
| lineDownLeftBoldRight | `┭` | |
|
||
| lineDownDoubleLeftDoubleRightDouble | `╦` | |
|
||
| lineDownDoubleLeftRight | `╥` | |
|
||
| lineDownLeftDoubleRightDouble | `╤` | |
|
||
| lineUpLeftRight | `┴` | |
|
||
| lineUpBoldLeftBoldRightBold | `┻` | |
|
||
| lineUpLeftBoldRightBold | `┷` | |
|
||
| lineUpBoldLeftRight | `┸` | |
|
||
| lineUpBoldLeftBoldRight | `┹` | |
|
||
| lineUpBoldLeftRightBold | `┺` | |
|
||
| lineUpLeftRightBold | `┶` | |
|
||
| lineUpLeftBoldRight | `┵` | |
|
||
| lineUpDoubleLeftDoubleRightDouble | `╩` | |
|
||
| lineUpDoubleLeftRight | `╨` | |
|
||
| lineUpLeftDoubleRightDouble | `╧` | |
|
||
| lineUpDownLeftRight | `┼` | |
|
||
| lineUpBoldDownBoldLeftBoldRightBold | `╋` | |
|
||
| lineUpDownBoldLeftBoldRightBold | `╈` | |
|
||
| lineUpBoldDownLeftBoldRightBold | `╇` | |
|
||
| lineUpBoldDownBoldLeftRightBold | `╊` | |
|
||
| lineUpBoldDownBoldLeftBoldRight | `╉` | |
|
||
| lineUpBoldDownLeftRight | `╀` | |
|
||
| lineUpDownBoldLeftRight | `╁` | |
|
||
| lineUpDownLeftBoldRight | `┽` | |
|
||
| lineUpDownLeftRightBold | `┾` | |
|
||
| lineUpBoldDownBoldLeftRight | `╂` | |
|
||
| lineUpDownLeftBoldRightBold | `┿` | |
|
||
| lineUpBoldDownLeftBoldRight | `╃` | |
|
||
| lineUpBoldDownLeftRightBold | `╄` | |
|
||
| lineUpDownBoldLeftBoldRight | `╅` | |
|
||
| lineUpDownBoldLeftRightBold | `╆` | |
|
||
| lineUpDoubleDownDoubleLeftDoubleRightDouble | `╬` | |
|
||
| lineUpDoubleDownDoubleLeftRight | `╫` | |
|
||
| lineUpDownLeftDoubleRightDouble | `╪` | |
|
||
| lineCross | `╳` | |
|
||
| lineBackslash | `╲` | |
|
||
| lineSlash | `╱` | |
|
||
|
||
## Other characters
|
||
|
||
If you cannot find the character you're looking for in the table above, please look at this full list of [cross-platform terminal characters](https://github.com/ehmicky/cross-platform-terminal-characters).
|
||
|
||
## Unsupported terminals
|
||
|
||
The following terminals are not officially supported:
|
||
|
||
- xterm
|
||
- Linux Terminal (kernel)
|
||
- cmder
|
||
|
||
They can display most but not all of the symbols listed above.
|
||
|
||
## Related
|
||
|
||
- [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels
|
||
|
||
---
|
||
|
||
<div align="center">
|
||
<b>
|
||
<a href="https://tidelift.com/subscription/pkg/npm-figures?utm_source=npm-figures&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
|
||
</b>
|
||
<br>
|
||
<sub>
|
||
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
|
||
</sub>
|
||
</div>
|