@clerc/plugin-help 0.29.0 → 0.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,31 @@
1
1
  import * as _clerc_core from '@clerc/core';
2
2
  import { Clerc } from '@clerc/core';
3
3
 
4
+ interface BlockSection {
5
+ type?: "block";
6
+ title: string;
7
+ body: string[];
8
+ }
9
+ interface InlineSection {
10
+ type: "inline";
11
+ items: {
12
+ title: string;
13
+ body: string;
14
+ }[];
15
+ }
16
+ type Section = BlockSection | InlineSection;
17
+ interface Renderers {
18
+ renderSections?: (sections: Section[]) => Section[];
19
+ renderFlagName?: (name: string) => string;
20
+ renderType?: (type: any, hasDefault: boolean) => string;
21
+ renderDefault?: (default_: any) => string;
22
+ }
23
+
24
+ declare module "@clerc/core" {
25
+ interface CommandCustomProperties {
26
+ help?: Renderers;
27
+ }
28
+ }
4
29
  interface HelpPluginOptions {
5
30
  /**
6
31
  * Whether to registr the help command.
@@ -24,11 +49,7 @@ interface HelpPluginOptions {
24
49
  * Banner
25
50
  */
26
51
  banner?: string;
27
- /**
28
- * Render type
29
- */
30
- renderer?: "cliffy";
31
52
  }
32
- declare const helpPlugin: ({ command, showHelpWhenNoCommand, notes, examples, banner, renderer, }?: HelpPluginOptions) => _clerc_core.Plugin<Clerc<{}>, Clerc<{}>>;
53
+ declare const helpPlugin: ({ command, showHelpWhenNoCommand, notes, examples, banner, }?: HelpPluginOptions) => _clerc_core.Plugin<Clerc<{}>, Clerc<{}>>;
33
54
 
