@opentf/cli-styles
Version:
Style your CLI text using ANSI escape sequences.
2 lines • 5.22 kB
JavaScript
import{isStr as I,shallowMerge as M}from"@opentf/std";import{isEmpty as T}from"@opentf/std";var j="\x1B[",E="m",D="\x1B[0m",a="38;2;",g="48;2;",v="58:2:0:",u={r:"255;65;54",g:"46;204;64",b:"0;116;217",o:"255;133;27",y:"255;220;0",w:"255;255;255",bl:"17;17;17",gr:"170;170;170",m:"255;105;193",c:"154;236;254",n:"0;31;63",a:"127;219;255",t:"57;204;204",p:"177;13;201",f:"240;18;190",ma:"133;20;75",ol:"61;153;112",li:"1;255;112",s:"221;221;221",pi:"255;191;203"},i={dfg:"39",dbg:"49",res:"0",nor:"22",blk:"5",nob:"25",hid:"8",vis:"28",ovl:"53",noo:"55",bol:"1",dim:"2",ita:"3",inv:"7",noi:"27",str:"9",nos:"29",und:"4",dbu:"21",nou:"24",cru:"4:3",dou:"4:4",dau:"4:5",ruc:"59"};import{hexToRGB as _}from"@opentf/std";var O=Object.keys(u);function h(s){return s.split(";").map(r=>parseInt(r)*(1/2)).map(r=>Math.floor(r)).join(";")}function S(s){let r=s.split("."),e=new Map;for(let o=0;o<r.length;o++){let t=r[o];if(t==="dfg"&&(e.delete("color"),e.set("dfg",{value:i[t],code:""})),O.includes(t)){e.delete("dfg");let n;if(e.has("color")&&e.get("color").dim){n=h(u[t]),e.set("color",{value:n,code:a,dim:!0,color:u[t]});continue}else if(e.has("dim")){n=h(u[t]),e.delete("dim"),e.set("color",{value:n,code:a,dim:!0,color:u[t]});continue}else n=u[t];e.set("color",{value:n,code:a,color:n});continue}if(t==="dim"){if(e.has("color")){let n=e.get("color");e.set("color",{...n,value:h(n.value),dim:!0})}else e.set("dim",{value:i[t],code:""});continue}if(t.startsWith("rgb")){let n=t.slice(4,-1).split(",").map(c=>c.trim()).join(";");if(!n)continue;e.delete("fg"),e.set("color",{value:n,code:a});continue}if(t.startsWith("hex")){e.delete("fg");let n=_(t.slice(4,-1)).join(";");e.set("color",{value:n,code:a});continue}if(t.startsWith("bghex")){e.delete("bg");let n=_(t.slice(6,-1)).join(";");e.set("bgcolor",{value:n,code:g});continue}if(t.startsWith("bgrgb")){let n=t.slice(6,-1).split(",").map(c=>c.trim()).join(";");if(!n)continue;e.delete("fg"),e.set("bgcolor",{value:n,code:g});continue}if(t.startsWith("bg")&&O.includes(t.slice(2))){e.delete("bg"),e.set("bgcolor",{value:u[t.slice(2)],code:g});continue}if(t==="dbg"&&(e.delete("bgcolor"),e.set("dbg",{value:i[t],code:""})),t==="bol"){e.delete("nor"),e.set("bold",{value:i[t],code:""});continue}if(t==="res"){e.clear(),e.set("reset",{value:i[t],code:""});continue}if(t==="dfg"){e.delete("color"),e.set("dfg",{value:i[t],code:""});continue}if(t==="nor"){if(e.delete("bold"),e.has("color")&&e.get("color").dim){let n=e.get("color");e.set("color",{...n,value:n.color})}e.set("nor",{value:i[t],code:""});continue}if(t==="hid"){e.delete("vis"),e.set("hid",{value:i[t],code:""});continue}if(t==="vis"){e.delete("hid"),e.set("vis",{value:i[t],code:""});continue}if(t==="inv"){e.delete("noi"),e.set("inv",{value:i[t],code:""});continue}if(t==="noi"){e.delete("inv"),e.set("noi",{value:i[t],code:""});continue}if(t==="blk"){e.delete("nob"),e.set("blk",{value:i[t],code:""});continue}if(t==="nob"){e.delete("blk"),e.set("nob",{value:i[t],code:""});continue}if(t==="ovl"){e.delete("noo"),e.set("ovl",{value:i[t],code:""});continue}if(t==="noo"){e.delete("ovl"),e.set("noo",{value:i[t],code:""});continue}if(t==="str"){e.delete("nos"),e.set("str",{value:i[t],code:""});continue}if(t==="nos"){e.delete("str"),e.set("nos",{value:i[t],code:""});continue}if(t==="ita"){e.set("ita",{value:i[t],code:""});continue}if(t.startsWith("urgb")){let n=t.slice(5,-1).split(",").map(c=>c.trim()).join(":");e.set("uColor",{value:n,code:v});continue}if(["und","dbu","cru","dou","dau"].includes(t)){e.delete("nou"),e.set("und",{value:i[t],code:""});continue}if(t==="nou"){e.delete("und"),e.set("nou",{value:i[t],code:""});continue}if(t==="ruc"){e.delete("uColor"),e.set("ruc",{value:i[t],code:""});continue}t.startsWith("u")&&O.includes(t.slice(1))&&e.set("uColor",{value:u[t.slice(1)]?.replaceAll(";",":"),code:v})}return e}function y(s,r){if(!r)return s;let e="",o=S(r);if(T(o))return s;for(let t of o.values())e+=j+t.code+t.value+E;return e+s+D}import{release as L}from"os";function x(){let{env:s,argv:r}=process;return Object.hasOwn(s,"FORCE_COLOR")?parseInt(s.FORCE_COLOR)===3:r.includes("--no-color")||r.includes("--color=false")||s.NO_COLOR?!1:s.COLORTERM==="truecolor"||process.platform==="win32"&&+L().split(".")[2]>14931}function C(s,r,e=""){let o=[],t="",n="",c=!1,l=r+1,b=r,f=()=>e.length>0?e+"."+n:n;for(;l<s.length;l++){let d=s[l];if(c){if(d==="\\"){t+=s[l+1],l++;continue}if(d==="}")return o.push(t),c=!1,[{text:o,styles:f()},l];if(d==="$"){o.push({text:[t],styles:f()});let[m,p]=C(s,l,f());o.push(m),l=p,t="";continue}t+=d;continue}if(d==="{"){c=!0;continue}if(d==="$"){o.push(s.substring(b,l)),n="";let[m,p]=C(s,l,e);o.push(m),l=p,t="",b=p+1;continue}n+=d}return!c&&o.length===0?[s.substring(b,l),l]:(o.push(n),[{text:o,styles:f()},l])}function R(s){let r=[],e="";for(let o=0;o<s.length;o++){let t=s[o];if(t==="$"){let[n,c]=C(s,o);r.push(e),r.push(n),o=c,e="";continue}e+=t}return r.push(e),r}function A(s,r){let e="";return s.text.forEach(o=>{I(o)?e+=r?y(o,s.styles):o:e+=A(o,r)}),e}function W(s,r){return s.reduce((e,o)=>e+=I(o)?o:A(o,r),"")}function N(s,r){let e=M({color:!0},r);e.color&&(e.color=x());let o=R(s);return W(o,e.color)}export{N as style};
//# sourceMappingURL=index.js.map