/* * Copyright (c) 2022 R3BL LLC. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import { FigureSet } from "./types" export const common = { square: "█", squareDarkShade: "▓", squareMediumShade: "▒", squareLightShade: "░", squareTop: "▀", squareBottom: "▄", squareLeft: "▌", squareRight: "▐", squareCenter: "■", bullet: "●", dot: "․", ellipsis: "…", pointerSmall: "›", triangleUp: "▲", triangleUpSmall: "▴", triangleDown: "▼", triangleDownSmall: "▾", triangleLeftSmall: "◂", triangleRightSmall: "▸", home: "⌂", heart: "♥", musicNote: "♪", musicNoteBeamed: "♫", 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: "⅙", oneEighth: "⅛", 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: "╱", } const { platform } = process /** Symbols to use when the terminal supports Unicode symbols. */ export const mainSymbols: FigureSet = { ...common, // The main symbols for those do not look that good on Ubuntu. ...(platform === "linux" ? { circleQuestionMark: "?⃝", questionMarkPrefix: "?⃝", } : { circleQuestionMark: "?", questionMarkPrefix: "?", }), tick: "✔", info: "ℹ", warning: "⚠", cross: "✖", squareSmall: "◻", squareSmallFilled: "◼", circle: "◯", circleFilled: "◉", circleDotted: "◌", circleDouble: "◎", circleCircle: "ⓞ", circleCross: "ⓧ", circlePipe: "Ⓘ", radioOn: "◉", radioOff: "◯", checkboxOn: "☒", checkboxOff: "☐", checkboxCircleOn: "ⓧ", checkboxCircleOff: "Ⓘ", pointer: "❯", triangleUpOutline: "△", triangleLeft: "◀", triangleRight: "▶", lozenge: "◆", lozengeOutline: "◇", hamburger: "☰", smiley: "㋡", mustache: "෴", star: "★", play: "▶", nodejs: "⬢", oneSeventh: "⅐", oneNinth: "⅑", oneTenth: "⅒", } export const fallbackSymbols = { ...common, tick: "√", info: "i", warning: "‼", cross: "×", squareSmall: "□", squareSmallFilled: "■", circle: "( )", circleFilled: "(*)", circleDotted: "( )", circleDouble: "( )", circleCircle: "(○)", circleCross: "(×)", circlePipe: "(│)", circleQuestionMark: "(?)", radioOn: "(*)", radioOff: "( )", checkboxOn: "[×]", checkboxOff: "[ ]", checkboxCircleOn: "(×)", checkboxCircleOff: "( )", questionMarkPrefix: "?", pointer: ">", triangleUpOutline: "∆", triangleLeft: "◄", triangleRight: "►", lozenge: "♦", lozengeOutline: "◊", hamburger: "≡", smiley: "☺", mustache: "┌─┐", star: "✶", play: "►", nodejs: "♦", oneSeventh: "1/7", oneNinth: "1/9", oneTenth: "1/10", }