34
55
  export { HelpPluginOptions, helpPlugin };
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import{definePlugin as M,Root as d,withBrackets as k,resolveCommandStrict as T,NoSuchCommandError as z,formatCommandName as y}from"@clerc/core";import G from"tty";const H=e=>Array.isArray(e)?e:[e],W=e=>e.replace(/([A-Z])/g,(t,n)=>`-${n.toLowerCase()}`),w=e=>e.length<=1?`-${e}`:`--${W(e)}`;var c={exports:{}};let P=G,q=!("NO_COLOR"in process.env||process.argv.includes("--no-color"))&&("FORCE_COLOR"in process.env||process.argv.includes("--color")||process.platform==="win32"||P.isatty(1)&&process.env.TERM!=="dumb"||"CI"in process.env),p=(e,t,n=e)=>o=>{let s=""+o,a=s.indexOf(t,e.length);return~a?e+_(s,t,n,a)+t:e+s+t},_=(e,t,n,o)=>{let s=e.substring(0,o)+n,a=e.substring(o+t.length),i=a.indexOf(t);return~i?s+_(a,t,n,i):s+a},D=(e=q)=>({isColorSupported:e,reset:e?t=>`\x1B[0m${t}\x1B[0m`:String,bold:e?p("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"):String,dim:e?p("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"):String,italic:e?p("\x1B[3m","\x1B[23m"):String,underline:e?p("\x1B[4m","\x1B[24m"):String,inverse:e?p("\x1B[7m","\x1B[27m"):String,hidden:e?p("\x1B[8m","\x1B[28m"):String,strikethrough:e?p("\x1B[9m","\x1B[29m"):String,black:e?p("\x1B[30m","\x1B[39m"):String,red:e?p("\x1B[31m","\x1B[39m"):String,green:e?p("\x1B[32m","\x1B[39m"):String,yellow:e?p("\x1B[33m","\x1B[39m"):String,blue:e?p("\x1B[34m","\x1B[39m"):String,magenta:e?p("\x1B[35m","\x1B[39m"):String,cyan:e?p("\x1B[36m","\x1B[39m"):String,white:e?p("\x1B[37m","\x1B[39m"):String,gray:e?p("\x1B[90m","\x1B[39m"):String,bgBlack:e?p("\x1B[40m","\x1B[49m"):String,bgRed:e?p("\x1B[41m","\x1B[49m"):String,bgGreen:e?p("\x1B[42m","\x1B[49m"):String,bgYellow:e?p("\x1B[43m","\x1B[49m"):String,bgBlue:e?p("\x1B[44m","\x1B[49m"):String,bgMagenta:e?p("\x1B[45m","\x1B[49m"):String,bgCyan:e?p("\x1B[46m","\x1B[49m"):String,bgWhite:e?p("\x1B[47m","\x1B[49m"):String});c.exports=D(),c.exports.createColors=D;var U=Function.prototype.toString,V=/\s*function(?:\s|\s*\/\*[^(?:*\/)]+\*\/\s*)*([^\s\(\/]+)/;function Y(e){if(typeof e!="function")return null;var t="";if(typeof Function.prototype.name=="undefined"&&typeof e.name=="undefined"){var n=U.call(e).match(V);n&&(t=n[1])}else t=e.name;return t}var j=Y,Z=function(e,t){t||(t={});var n=t.hsep===void 0?" ":t.hsep,o=t.align||[],s=t.stringLength||function(u){return String(u).length},a=N(e,function(u,m){return O(m,function(l,r){var h=B(l);(!u[r]||h>u[r])&&(u[r]=h)}),u},[]),i=x(e,function(u){return x(u,function(m,l){var r=String(m);if(o[l]==="."){var h=B(r),f=a[l]+(/\./.test(r)?1:2)-(s(r)-h);return r+Array(f).join(" ")}else return r})}),g=N(i,function(u,m){return O(m,function(l,r){var h=s(l);(!u[r]||h>u[r])&&(u[r]=h)}),u},[]);return x(i,function(u){return x(u,function(m,l){var r=g[l]-s(m)||0,h=Array(Math.max(r+1,1)).join(" ");return o[l]==="r"||o[l]==="."?h+m:o[l]==="c"?Array(Math.ceil(r/2+1)).join(" ")+m+Array(Math.floor(r/2+1)).join(" "):m+h}).join(n).replace(/\s+$/,"")}).join(`
2
- `)};function B(e){var t=/\.[^.]*$/.exec(e);return t?t.index+1:e.length}function N(e,t,n){if(e.reduce)return e.reduce(t,n);for(var o=0,s=arguments.length>=3?n:e[o++];o<e.length;o++)t(s,e[o],o);return s}function O(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n<e.length;n++)t.call(e,e[n],n)}function x(e,t){if(e.map)return e.map(t);for(var n=[],o=0;o<e.length;o++)n.push(t.call(e,e[o],o));return n}const C=(...e)=>Z(e),A=(...e)=>C(...e).toString().split(`
3
- `),J=e=>Array.isArray(e)?`Array<${j(e[0])}>`:j(e),K=e=>{const t=[];for(const n of e){if(n.type==="block"||!n.type){const o=" ",s=n.body.map(i=>o+i);s.unshift("");const a=s.join(`
4
- `);t.push(C([c.exports.bold(`${n.title}:`)],[a]).toString())}else if(n.type==="inline"){const o=n.items.map(a=>[c.exports.bold(`${a.title}:`),a.body]),s=C(...o);t.push(s.toString())}t.push("")}return t.join(`
5
- `)},Q={en:{"help.name":"Name","help.version":"Version","help.subcommand":"Subcommand","help.commands":"Commands","help.flags":"Flags","help.description":"Description","help.usage":"Usage","help.examples":"Examples","help.notes":"Notes","help.noDescription":"(No description)","help.notes.1":"If no command is specified, show help for the CLI.","help.notes.2":"If a command is specified, show help for the command.","help.notes.3":"-h is an alias for --help.","help.examples.1":"Show help","help.examples.2":"Show help for a specific command","help.commandDescription":"Show help"},"zh-CN":{"help.name":"\u540D\u79F0","help.version":"\u7248\u672C","help.subcommand":"\u5B50\u547D\u4EE4","help.commands":"\u547D\u4EE4","help.flags":"\u6807\u5FD7","help.description":"\u63CF\u8FF0","help.usage":"\u4F7F\u7528","help.examples":"\u793A\u4F8B","help.notes":"\u5907\u6CE8","help.noDescription":"(\u65E0\u63CF\u8FF0)","help.notes.1":"\u5982\u679C\u6CA1\u6709\u6307\u5B9A\u5C55\u793A\u54EA\u4E2A\u547D\u4EE4\u7684\u5E2E\u52A9\u4FE1\u606F\uFF0C\u9ED8\u8BA4\u5C55\u793ACLI\u7684\u3002","help.notes.2":"\u5982\u679C\u6307\u5B9A\u4E86\u5219\u5C55\u793A\u8BE5\u547D\u4EE4\u5E2E\u52A9\u4FE1\u606F\u3002","help.notes.3":"-h \u662F --help \u7684\u4E00\u4E2A\u522B\u540D\u3002","help.examples.1":"\u5C55\u793A CLI \u7684\u5E2E\u52A9\u4FE1\u606F","help.examples.2":"\u5C55\u793A\u6307\u5B9A\u547D\u4EE4\u7684\u5E2E\u52A9\u4FE1\u606F","help.commandDescription":"\u5C55\u793A\u5E2E\u52A9\u4FE1\u606F"}},$=c.exports.yellow("-"),R=e=>{process.stdout.write(e)},F=(e,t,n)=>{const{t:o}=t.i18n,s=[{title:o("help.name"),body:c.exports.red(t._name)},{title:o("help.version"),body:c.exports.yellow(t._version)}];n&&s.push({title:o("help.subcommand"),body:c.exports.green(`${t._name} ${y(n.name)}`)}),e.push({type:"inline",items:s}),e.push({title:o("help.description"),body:[(n==null?void 0:n.description)||t._description]})},I=(e,t,n)=>{const o=t.map(([s,a])=>[s,$,a]);e.push({title:n("help.examples"),body:A(...o)})},v=(e,t,n,o)=>{const{cli:s}=t,{t:a}=s.i18n,i=[];F(i,s),i.push({title:a("help.usage"),body:[c.exports.magenta(`$ ${s._name} ${k("command",t.hasRootOrAlias)} [flags]`)]});const g=[...t.hasRoot?[s._commands[d]]:[],...Object.values(s._commands)].map(u=>{const m=[typeof u.name=="symbol"?"":u.name,...H(u.alias||[])].sort((l,r)=>l===d?-1:r===d?1:l.length-r.length).map(l=>l===""||typeof l=="symbol"?`${s._name}`:`${s._name} ${l}`).join(", ");return[c.exports.cyan(m),$,u.description]});return i.push({title:a("help.commands"),body:A(...g)}),n&&i.push({title:a("help.notes"),body:n}),o&&I(i,o,a),e(i)},E=(e,t,n)=>{var o;const{cli:s}=t,{t:a}=s.i18n,[i]=T(s._commands,n,a);if(!i)throw new z(y(n),a);const g=[];n===d?F(g,s):F(g,s,{...i,name:y(n)});const u=((o=i.parameters)==null?void 0:o.join(" "))||void 0,m=n===d?"":` ${y(n)}`,l=u?` ${u}`:"",r=i.flags?" [flags]":"";return g.push({title:a("help.usage"),body:[c.exports.magenta(`$ ${s._name}${m}${l}${r}`)]}),i.flags&&g.push({title:a("help.flags"),body:A(...Object.entries(i.flags).map(([h,f])=>{const b=[w(h)];f.alias&&b.push(w(f.alias));const S=[c.exports.blue(b.join(", "))];if(S.push($,f.description||a("help.noDescription")),f.type){const L=J(f.type);S.push(c.exports.gray(`(${L})`))}return S}))}),i.notes&&g.push({title:a("help.notes"),body:i.notes}),i.examples&&I(g,i.examples,a),e(g)},X=({command:e=!0,showHelpWhenNoCommand:t=!0,notes:n,examples:o,banner:s,renderer:a="cliffy"}={})=>M({setup:i=>{const{add:g,t:u}=i.i18n;g(Q);const m=a==="cliffy"?K:()=>"",l=r=>{s&&R(`${s}
6
- `),R(r)};return e&&(i=i.command("help",u("help.commandDescription"),{parameters:["[command...]"],notes:[u("help.notes.1"),u("help.notes.2"),u("help.notes.3")],examples:[[`$ ${i._name} help`,u("help.examples.1")],[`$ ${i._name} help <command>`,u("help.examples.2")],[`$ ${i._name} <command> --help`,u("help.examples.2")]]}).on("help",r=>{r.parameters.command.length?l(E(m,r,r.parameters.command)):l(v(m,r,n,o))})),i.inspector((r,h)=>{const f=r.raw.mergedFlags.h||r.raw.mergedFlags.help;if(!r.hasRootOrAlias&&!r.raw._.length&&t&&!f){let b=`${u("core.noCommandGiven")}
1
+ import{definePlugin as M,Root as a,withBrackets as z,resolveCommandStrict as P,NoSuchCommandError as Z,formatCommandName as h}from"@clerc/core";import H from"tty";const G=u=>Array.isArray(u)?u:[u],q=u=>u.replace(/([A-Z])/g,(F,x)=>`-${x.toLowerCase()}`),_=u=>u.length<=1?`-${u}`:`--${q(u)}`;var i={exports:{}};let J=H,U=!("NO_COLOR"in process.env||process.argv.includes("--no-color"))&&("FORCE_COLOR"in process.env||process.argv.includes("--color")||process.platform==="win32"||J.isatty(1)&&process.env.TERM!=="dumb"||"CI"in process.env),o=(u,F,x=u)=>e=>{let C=""+e,E=C.indexOf(F,u.length);return~E?u+N(C,F,x,E)+F:u+C+F},N=(u,F,x,e)=>{let C=u.substring(0,e)+x,E=u.substring(e+F.length),D=E.indexOf(F);return~D?C+N(E,F,x,D):C+E},j=(u=U)=>({isColorSupported:u,reset:u?F=>`\x1B[0m${F}\x1B[0m`:String,bold:u?o("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"):String,dim:u?o("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"):String,italic:u?o("\x1B[3m","\x1B[23m"):String,underline:u?o("\x1B[4m","\x1B[24m"):String,inverse:u?o("\x1B[7m","\x1B[27m"):String,hidden:u?o("\x1B[8m","\x1B[28m"):String,strikethrough:u?o("\x1B[9m","\x1B[29m"):String,black:u?o("\x1B[30m","\x1B[39m"):String,red:u?o("\x1B[31m","\x1B[39m"):String,green:u?o("\x1B[32m","\x1B[39m"):String,yellow:u?o("\x1B[33m","\x1B[39m"):String,blue:u?o("\x1B[34m","\x1B[39m"):String,magenta:u?o("\x1B[35m","\x1B[39m"):String,cyan:u?o("\x1B[36m","\x1B[39m"):String,white:u?o("\x1B[37m","\x1B[39m"):String,gray:u?o("\x1B[90m","\x1B[39m"):String,bgBlack:u?o("\x1B[40m","\x1B[49m"):String,bgRed:u?o("\x1B[41m","\x1B[49m"):String,bgGreen:u?o("\x1B[42m","\x1B[49m"):String,bgYellow:u?o("\x1B[43m","\x1B[49m"):String,bgBlue:u?o("\x1B[44m","\x1B[49m"):String,bgMagenta:u?o("\x1B[45m","\x1B[49m"):String,bgCyan:u?o("\x1B[46m","\x1B[49m"):String,bgWhite:u?o("\x1B[47m","\x1B[49m"):String});i.exports=j(),i.exports.createColors=j;var V=function(u,F){F||(F={});var x=F.hsep===void 0?" ":F.hsep,e=F.align||[],C=F.stringLength||function(B){return String(B).length},E=O(u,function(B,t){return L(t,function(n,r){var s=R(n);(!B[r]||s>B[r])&&(B[r]=s)}),B},[]),D=c(u,function(B){return c(B,function(t,n){var r=String(t);if(e[n]==="."){var s=R(r),d=E[n]+(/\./.test(r)?1:2)-(C(r)-s);return r+Array(d).join(" ")}else return r})}),A=O(D,function(B,t){return L(t,function(n,r){var s=C(n);(!B[r]||s>B[r])&&(B[r]=s)}),B},[]);return c(D,function(B){return c(B,function(t,n){var r=A[n]-C(t)||0,s=Array(Math.max(r+1,1)).join(" ");return e[n]==="r"||e[n]==="."?s+t:e[n]==="c"?Array(Math.ceil(r/2+1)).join(" ")+t+Array(Math.floor(r/2+1)).join(" "):t+s}).join(x).replace(/\s+$/,"")}).join(`
2
+ `)};function R(u){var F=/\.[^.]*$/.exec(u);return F?F.index+1:u.length}function O(u,F,x){if(u.reduce)return u.reduce(F,x);for(var e=0,C=arguments.length>=3?x:u[e++];e<u.length;e++)F(C,u[e],e);return C}function L(u,F){if(u.forEach)return u.forEach(F);for(var x=0;x<u.length;x++)F.call(u,u[x],x)}function c(u,F){if(u.map)return u.map(F);for(var x=[],e=0;e<u.length;e++)x.push(F.call(u,u[e],e));return x}function Y({onlyFirst:u=!1}={}){const F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(F,u?void 0:"g")}function K(u){if(typeof u!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof u}\``);return u.replace(Y(),"")}var W={exports:{}};(function(u){var F={};u.exports=F,F.eastAsianWidth=function(e){var C=e.charCodeAt(0),E=e.length==2?e.charCodeAt(1):0,D=C;return 55296<=C&&C<=56319&&56320<=E&&E<=57343&&(C&=1023,E&=1023,D=C<<10|E,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?"F":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?"H":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?"W":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?"Na":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?"A":"N"},F.characterLength=function(e){var C=this.eastAsianWidth(e);return C=="F"||C=="W"||C=="A"?2:1};function x(e){return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}F.length=function(e){for(var C=x(e),E=0,D=0;D<C.length;D++)E=E+this.characterLength(C[D]);return E},F.slice=function(e,C,E){textLen=F.length(e),C=C||0,E=E||1,C<0&&(C=textLen+C),E<0&&(E=textLen+E);for(var D="",A=0,B=x(e),t=0;t<B.length;t++){var n=B[t],r=F.length(n);if(A>=C-(r==2?1:0))if(A+r<=E)D+=n;else break;A+=r}return D}})(W);var Q=W.exports,X=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};function DD(u,F={}){if(typeof u!="string"||u.length===0||(F={ambiguousIsNarrow:!0,...F},u=K(u),u.length===0))return 0;u=u.replace(X()," ");const x=F.ambiguousIsNarrow?1:2;let e=0;for(const C of u){const E=C.codePointAt(0);if(E<=31||E>=127&&E<=159||E>=768&&E<=879)continue;switch(Q.eastAsianWidth(C)){case"F":case"W":e+=2;break;case"A":e+=x;break;default:e+=1}}return e}const v=u=>V(u,{stringLength:DD}),y=u=>v(u).split(`
3
+ `),I=new Map([[Boolean,""],[String,"string"],[Number,"number"]]),uD=(u,F=!1)=>{const x=I.has(u)?I.get(u):"value";return F?`[${x}]`:`<${x}>`},l=u=>{const F=[];for(const x of u){if(x.type==="block"||!x.type){const e=" ",C=x.body.map(D=>e+D);C.unshift("");const E=C.join(`
4
+ `);F.push(v([[i.exports.bold(`${x.title}:`)],[E]]).toString())}else if(x.type==="inline"){const e=x.items.map(E=>[i.exports.bold(`${E.title}:`),E.body]),C=v(e);F.push(C.toString())}F.push("")}return F.join(`
5
+ `)},FD={renderFlagName:u=>u,renderSections:u=>u,renderType:(u,F)=>uD(u,F),renderDefault:u=>JSON.stringify(u)},CD={en:{"help.name":"Name","help.version":"Version","help.subcommand":"Subcommand","help.commands":"Commands","help.flags":"Flags","help.description":"Description","help.usage":"Usage","help.examples":"Examples","help.notes":"Notes","help.noDescription":"(No description)","help.notes.1":"If no command is specified, show help for the CLI.","help.notes.2":"If a command is specified, show help for the command.","help.notes.3":"-h is an alias for --help.","help.examples.1":"Show help","help.examples.2":"Show help for a specific command","help.commandDescription":"Show help","help.default":"Default: "},"zh-CN":{"help.name":"\u540D\u79F0","help.version":"\u7248\u672C","help.subcommand":"\u5B50\u547D\u4EE4","help.commands":"\u547D\u4EE4","help.flags":"\u6807\u5FD7","help.description":"\u63CF\u8FF0","help.usage":"\u4F7F\u7528","help.examples":"\u793A\u4F8B","help.notes":"\u5907\u6CE8","help.noDescription":"(\u65E0\u63CF\u8FF0)","help.notes.1":"\u5982\u679C\u6CA1\u6709\u6307\u5B9A\u5C55\u793A\u54EA\u4E2A\u547D\u4EE4\u7684\u5E2E\u52A9\u4FE1\u606F\uFF0C\u9ED8\u8BA4\u5C55\u793ACLI\u7684\u3002","help.notes.2":"\u5982\u679C\u6307\u5B9A\u4E86\u5219\u5C55\u793A\u8BE5\u547D\u4EE4\u5E2E\u52A9\u4FE1\u606F\u3002","help.notes.3":"-h \u662F --help \u7684\u4E00\u4E2A\u522B\u540D\u3002","help.examples.1":"\u5C55\u793A CLI \u7684\u5E2E\u52A9\u4FE1\u606F","help.examples.2":"\u5C55\u793A\u6307\u5B9A\u547D\u4EE4\u7684\u5E2E\u52A9\u4FE1\u606F","help.commandDescription":"\u5C55\u793A\u5E2E\u52A9\u4FE1\u606F","help.default":"\u9ED8\u8BA4\u503C: %s"}},S=i.exports.yellow("-"),T=u=>{process.stdout.write(u)},$=(u,F,x)=>{const{t:e}=F.i18n,C=[{title:e("help.name"),body:i.exports.red(F._name)},{title:e("help.version"),body:i.exports.yellow(F._version)}];x&&C.push({title:e("help.subcommand"),body:i.exports.green(`${F._name} ${h(x.name)}`)}),u.push({type:"inline",items:C}),u.push({title:e("help.description"),body:[(x==null?void 0:x.description)||F._description]})},k=(u,F,x)=>{const e=F.map(([C,E])=>[C,S,E]);u.push({title:x("help.examples"),body:y(e)})},f=(u,F,x,e)=>{const{cli:C}=F,{t:E}=C.i18n,D=[];$(D,C),D.push({title:E("help.usage"),body:[i.exports.magenta(`$ ${C._name} ${z("command",F.hasRootOrAlias)} [flags]`)]});const A=[...F.hasRoot?[C._commands[a]]:[],...Object.values(C._commands)].map(B=>{const t=[typeof B.name=="symbol"?"":B.name,...G(B.alias||[])].sort((n,r)=>n===a?-1:r===a?1:n.length-r.length).map(n=>n===""||typeof n=="symbol"?`${C._name}`:`${C._name} ${n}`).join(", ");return[i.exports.cyan(t),S,B.description]});return D.push({title:E("help.commands"),body:y(A)}),x&&D.push({title:E("help.notes"),body:x}),e&&k(D,e,E),u(D)},g=(u,F,x)=>{var e;const{cli:C}=F,{t:E}=C.i18n,[D]=P(C._commands,x,E);if(!D)throw new Z(h(x),E);const A=Object.assign({},FD,D.help);let B=[];x===a?$(B,C):$(B,C,{...D,name:h(x)});const t=((e=D.parameters)==null?void 0:e.join(" "))||void 0,n=x===a?"":` ${h(x)}`,r=t?` ${t}`:"",s=D.flags?" [flags]":"";return B.push({title:E("help.usage"),body:[i.exports.magenta(`$ ${C._name}${n}${r}${s}`)]}),D.flags&&B.push({title:E("help.flags"),body:y(Object.entries(D.flags).map(([d,p])=>{const w=p.default!==void 0;let m=[_(d)];p.alias&&m.push(_(p.alias)),m=m.map(A.renderFlagName);const b=[i.exports.blue(m.join(", ")),A.renderType(p.type,w)];return b.push(S,p.description||E("help.noDescription")),w&&b.push(`(${E("help.default",A.renderDefault(p.default))})`),b}))}),D.notes&&B.push({title:E("help.notes"),body:D.notes}),D.examples&&k(B,D.examples,E),B=A.renderSections(B),u(B)},ED=({command:u=!0,showHelpWhenNoCommand:F=!0,notes:x,examples:e,banner:C}={})=>M({setup:E=>{const{add:D,t:A}=E.i18n;D(CD);const B=t=>{C&&T(`${C}
6
+ `),T(t)};return u&&(E=E.command("help",A("help.commandDescription"),{parameters:["[command...]"],notes:[A("help.notes.1"),A("help.notes.2"),A("help.notes.3")],examples:[[`$ ${E._name} help`,A("help.examples.1")],[`$ ${E._name} help <command>`,A("help.examples.2")],[`$ ${E._name} <command> --help`,A("help.examples.2")]]}).on("help",t=>{t.parameters.command.length?B(g(l,t,t.parameters.command)):B(f(l,t,x,e))})),E.inspector((t,n)=>{const r=t.raw.mergedFlags.h||t.raw.mergedFlags.help;if(!t.hasRootOrAlias&&!t.raw._.length&&F&&!r){let s=`${A("core.noCommandGiven")}
7
7
 
8
- `;b+=v(m,r,n,o),b+=`
9
- `,l(b),process.exit(1)}else f?r.raw._.length?r.called!==d&&r.name===d?l(v(m,r,n,o)):l(E(m,r,r.raw._)):r.hasRootOrAlias?l(E(m,r,d)):l(v(m,r,n,o)):h()}),i}});export{X as helpPlugin};
8
+ `;s+=f(l,t,x,e),s+=`
9
+ `,B(s),process.exit(1)}else r?t.raw._.length?t.called!==a&&t.name===a?B(f(l,t,x,e)):B(g(l,t,t.raw._)):t.hasRootOrAlias?B(g(l,t,a)):B(f(l,t,x,e)):n()}),E}});export{ED as helpPlugin};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@clerc/plugin-help",
3
- "version": "0.29.0",
4
- "author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
3
+ "version": "0.30.1",
4
+ "author": "Ray <i@mk1.io> (https://github.com/so1ve)",
5
5
  "description": "Clerc plugin help",
6
6
  "keywords": [
7
7
  "cli",
@@ -52,11 +52,11 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/text-table": "^0.2.2",
55
- "get-func-name": "^2.0.0",
56
55
  "picocolors": "^1.0.0",
56
+ "string-width": "^5.1.2",
57
57
  "text-table": "^0.2.0",
58
- "@clerc/core": "0.29.0",
59
- "@clerc/utils": "0.29.0"
58
+ "@clerc/utils": "0.30.1",
59
+ "@clerc/core": "0.30.1"
60
60
  },
61
61
  "scripts": {
62
62
  "build": "puild --minify",