1"use strict";(self.webpackChunknonebot=self.webpackChunknonebot||[]).push([["4613"],{62539(e,n,c){c.r(n),c.d(n,{metadata:()=>l,default:()=>h,frontMatter:()=>d,contentTitle:()=>i,toc:()=>t,assets:()=>o});var l=JSON.parse('{"id":"best-practice/alconna/command","title":"Alconna \u672C\u4F53","description":"Alconna \u57FA\u672C\u4ECB\u7ECD","source":"@site/versioned_docs/version-2.5.0/best-practice/alconna/command.md","sourceDirName":"best-practice/alconna","slug":"/best-practice/alconna/command","permalink":"/docs/best-practice/alconna/command","draft":false,"unlisted":false,"editUrl":"https://github.com/nonebot/nonebot2/edit/master/website/versioned_docs/version-2.5.0/best-practice/alconna/command.md","tags":[],"version":"2.5.0","lastUpdatedBy":"pre-commit-ci[bot]","lastUpdatedAt":1789135437000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"description":"Alconna \u57FA\u672C\u4ECB\u7ECD"},"sidebar":"tutorial","previous":{"title":"Alconna \u63D2\u4EF6","permalink":"/docs/best-practice/alconna/"},"next":{"title":"on_alconna \u54CD\u5E94\u5668","permalink":"/docs/best-practice/alconna/matcher"}}'),s=c(62540),r=c(43023);let d={sidebar_position:2,description:"Alconna \u57FA\u672C\u4ECB\u7ECD"},i="Alconna \u672C\u4F53",o={},t=[{value:"\u547D\u4EE4\u5934",id:"\u547D\u4EE4\u5934",level:2},{value:"\u53C2\u6570\u58F0\u660E(Args)",id:"\u53C2\u6570\u58F0\u660Eargs",level:2},{value:"key",id:"key",level:3},{value:"var",id:"var",level:3},{value:"MultiVar \u4E0E KeyWordVar",id:"multivar-\u4E0E-keywordvar",level:4},{value:"AllParam",id:"allparam",level:4},{value:"default",id:"default",level:3},{value:"\u9009\u9879\u4E0E\u5B50\u547D\u4EE4(Option & Subcommand)",id:"\u9009\u9879\u4E0E\u5B50\u547D\u4EE4option--subcommand",level:2},{value:"Action",id:"action",level:3},{value:"\u89E3\u6790\u7ED3\u679C",id:"\u89E3\u6790\u7ED3\u679C",level:2},{value:"\u8DEF\u5F84\u67E5\u8BE2",id:"\u8DEF\u5F84\u67E5\u8BE2",level:3},{value:"\u5143\u6570\u636E(CommandMeta)",id:"\u5143\u6570\u636Ecommandmeta",level:2},{value:"\u547D\u540D\u7A7A\u95F4\u914D\u7F6E",id:"\u547D\u540D\u7A7A\u95F4\u914D\u7F6E",level:2},{value:"\u65B0\u5EFA\u547D\u540D\u7A7A\u95F4\u5E76\u66FF\u6362",id:"\u65B0\u5EFA\u547D\u540D\u7A7A\u95F4\u5E76\u66FF\u6362",level:3},{value:"\u4FEE\u6539\u9ED8\u8BA4\u7684\u547D\u540D\u7A7A\u95F4",id:"\u4FEE\u6539\u9ED8\u8BA4\u7684\u547D\u540D\u7A7A\u95F4",level:3},{value:"\u5FEB\u6377\u6307\u4EE4",id:"\u5FEB\u6377\u6307\u4EE4",level:2},{value:"args\u7684\u4F7F\u7528",id:"args\u7684\u4F7F\u7528",level:3},{value:"command\u7684\u4F7F\u7528",id:"command\u7684\u4F7F\u7528",level:3},{value:"\u7D27\u51D1\u547D\u4EE4",id:"\u7D27\u51D1\u547D\u4EE4",level:2},{value:"\u6A21\u7CCA\u5339\u914D",id:"\u6A21\u7CCA\u5339\u914D",level:2},{value:"\u534A\u81EA\u52A8\u8865\u5168",id:"\u534A\u81EA\u52A8\u8865\u5168",level:2},{value:"Duplication",id:"duplication",level:2},{value:"\u4E0A\u4E0B\u6587\u63D2\u503C",id:"\u4E0A\u4E0B\u6587\u63D2\u503C",level:2}];function a(e){let n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"alconna-\u672C\u4F53",children:"Alconna \u672C\u4F53"})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://github.com/ArcletProject/Alconna",children:(0,s.jsx)(n.code,{children:"Alconna"})})," \u96B6\u5C5E\u4E8E ",(0,s.jsx)(n.code,{children:"ArcletProject"}),"\uFF0C\u662F\u4E00\u4E2A\u7B80\u5355\u3001\u7075\u6D3B\u3001\u9AD8\u6548\u7684\u547D\u4EE4\u53C2\u6570\u89E3\u6790\u5668, \u5E76\u4E14\u4E0D\u5C40\u9650\u4E8E\u89E3\u6790\u547D\u4EE4\u5F0F\u5B57\u7B26\u4E32\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u6211\u4EEC\u5148\u901A\u8FC7\u4E00\u4E2A\u4F8B\u5B50\u6765\u8BB2\u89E3 ",(0,s.jsx)(n.strong,{children:"Alconna"})," \u7684\u6838\u5FC3 \u2014\u2014 ",(0,s.jsx)(n.code,{children:"Args"}),", ",(0,s.jsx)(n.code,{children:"Subcommand"}),", ",(0,s.jsx)(n.code,{children:"Option"}),"\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"from arclet.alconna import Alconna, Args, Subcommand, Option\n\n\nalc = Alconna(\n \"pip\",\n Subcommand(\n \"install\",\n Args[\"package\", str],\n Option(\"-r|--requirement\", Args[\"file\", str]),\n Option(\"-i|--index-url\", Args[\"url\", str]),\n ),\n)\n\nres = alc.parse(\"pip install nonebot2 -i URL\")\n\nprint(res)\n# matched=True, header_match=(origin='pip' result='pi
1p' matched=True groups={}), subcommands={'install': (value=Ellipsis args={'package': 'nonebot2'} options={'index-url': (value=None args={'url': 'URL'})} subcommands={})}, other_args={'package': 'nonebot2', 'url': 'URL'}\n\nprint(res.all_matched_args)\n# {'package': 'nonebot2', 'url': 'URL'}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["\u8FD9\u6BB5\u4EE3\u7801\u901A\u8FC7",(0,s.jsx)(n.code,{children:"Alconna"}),"\u521B\u6377\u4E86\u4E00\u4E2A\u63A5\u53D7\u4E3B\u547D\u4EE4\u540D\u4E3A",(0,s.jsx)(n.code,{children:"pip"}),", \u5B50\u547D\u4EE4\u4E3A",(0,s.jsx)(n.code,{children:"install"}),"\u4E14\u5B50\u547D\u4EE4\u63A5\u53D7\u4E00\u4E2A ",(0,s.jsx)(n.strong,{children:"Args"})," \u53C2\u6570",(0,s.jsx)(n.code,{children:"package"}),"\u548C\u4E8C\u4E2A ",(0,s.jsx)(n.strong,{children:"Option"})," \u53C2\u6570",(0,s.jsx)(n.code,{children:"-r"}),"\u548C",(0,s.jsx)(n.code,{children:"-i"}),"\u7684\u547D\u4EE4\u53C2\u6570\u89E3\u6790\u5668, \u901A\u8FC7",(0,s.jsx)(n.code,{children:"parse"}),"\u65B9\u6CD5\u8FD4\u56DE\u89E3\u6790\u7ED3\u679C ",(0,s.jsx)(n.strong,{children:"Arparma"})," \u7684\u5B9E\u4F8B\u3002"]}),"\n",(0,s.jsx)(n.h2,{id:"\u547D\u4EE4\u5934",children:"\u547D\u4EE4\u5934"}),"\n",(0,s.jsx)(n.p,{children:"\u547D\u4EE4\u5934\u662F\u6307\u547D\u4EE4\u7684\u524D\u7F00 (Prefix) \u4E0E\u547D\u4EE4\u540D (Command) \u7684\u7EC4\u5408\uFF0C\u4F8B\u5982 !help \u4E2D\u7684 ! \u4E0E help\u3002"}),"\n",(0,s.jsxs)(n.p,{children:["\u547D\u4EE4\u6784\u9020\u65F6, ",(0,s.jsx)(n.code,{children:"Alconna([prefix], command)"})," \u4E0E ",(0,s.jsx)(n.code,{children:"Alconna(command, [prefix])"})," \u662F\u7B49\u4EF7\u7684\u3002"]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"center"},children:"\u524D\u7F00"}),(0,s.jsx)(n.th,{style:{textAlign:"center"},children:"\u547D\u4EE4\u540D"}),(0,s.jsx)(n.th,{style:{textAlign:"center"},children:"\u5339\u914D\u5185\u5BB9"}),(0,s.jsx)(n.th,{style:{textAlign:"center"},children:"\u8BF4\u660E"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u4E0D\u4F20\u5165"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"foo"'}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:(0,s.jsx)(n.code,{children:'"foo"'})}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u65E0\u524D\u7F00\u7684\u7EAF\u6587\u5B57\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u4E0D\u4F20\u5165"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"123"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:(0,s.jsx)(n.code,{children:"123"})}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u65E0\u524D\u7F00\u7684\u5143\u7D20\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u4E0D\u4F20\u5165"}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:['"re:\\d',2,'"']}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:(0,s.jsx)(n.code,{children:'"32"'})}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u65E0\u524D\u7F00\u7684\u6B63\u5219\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u4E0D\u4F20\u5165"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"int"}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:"123"})," \u6216 ",(0,s.jsx)(n.code,{children:'"456"'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u65E0\u524D\u7F00\u7684\u7C7B\u578B\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"[int, bool]"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u4E0D\u4F20\u5165"}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:"True"})," \u6216 ",(0,s.jsx)(n.code,{children:"123"})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u65E0\u540D\u7684\u5143\u7D20\u7C7B\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'["foo", "bar"]'}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u4E0D\u4F20\u5165"}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'"foo"'})," \u6216 ",(0,s.jsx)(n.code,{children:'"bar"'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u65E0\u540D\u7684\u7EAF\u6587\u5B57\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'["foo", "bar"]'}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"baz"'}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'"foobaz"'})," \u6216 ",(0,s.jsx)(n.code,{children:'"barbaz"'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u7EAF\u6587\u5B57\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"[int, bool]"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"foo"'}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'[123, "foo"]'})," \u6216 ",(0,s.jsx)(n.code,{children:'[False, "foo"]'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u7C7B\u578B\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"[123, 4567]"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"foo"'}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'[123, "foo"]'})," \u6216 ",(0,s.jsx)(n.code,{children:'[4567, "foo"]'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u5143\u7D20\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"[nepattern.NUMBER]"}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"bar"'}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'[123, "bar"]'})," \u6216 ",(0,s.jsx)(n.code,{children:'[123.456, "bar"]'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u8868\u8FBE\u5F0F\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'[123, "foo"]'}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"bar"'}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'[123, "bar"]'})," \u6216 ",(0,s.jsx)(n.code,{children:'"foobar"'})," \u6216 ",(0,s.jsx)(n.code,{children:'["foo", "bar"]'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"}
1,children:"\u6DF7\u5408\u5934"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'[(int, "foo"), (456, "bar")]'}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:'"baz"'}),(0,s.jsxs)(n.td,{style:{textAlign:"center"},children:[(0,s.jsx)(n.code,{children:'[123, "foobaz"]'})," \u6216 ",(0,s.jsx)(n.code,{children:'[456, "foobaz"]'})," \u6216 ",(0,s.jsx)(n.code,{children:'[456, "barbaz"]'})]}),(0,s.jsx)(n.td,{style:{textAlign:"center"},children:"\u5BF9\u5934"})]})]})]}),"\n",(0,s.jsxs)(n.p,{children:["\u5BF9\u4E8E\u65E0\u524D\u7F00\u7684\u7C7B\u578B\u5934\uFF0C\u6B64\u65F6\u4F1A\u5C06\u4F20\u5165\u7684\u503C\u5C1D\u8BD5\u8F6C\u4E3A BasePattern\uFF0C\u4F8B\u5982 ",(0,s.jsx)(n.code,{children:"int"})," \u4F1A\u8F6C\u4E3A ",(0,s.jsx)(n.code,{children:"nepattern.INTEGER"}),"\u3002\u5982\u6B64\u8BE5\u547D\u4EE4\u5934\u4F1A\u5339\u914D\u5BF9\u5E94\u7684\u7C7B\u578B\uFF0C \u4F8B\u5982 ",(0,s.jsx)(n.code,{children:"int"})," \u4F1A\u5339\u914D ",(0,s.jsx)(n.code,{children:"123"})," \u6216 ",(0,s.jsx)(n.code,{children:'"456"'}),"\uFF0C\u4F46\u4E0D\u4F1A\u5339\u914D ",(0,s.jsx)(n.code,{children:'"foo"'}),"\u3002\u89E3\u6790\u540E\uFF0CAlconna \u4F1A\u5C06\u547D\u4EE4\u5934\u5339\u914D\u5230\u7684\u503C\u8F6C\u4E3A\u5BF9\u5E94\u7684\u7C7B\u578B\uFF0C\u4F8B\u5982 ",(0,s.jsx)(n.code,{children:"int"})," \u4F1A\u5C06 ",(0,s.jsx)(n.code,{children:'"123"'})," \u8F6C\u4E3A ",(0,s.jsx)(n.code,{children:"123"}),"\u3002"]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"\u6B63\u5219\u5185\u5BB9\u53EA\u5728\u547D\u4EE4\u540D\u4E0A\u751F\u6548\uFF0C\u524D\u7F00\u4E2D\u7684\u6B63\u5219\u4F1A\u88AB\u8F6C\u4E49"})})}),"\n",(0,s.jsxs)(n.p,{children:["\u9664\u4E86\u901A\u8FC7\u4F20\u5165 ",(0,s.jsx)(n.code,{children:"re:xxx"})," \u6765\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u5916\uFF0CAlconna \u8FD8\u63D0\u4F9B\u4E86\u4E00\u79CD\u66F4\u52A0\u7B80\u6D01\u7684\u65B9\u5F0F\u6765\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\uFF0C\u79F0\u4E3A Bracket Header\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'alc = Alconna(".rd{roll:int}")\nassert alc.parse(".rd123").header["roll"] == 123\n'})}),"\n",(0,s.jsxs)(n.p,{children:["Bracket Header \u7C7B\u4F3C python \u91CC\u7684 f-string \u5199\u6CD5\uFF0C\u901A\u8FC7 ",(0,s.jsx)(n.code,{children:'"{}"'})," \u58F0\u660E\u5339\u914D\u7C7B\u578B"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:'"{}"'}),' \u4E2D\u7684\u5185\u5BB9\u4E3A "name',":type",' or pat"\uFF1A']}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"{}"'}),", ",(0,s.jsx)(n.code,{children:'"{:}"'})," \u21D4 ",(0,s.jsx)(n.code,{children:'"(.+)"'}),", \u5360\u4F4D\u7B26"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"{foo}"'})," \u21D4 ",(0,s.jsx)(n.code,{children:'"(?P<foo>.+)"'})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"{:\\d+}"'})," \u21D4 ",(0,s.jsx)(n.code,{children:'"(\\d+)"'})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"{foo:int}"'})," \u21D4 ",(0,s.jsx)(n.code,{children:'"(?P<foo>\\d+)"'}),"\uFF0C\u5176\u4E2D ",(0,s.jsx)(n.code,{children:'"int"'})," \u90E8\u5206\u82E5\u80FD\u8F6C\u4E3A ",(0,s.jsx)(n.code,{children:"BasePattern"})," \u5219\u8BFB\u53D6\u91CC\u9762\u7684\u8868\u8FBE\u5F0F"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u53C2\u6570\u58F0\u660Eargs",children:"\u53C2\u6570\u58F0\u660E(Args)"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Args"})," \u662F\u7528\u4E8E\u58F0\u660E\u547D\u4EE4\u53C2\u6570\u7684\u7EC4\u4EF6\uFF0C \u53EF\u4EE5\u901A\u8FC7\u4EE5\u4E0B\u51E0\u79CD\u65B9\u5F0F\u6784\u9020 ",(0,s.jsx)(n.strong,{children:"Args"})," \uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"Args[key, var, default][key1, var1, default1][...]"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"Args[(key, var, default)]"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"Args.key[var, default]"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u5176\u4E2D\uFF0Ckey ",(0,s.jsx)(n.strong,{children:"\u4E00\u5B9A"}),"\u662F\u5B57\u7B26\u4E32\uFF0C\u800C var \u4E00\u822C\u4E3A\u53C2\u6570\u7684\u7C7B\u578B\uFF0Cdefault \u4E3A\u5177\u4F53\u7684\u503C\u6216\u8005 ",(0,s.jsx)(n.strong,{children:"arclet.alconna.args.Field"})]}),"\n",(0,s.jsx)(n.p,{children:"\u5176\u4E0E\u51FD\u6570\u7B7E\u540D\u7C7B\u4F3C\uFF0C\u4F46\u662F\u5141\u8BB8\u542B\u6709\u9ED8\u8BA4\u503C\u7684\u53C2\u6570\u5728\u524D\uFF1B\u540C\u65F6\u652F\u6301 keyword-only \u53C2\u6570\u4E0D\u4F9D\u7167\u6784\u9020\u987A\u5E8F\u4F20\u5165 \uFF08\u4F46\u662F\u4
1ECD\u9700\u8981\u5728\u975E keyword-only \u53C2\u6570\u4E4B\u540E\uFF09\u3002"}),"\n",(0,s.jsx)(n.h3,{id:"key",children:"key"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"key"})," \u7684\u4F5C\u7528\u662F\u7528\u4EE5\u6807\u8BB0\u89E3\u6790\u51FA\u6765\u7684\u53C2\u6570\u5E76\u5B58\u653E\u4E8E ",(0,s.jsx)(n.strong,{children:"Arparma"})," \u4E2D\uFF0C\u4EE5\u65B9\u4FBF\u7528\u6237\u8C03\u7528\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u5176\u6709\u4E09\u79CD\u4E3A Args \u6CE8\u89E3\u7684\u6807\u8BC6\u7B26: ",(0,s.jsx)(n.code,{children:"?"}),"\u3001",(0,s.jsx)(n.code,{children:"/"}),"\u3001 ",(0,s.jsx)(n.code,{children:"!"}),", \u6807\u8BC6\u7B26\u4E0E key \u4E4B\u95F4\u5EFA\u8BAE\u4EE5 ",(0,s.jsx)(n.code,{children:";"})," \u5206\u9694\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"!"})," \u6807\u8BC6\u7B26\u8868\u793A\u8BE5\u5904\u4F20\u5165\u7684\u53C2\u6570\u5E94",(0,s.jsx)(n.strong,{children:"\u4E0D\u662F"}),"\u89C4\u5B9A\u7684\u7C7B\u578B\uFF0C\u6216",(0,s.jsx)(n.strong,{children:"\u4E0D\u5728"}),"\u6307\u5B9A\u7684\u503C\u4E2D\u3002"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"?"})," \u6807\u8BC6\u7B26\u8868\u793A\u8BE5\u53C2\u6570\u4E3A",(0,s.jsx)(n.strong,{children:"\u53EF\u9009"}),"\u53C2\u6570\uFF0C\u4F1A\u5728\u65E0\u53C2\u6570\u5339\u914D\u65F6\u8DF3\u8FC7\u3002"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"/"})," \u6807\u8BC6\u7B26\u8868\u793A\u8BE5\u53C2\u6570\u7684\u7C7B\u578B\u6CE8\u89E3\u9700\u8981\u9690\u85CF\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u53E6\u5916\uFF0C\u5BF9\u4E8E\u53C2\u6570\u7684\u6CE8\u91CA\u4E5F\u53EF\u4EE5\u6807\u8BB0\u5728 ",(0,s.jsx)(n.code,{children:"key"})," \u4E2D\uFF0C\u5176\u4E0E key \u6216\u8005\u6807\u8BC6\u7B26 \u4EE5 ",(0,s.jsx)(n.code,{children:"#"})," \u5206\u5272\uFF1A",(0,s.jsx)(n.br,{}),"\n",(0,s.jsx)(n.code,{children:"foo#\u8FD9\u662F\u6CE8\u91CA;?"})," \u6216 ",(0,s.jsx)(n.code,{children:"foo?#\u8FD9\u662F\u6CE8\u91CA"})]}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Args"})," \u4E2D\u7684 ",(0,s.jsx)(n.code,{children:"key"})," \u5728\u5B9E\u9645\u547D\u4EE4\u4E2D\u5E76\u4E0D\u9700\u8981\u4F20\u5165\uFF08keyword \u53C2\u6570\u9664\u5916\uFF09\uFF1A"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args\n\n\nalc = Alconna("test", Args["foo", str])\nalc.parse("test --foo abc") # \u9519\u8BEF\nalc.parse("test abc") # \u6B63\u786E\n'})}),(0,s.jsxs)(n.p,{children:["\u82E5\u9700\u8981 ",(0,s.jsx)(n.code,{children:"test --foo abc"}),"\uFF0C\u4F60\u5E94\u8BE5\u4F7F\u7528 ",(0,s.jsx)(n.code,{children:"Option"}),"\uFF1A"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args, Option\n\n\nalc = Alconna("test", Option("--foo", Args["foo", str]))\n'})})]}),"\n",(0,s.jsx)(n.h3,{id:"var",children:"var"}),"\n",(0,s.jsxs)(n.p,{children:["var \u8D1F\u8D23\u547D\u4EE4\u53C2\u6570\u7684",(0,s.jsx)(n.strong,{children:"\u7C7B\u578B\u68C0\u67E5"}),"\u4E0E",(0,s.jsx)(n.strong,{children:"\u7C7B\u578B\u8F6C\u5316"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Args"})," \u7684",(0,s.jsx)(n.code,{children:"var"}),"\u8868\u9762\u4E0A\u770B\u9700\u8981\u4F20\u5165\u4E00\u4E2A ",(0,s.jsx)(n.code,{children:"type"}),"\uFF0C\u4F46\u5B9E\u9645\u4E0A\u5B83\u9700\u8981\u7684\u662F\u4E00\u4E2A ",(0,s.jsx)(n.code,{children:"nepattern.BasePattern"})," \u7684\u5B9E\u4F8B\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Args\nfrom nepattern import BasePattern\n\n\n# \u8868\u793A foo \u53C2\u6570\u9700\u8981\u5339\u914D\u4E00\u4E2A @number \u6837\u5F0F\u7684\u5B57\u7B26\u4E32\nargs = Args["foo", BasePattern("@\\d+")]\n'})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"pip"})," \u793A\u4F8B\u4E2D\u53EF\u4EE5\u4F20\u5165 ",(0,s.jsx)(n.code,{children:"str"})," \u662F\u56E0\u4E3A ",(0,s.jsx)(n.code,{children:"str"})," \u5DF2\u7ECF\u6CE8\u518C\u5728\u4E86 ",(0,s.jsx)(n.code,{children:"nepattern.global_patterns"})," \u4E2D\uFF0C\u56E0\u6B64\u4F1A\u66FF\u6362\u4E3A ",(0,s.jsx)(n.code,{children:"nepattern.global_patterns[str]"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"nepattern.global_patterns"}),"\u9ED8\u8BA4\u652F\u6301\u7684\u7C7B\u578B\u6709\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"str"}),": \u5339\u914D\u4EFB\u610F\u5B57\u7B26\u4E32"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"int"}),": \u5339\u914D\u6574\u6570"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"float"}),": \u5339\u914D\u6D6E\u70B9\u6570"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"bool"}),": \u5339\u914D ",(0,s.jsx)(n.code,{children:"True"})," \u4E0E ",(0,s.jsx)(n.code,{children:"False"})," \u4EE5\u53CA\u4ED6\u4EEC\u5C0F\u5199\u5F62\u5F0F"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"hex"}),": \u5339\u914D ",(0,s.jsx)(n.code,{children:"0x"})," \u5F00\u5934\u7684\u5341\u516D\u8FDB\u5236\u5B57\u7B26\u4E32"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"url"}),": \u5339\u914D\u7F51\u5740"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"email"}),": \u5339\u914D ",(0,s.jsx)(n.code,{children:"xxxx@xxx"})," \u7684\u5B57\u7B26\u4E32"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"ipv4"}),": \u5339\u914D ",(0,s.jsx)(n.code,{children:"xxx.xxx.xxx.xxx"})," \u7684\u5B57\u7B26\u4E32"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"list"}),": \u5339\u914D\u7C7B\u4F3C ",(0,s.jsx)(n.code,{children:'["foo","bar","baz"]'})," \u7684\u5B57\u7B26\u4E32"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"dict"}),": \u5339\u914D\u7C7B\u4F3C ",(0,s.jsx)(n.code,{children:'{"foo":"bar","baz":"qux"}'})," \u7684\u5B57\u7B26\u4E32"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"datetime"}),": \u4F20\u5165\u4E00\u4E2A ",(0,s.jsx)(n.code,{children:"datetime"})," \u652F\u6301\u7684\u683C\u5F0F\u5B57\u7B26\u4E32\uFF0C\u6216\u65F6\u95F4\u6233"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Any"}),": \u5339\u914D\u4EFB\u610F\u7C7B\u578B"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"AnyString"}),": \u5339\u914D\u4EFB\u610F\u7C7B\u578B\uFF0C\u8F6C\u4E3A ",(0,s.jsx)(n.code,{children:"str"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Number"}),": \u5339\u914D ",(0,s.jsx)(n.code,{children:"int"})," \u4E0E ",(0,s.jsx)(n.code,{children:"float"}),"\uFF0C\u8F6C\u4E3A ",(0,s.jsx)(n.code,{children:"int"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u540C\u65F6\u53EF\u4EE5\u4F7F\u7528 typing \u4E2D\u7684\u7C7B\u578B\uFF1A"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Literal[X]"}),": \u5339\u914D\u5176\u4E2D\u7684\u4EFB\u610F\u4E00\u4E2A\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Union[X, Y]"}),": \u5339\u914D\u5176\u4E2D\u7684\u4EFB\u610F\u4E00\u4E2A\u7C7B\u578B"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Optional[xxx]"}),": \u4F1A\u81EA\u52A8\u5C06\u9ED8\u8BA4\u503C\u8BBE\u4E3A ",(0,s.jsx)(n.code,{children:"None"}),"\uFF0C\u5E76\u5728\u89E3\u6790\u5931\u8D25\u65F6\u4F7F\u7528\u9ED8\u8BA4\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"List[X]"}),": \u5339\u914D\u4E00\u4E2A\u5217\u8868\uFF0C\u5176\u4E2D\u7684\u5143\u7D20\u4E3A ",(0,s.jsx)(n.code,{children:"X"})," \u7C7B\u578B"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Dict[X, Y]"}),": \u5339\u914D\u4E00\u4E2A\u5B57\u5178\uFF0C\u5176\u4E2D\u7684 key \u4E3A ",(0,s.jsx)(n.code,{children:"X"})," \u7C7B\u578B\uFF0Cvalue \u4E3A ",(0,s.jsx)(n.code,{children:"Y"})," \u7C7B\u578B"]}),"\n",(0,s.jsx)(n.li,{children:"..."}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsx)(n.p,{children:"\u51E0\u7C7B\u7279\u6B8A\u7684\u4F20\u5165\u6807\u8BB0\uFF1A"}),(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"foo"'}),': \u5339\u914D\u5B57\u7B26\u4E32 "foo" (\u82E5\u6CA1\u6709\u67D0\u4E2A ',(0,s.jsx)(n.code,{children:"BasePattern"})," \u4E0E\u4E4B\u5173\u8054)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'RawStr("foo")'}),': \u5339\u914D\u5B57\u7B26\u4E32 "foo" (\u5373\u4F7F\u6709 ',(0,s.jsx)(n.code,{children:"BasePattern"})," \u4E0E\u4E4B\u5173\u8054\u4E5F\u4E0D\u4F1A\u88AB\u66FF\u6362)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"foo|bar|baz"'}),': \u5339\u914D "foo" \u6216 "bar" \u6216 "baz"']}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"[foo, bar, Baz, ...]"}),": \u5339\u914D\u5176\u4E2D\u7684\u4EFB\u610F\u4E00\u4E2A\u503C\u6216\u7C7B\u578B"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"Callable[[X], Y]"}),": \u5339\u914D\u4E00\u4E2A\u53C2\u6570\u4E3A ",(0,s.jsx)(n.code,{children:"X"})," \u7C7B\u578B\u7684\u503C\uFF0C\u5E76\u8FD4\u56DE\u901A\u8FC7\u8BE5\u51FD\u6570\u8C03\u7528\u5F97\u5230\u7684 ",(0,s.jsx)(n.code,{children:"Y"})," \u7C7B\u578B\u7684\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"re:xxx"'}),": \u5339\u914D\u4E00\u4E2A\u6B63\u5219\u8868\u8FBE\u5F0F ",(0,s.jsx)(n.code,{children:"xxx"}),"\uFF0C\u4F1A\u8FD4\u56DE Match[0]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"rep:xxx"'}),": \u5339\u914D\u4E00\u4E2A\u6B63\u5219\u8868\u8FBE\u5F0F ",(0,s.jsx)(n.code,{children:"xxx"}),"\uFF0C\u4F1A\u8FD4\u56DE ",(0,s.jsx)(n.code,{children:"re.Match"})," \u5BF9\u8C61"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{foo: bar, baz: qux}"}),": \u5339\u914D\u5B57\u5178\u4E2D\u7684\u4EFB\u610F\u4E00\u4E2A\u952E, \u5E76\u8FD4\u56DE\u5BF9\u5E94\u7684\u503C (\u7279\u6B8A\u7684\u952E ... \u4F1A\u5339\u914D\u4EFB\u610F\u7684\u503C)"]}),"\n",(0,s.jsx)(n.li,{children:"..."}),"\n"]}),(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"\u7279\u522B\u7684"}),"\uFF0C\u4F60\u53EF\u4EE5\u4E0D\u4F20\u5165 ",(0,s.jsx)(n.code,{children:"var"}),"\uFF0C\u6B64\u65F6\u4F1A\u4F7F\u7528 ",(0,s.jsx)(n.code,{children:"key"}
1)," \u4F5C\u4E3A ",(0,s.jsx)(n.code,{children:"var"}),", \u5339\u914D ",(0,s.jsx)(n.code,{children:"key"})," \u5B57\u7B26\u4E32\u3002"]})]}),"\n",(0,s.jsx)(n.h4,{id:"multivar-\u4E0E-keywordvar",children:"MultiVar \u4E0E KeyWordVar"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"MultiVar"})," \u662F\u4E00\u4E2A\u7279\u6B8A\u7684\u6807\u6CE8\uFF0C\u7528\u4E8E\u544A\u77E5\u89E3\u6790\u5668\u8BE5\u53C2\u6570\u53EF\u4EE5\u63A5\u53D7\u591A\u4E2A\u503C\uFF0C\u7C7B\u4F3C\u4E8E\u51FD\u6570\u4E2D\u7684 ",(0,s.jsx)(n.code,{children:"*args"}),"\uFF0C\u5176\u6784\u9020\u65B9\u6CD5\u5F62\u5982 ",(0,s.jsx)(n.code,{children:"MultiVar(str)"}),"\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u540C\u6837\u7684\u8FD8\u6709 ",(0,s.jsx)(n.code,{children:"KeyWordVar"}),"\uFF0C\u7C7B\u4F3C\u4E8E\u51FD\u6570\u4E2D\u7684 ",(0,s.jsx)(n.code,{children:"*, name: type"}),"\uFF0C\u5176\u6784\u9020\u65B9\u6CD5\u5F62\u5982 ",(0,s.jsx)(n.code,{children:"KeyWordVar(str)"}),"\uFF0C\u7528\u4E8E\u544A\u77E5\u89E3\u6790\u5668\u8BE5\u53C2\u6570\u4E3A\u4E00\u4E2A keyword-only \u53C2\u6570\u3002"]}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"MultiVar"})," \u4E0E ",(0,s.jsx)(n.code,{children:"KeyWordVar"})," \u7EC4\u5408\u65F6\uFF0C\u4EE3\u8868\u8BE5\u53C2\u6570\u4E3A\u4E00\u4E2A\u53EF\u63A5\u53D7\u591A\u4E2A key-value \u7684\u53C2\u6570\uFF0C\u7C7B\u4F3C\u4E8E\u51FD\u6570\u4E2D\u7684 ",(0,s.jsx)(n.code,{children:"**kwargs"}),"\uFF0C\u5176\u6784\u9020\u65B9\u6CD5\u5F62\u5982 ",(0,s.jsx)(n.code,{children:"MultiVar(KeyWordVar(str))"})]}),(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"MultiVar"})," \u4E0E ",(0,s.jsx)(n.code,{children:"KeyWordVar"})," \u4E5F\u53EF\u4EE5\u4F20\u5165 ",(0,s.jsx)(n.code,{children:"default"})," \u53C2\u6570\uFF0C\u7528\u4E8E\u6307\u5B9A\u9ED8\u8BA4\u503C"]}),(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"MultiVar"})," \u4E0D\u80FD\u5728 ",(0,s.jsx)(n.code,{children:"KeyWordVar"})," \u4E4B\u540E\u4F20\u5165"]})]}),"\n",(0,s.jsx)(n.h4,{id:"allparam",children:"AllParam"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"AllParam"})," \u662F\u4E00\u4E2A\u7279\u6B8A\u7684\u6807\u6CE8\uFF0C\u7528\u4E8E\u544A\u77E5\u89E3\u6790\u5668\u8BE5\u53C2\u6570\u63A5\u6536\u547D\u4EE4\u4E2D\u5728\u6B64\u4F4D\u7F6E\u4E4B\u540E\u7684\u6240\u6709\u53C2\u6570\u5E76",(0,s.jsx)(n.strong,{children:"\u7ED3\u675F\u89E3\u6790"}),"\uFF0C\u53EF\u4EE5\u8BA4\u4E3A\u662F",(0,s.jsx)(n.strong,{children:"\u6CDB\u5339\u914D\u53C2\u6570"}),"\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"AllParam"})," \u53EF\u76F4\u63A5\u4F7F\u7528 (",(0,s.jsx)(n.code,{children:'Args["xxx", AllParam]'}),"), \u4E5F\u53EF\u4EE5\u4F20\u5165\u6307\u5B9A\u7684\u63A5\u6536\u7C7B\u578B (",(0,s.jsx)(n.code,{children:'Args["xxx", AllParam(str)]'}),")\u3002"]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["\u5728 ",(0,s.jsx)(n.code,{children:"nonebot_plugin_alconna"})," \u4E0B\uFF0C",(0,s.jsx)(n.code,{children:"AllParam"})," \u7684\u8FD4\u56DE\u503C\u4E3A ",(0,s.jsx)(n.a,{href:"/docs/best-practice/alconna/uniseg/message",children:(0,s.jsx)(n.code,{children:"UniMessage"})})]})}),"\n",(0,s.jsx)(n.h3,{id:"default",children:"default"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"default"})," \u4F20\u5165\u7684\u662F\u8BE5\u53C2\u6570\u7684\u9ED8\u8BA4\u503C\u6216\u8005 ",(0,s.jsx)(n.code,{children:"Field"}),"\uFF0C\u4EE5\u643A\u5E26\u5BF9\u4E8E\u8BE5\u53C2\u6570\u7684\u66F4\u591A\u4FE1\u606F\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u9ED8\u8BA4\u60C5\u51B5\u4E0B (\u5373\u4E0D\u58F0\u660E) ",(0,s.jsx)(n.code,{children:"default"})," \u7684\u503C\u4E3A\u7279\u6B8A\u503C ",(0,s.jsx)(n.code,{children:"Empty"}),"\u3002\u8FD9\u4E5F\u610F\u5473\u7740\u4F60\u53EF\u4EE5\u5C06\u9ED8\u8BA4\u503C\u8BBE\u7F6E\u4E3A ",(0,s.jsx)(n.code,{children:"None"})," \u8868\u793A\u9ED8\u8BA4\u503C\u4E3A\u7A7A\u503C\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Field"})," \u6784\u9020\u9700\u8981\u7684\u53C2\u6570\u8BF4\u660E\u5982\u4E0B\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"default: \u53C2\u6570\u5355\u5143\u7684\u9ED8\u8BA4\u503C"}),"\n",(0,s.jsx)(n.li,{children:"alias: \u53C2\u6570\u5355\u5143\u9ED8\u8BA4\u503C\u7684\u522B\u540D"}),"\n",(0,s.jsx)(n.li,{children:"completion: \u53C2\u6570\u5355\u5143\u7684\u8865\u5168\u8BF4\u660E\u751F\u6210\u51FD\u6570"}),"\n",(0,s.jsx)(n.li,{children:"unmatch_tips: \u53C2\u6570\u5355\u5143\u7684\u9519\u8BEF\u63D0\u793A\u751F\u6210\u51FD\u6570\uFF0C\u5176\u63A5\u6536\u4E00\u4E2A\u8868\u793A\u5339\u914D\u5931\u8D25\u7684\u5143\u7D20\u7684\u53C2\u6570"}),"\n",(0,s.jsx)(n.li,{children:"missing_tips: \u53C2\u6570\u5355\u5143\u7684\u7F3A\u5931\u63D0\u793A\u751F\u6210\u51FD\u6570"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u9009\u9879\u4E0E\u5B50\u547D\u4EE4option--subcommand",children:"\u9009\u9879\u4E0E\u5B50\u547D\u4EE4(Option & Subcommand)"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Option"})," \u548C ",(0,s.jsx)(n.code,{children:"Subcommand"})," \u53EF\u4EE5\u4F20\u5165\u4E00\u7EC4 ",(0,s.jsx)(n.code,{children:"alias"}),"\uFF0C\u5982 ",(0,s.jsx)(n.code,{children:'Option("--foo|-F|--FOO|-f")'}),"\uFF0C",(0,s.jsx)(n.code,{children:'Subcommand("foo", alias=["F"])'})]}),"\n",(0,s.jsx)(n.p,{children:'\u4F20\u5165\u522B\u540D\u540E\uFF0C\u9009\u9879\u4E0E\u5B50\u547D\u4EE4\u4F1A\u9009\u62E9\u5176\u4E2D\u957F\u5EA6\u6700\u957F\u7684\u4F5C\u4E3A\u5176\u540D\u79F0\u3002\u82E5\u4F20\u5165\u4E3A "--foo|-f"\uFF0C\u5219\u547D\u4EE4\u540D\u79F0\u4E3A "--foo"'}),"\n",(0,s.jsxs)(n.admonition,{title:"\u7279\u522B\u63D0\u9192!!!",type:"tip",children:[(0,s.jsxs)(n.p,{children:["Option \u7684\u540D\u5B57\u6216\u522B\u540D",(0,s.jsx)(n.strong,{children:"\u6CA1\u6709\u8981\u6C42"}),"\u5FC5\u987B\u5728\u524D\u9762\u5199\u4E0A ",(0,s.jsx)(n.code,{children:"-"})]}),(0,s.jsxs)(n.p,{children:["Option \u4E0E Subcommand \u7684\u552F\u4E00\u533A\u522B\u5728\u4E8E Subcommand \u53EF\u4EE5\u4F20\u5165\u81EA\u5DF1\u7684 ",(0,s.jsx)(n.strong,{children:"Option"})," \u4E0E ",(0,s.jsx)(n.strong,{children:"Subcommand"})]})]}),"\n",(0,s.jsx)(n.p,{children:"\u4ED6\u4EEC\u62E5\u6709\u5982\u4E0B\u5171\u540C\u53C2\u6570\uFF1A"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"help_text"}),": \u4F20\u5165\u8BE5\u7EC4\u4EF6\u7684\u5E2E\u52A9\u4FE1\u606F"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"dest"}),": \u88AB\u6307\u5B9A\u4E3A\u89E3\u6790\u5B8C\u6210\u65F6\u6807\u6CE8\u5339\u914D\u7ED3\u679C\u7684\u6807\u8BC6\u7B26\uFF0C\u4E0D\u4F20\u5165\u65F6\u9ED8\u8BA4\u4E3A\u9009\u9879\u6216\u5B50\u547D\u4EE4\u7684\u540D\u79F0 (name)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"requires"}),": \u4E00\u6BB5\u6307\u5B9A\u987A\u5E8F\u7684\u5B57\u7B26\u4E32\u5217\u8868\uFF0C\u4F5C\u4E3A\u552F\u4E00\u7684\u524D\u7F6E\u5E8F\u5217\u4E0E\u547D\u4EE4\u5D4C\u5957\u66FF\u6362\n\u5BF9\u4E8E\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"test foo bar baz qux <a:int>"})," \u6765\u8BB2\uFF0C\u56E0\u4E3A",(0,s.jsx)(n.code,{children:"foo bar baz"})," \u4EC5\u9700\u8981\u5224\u65AD\u662F\u5426\u76F8\u7B49, \u6240\u4EE5\u53EF\u4EE5\u8FD9\u4E48\u7F16\u5199\uFF1A"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'Alconna("test", Option("qux", Args.a[int], requires=["foo", "bar", "baz"]))\n'})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"default"}),": \u9ED8\u8BA4\u503C\uFF0C\u5728\u8BE5\u7EC4\u4EF6\u672A\u88AB\u89E3\u6790\u65F6\u4F7F\u7528\u4F7F\u7528\u8BE5\u503C\u66FF\u6362\u3002\n\u7279\u522B\u7684\uFF0C\u4F7F\u7528 ",(0,s.jsx)(n.code,{children:"OptionResult"})," \u6216 ",(0,s.jsx)(n.code,{children:"SubcomanndResult"})," \u53EF\u4EE5\u8BBE\u7F6E\u5305\u62EC\u53C2\u6570\u5B57\u5178\u5728\u5185\u7684\u9ED8\u8BA4\u503C\uFF1A"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Option, OptionResult\n\nopt1 = Option("--foo", default=False)\nopt2 = Option("--foo", default=OptionResult(value=False, args={"bar": 1}))\n'})}),"\n",(0,s.jsx)(n.h3,{id:"action",children:"Action"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Option"})," \u53EF\u4EE5\u7279\u522B\u8BBE\u7F6E\u4F20\u5165\u4E00\u7C7B ",(0,s.jsx)(n.code,{children:"Action"}),"\uFF0C\u4F5C\u4E3A\u89E3\u6790\u64CD\u4F5C"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Action"})," \u5206\u4E3A\u4E09\u7C7B\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"store"}),": \u65E0 Args \u65F6\uFF0C \u4EC5\u5B58\u50A8\u4E00\u4E2A\u503C\uFF0C \u9ED8\u8BA4\u4E3A Ellipsis\uFF1B \u6709 Args \u65F6\uFF0C \u540E\u7EED\u7684\u89E3\u6790\u7ED3\u679C\u4F1A\u8986\u76D6\u4E4B\u524D\u7684\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"append"}),": \u65E0 Args \u65F6\uFF0C \u5C06\u591A\u4E2A\u503C\u5B58\u4E3A\u5217\u8868\uFF0C \u9ED8\u8BA4\u4E3A Ellipsis\uFF1B \u6709 Args \u65F6\uFF0C \u6BCF\u4E2A\u89E3\u6790\u7ED3\u679C\u4F1A\u8FFD\u52A0\u5230\u5217\u8868\u4E2D, \u5F53\u5B58\u5728\u9ED8\u8BA4\u503C\u5E76\u4E14\u4E0D\u4E3A\u5217\u8868\u65F6\uFF0C \u4F1A\u81EA\u52A8\u5C06\u9ED8\u8BA4\u503C\u53D8\u6210\u5217\u8868\uFF0C \u4EE5\u4FDD\u8BC1\u8FFD\u52A0\u7684\u6B63\u786E\u6027"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"count"}),": \u65E0 Args \u65F6\uFF0C \u8BA1\u6570\u5668\u52A0\u4E00\uFF1B \u6709 Args \u65F6\uFF0C \u8868\u73B0\u4E0E STORE \u76F8\u540C, \u5F53\u5B58\u5728\u9ED8\u8BA4\u503C\u5E76\u4E14\u4E0D\u4E3A\u6570\u5B57\u65F6\uFF0C \u4F1A\u81EA\u52A8\u5C06\u9ED8\u8BA4\u503C\u53D8\u6210 1\uFF0C \u4EE5\u4FDD\u8BC1\u8BA1\u6570\u5668\u7684\u6B63\u786E\u6027\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Alconna"})," \u63D0\u4F9B\u4E86\u9884\u5236\u7684\u51E0\u7C7B ",(0,s.jsx)(n.code,{children:"Action"}),"\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"store"}),"(\u9ED8\u8BA4)\uFF0C",(0,s.jsx)(n.code,{children:"store_value"}),"\uFF0C",(0,s.jsx)(n.code,{children:"store_true"}),"\uFF0C",(0,s.jsx)(n.code,{children:"store_false"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"append"}),"\uFF0C",(0,s.jsx)(n.code,{children:"append_value"})]}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"count"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u89E3\u6790\u7ED3\u679C",children:"\u89E3\u6790\u7ED3\u679C"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Alconna.parse"})," \u4F1A\u8FD4\u56DE\u7531 ",(0,s.jsx)(n.strong,{children:"Arparma"})," \u627F\u8F7D\u7684\u89E3\u6790\u7ED3\u679C"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Arparma"})," \u6709\u5982\u4E0B\u5C5E\u6027\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u8C03\u8BD5\u7C7B"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"matched: \u662F\u5426\u5339\u914D\u6210\u529F"}),"\n",(0,s.jsx)(n.li,{children:"error_data: \u89E3\u6790\u5931\u8D25\u65F6\u5269\u4F59\u7684\u6570\u636E"}),"\n",(0,s.jsx)(n.li,{children:"error_info: \u89E3\u6790\u5931\u8D25\u65F6\u7684\u5F02\u5E38\u5185\u5BB9"}),"\n",(0,s.jsx)(n.li,{children:"origin: \u539F\u59CB\u547D\u4EE4\uFF0C\u53EF\u4EE5\u7C7B\u578B\u6807\u6CE8"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5206\u6790\u7C7B"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"header_match: \u547D\u4EE4\u5934\u90E8\u7684\u89E3\u6790\u7ED3\u679C\uFF0C\u5305\u62EC\u539F\u59CB\u5934\u90E8\u3001\u89E3\u6790\u540E\u5934\u90E8\u3001\u89E3\u6790\u7ED3\u679C\u4E0E\u53EF\u80FD\u7684\u6B63\u5219\u5339\u914D\u7EC4"}),"\n",(0,s.jsx)(n.li,{children:"main_args: \u547D\u4EE4\u7684\u4E3B\u53C2\u6570\u7684\u89E3\u6790\u7ED3\u679C"}),"\n",(0,s.jsx)(n.li,{children:"options: \u547D\u4EE4\u6240\u6709\u9009\u9879\u7684\u89E3\u6790\u7ED3\u679C"}),"\n",(0,s.jsx)(n.li,{children:"subcommands: \u547D\u4EE4\u6240\u6709\u5B50\u547D\u4EE4\u7684\u89E3\u6790\u7ED3\u679C"}),"\n",(0,s.jsx)(n.li,{children:"other_args: \u9664\u4E3B\u53C2\u6570\u5916\u7684\u5176\u4ED6\u89E3\u6790\u7ED3\u679C"}),"\n",(0,s.jsx)(n.li,{children:"all_matched_args: \u6240\u6709 Args \u7684\u89E3\u6790\u7ED3\u679C"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u8DEF\u5F84\u67E5\u8BE2",children:"\u8DEF\u5F84\u67E5\u8BE2"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Arparma"})," \u540C\u65F6\u63D0\u4F9B\u4E86\u4FBF\u6377\u7684\u67E5\u8BE2\u65B9\u6CD5 ",(0,s.jsx)(n.code,{children:"query[type]()"}
1),"\uFF0C\u4F1A\u6839\u636E\u4F20\u5165\u7684 ",(0,s.jsx)(n.code,{children:"path"})," \u67E5\u627E\u53C2\u6570\u5E76\u8FD4\u56DE"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"path"})," \u652F\u6301\u5982\u4E0B:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"main_args"}),", ",(0,s.jsx)(n.code,{children:"options"}),", ...: \u8FD4\u56DE\u5BF9\u5E94\u7684\u5C5E\u6027"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"args"}),": \u8FD4\u56DE all_matched_args"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"args.<key>"}),": \u8FD4\u56DE all_matched_args \u4E2D ",(0,s.jsx)(n.code,{children:"key"})," \u952E\u5BF9\u5E94\u7684\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"main_args.<key>"}),": \u8FD4\u56DE\u4E3B\u547D\u4EE4\u7684\u89E3\u6790\u53C2\u6570\u5B57\u5178\u4E2D ",(0,s.jsx)(n.code,{children:"key"})," \u952E\u5BF9\u5E94\u7684\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<node>"}),": \u8FD4\u56DE\u9009\u9879/\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"node"})," \u7684\u89E3\u6790\u7ED3\u679C (OptionResult | SubcommandResult)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<node>.value"}),": \u8FD4\u56DE\u9009\u9879/\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"node"})," \u7684\u89E3\u6790\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<node>.args"}),": \u8FD4\u56DE\u9009\u9879/\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"node"})," \u7684\u89E3\u6790\u53C2\u6570\u5B57\u5178"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<node>.<key>"}),", ",(0,s.jsx)(n.code,{children:"<node>.args.<key>"}),": \u8FD4\u56DE\u9009\u9879/\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"node"})," \u7684\u53C2\u6570\u5B57\u5178\u4E2D ",(0,s.jsx)(n.code,{children:"key"})," \u952E\u5BF9\u5E94\u7684\u503C"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u4EE5\u53CA:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"options.<opt>"}),": \u8FD4\u56DE\u9009\u9879 ",(0,s.jsx)(n.code,{children:"opt"})," \u7684\u89E3\u6790\u7ED3\u679C (OptionResult)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"options.<opt>.value"}),": \u8FD4\u56DE\u9009\u9879 ",(0,s.jsx)(n.code,{children:"opt"})," \u7684\u89E3\u6790\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"options.<opt>.args"}),": \u8FD4\u56DE\u9009\u9879 ",(0,s.jsx)(n.code,{children:"opt"})," \u7684\u89E3\u6790\u53C2\u6570\u5B57\u5178"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"options.<opt>.<key>"}),", ",(0,s.jsx)(n.code,{children:"options.<node>.args.<key>"}),": \u8FD4\u56DE\u9009\u9879 ",(0,s.jsx)(n.code,{children:"opt"})," \u7684\u53C2\u6570\u5B57\u5178\u4E2D ",(0,s.jsx)(n.code,{children:"key"})," \u952E\u5BF9\u5E94\u7684\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"subcommands.<subcmd>"}),": \u8FD4\u56DE\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"subcmd"})," \u7684\u89E3\u6790\u7ED3\u679C (SubcommandResult)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"subcommands.<subcmd>.value"}),": \u8FD4\u56DE\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"subcmd"})," \u7684\u89E3\u6790\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"subcommands.<subcmd>.args"}),": \u8FD4\u56DE\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"subcmd"})," \u7684\u89E3\u6790\u53C2\u6570\u5B57\u5178"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"subcommands.<subcmd>.<key>"}),", ",(0,s.jsx)(n.code,{children:"subcommands.<node>.args.<key>"}),": \u8FD4\u56DE\u5B50\u547D\u4EE4 ",(0,s.jsx)(n.code,{children:"subcmd"})," \u7684\u53C2\u6570\u5B57\u5178\u4E2D ",(0,s.jsx)(n.code,{children:"key"})," \u952E\u5BF9\u5E94\u7684\u503C"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u5143\u6570\u636Ecommandmeta",children:"\u5143\u6570\u636E(CommandMeta)"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Alconna"})," \u7684\u5143\u6570\u636E\u76F8\u5F53\u4E8E\u5176\u914D\u7F6E\uFF0C\u62E5\u6709\u4EE5\u4E0B\u6761\u76EE\uFF1A"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"description"}),": \u547D\u4EE4\u7684\u63CF\u8FF0"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"usage"}),": \u547D\u4EE4\u7684\u7528\u6CD5"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"example"}),": \u547D\u4EE4\u7684\u4F7F\u7528\u6837\u4F8B"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"author"}),": \u547D\u4EE4\u7684\u4F5C\u8005"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"fuzzy_match"}),": \u547D\u4EE4\u662F\u5426\u5F00\u542F\u6A21\u7CCA\u5339\u914D"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"fuzzy_threshold"}),": \u6A21\u7CCA\u5339\u914D\u9608\u503C"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"raise_exception"}),": \u547D\u4EE4\u662F\u5426\u629B\u51FA\u5F02\u5E38"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"hide"}),": \u547D\u4EE4\u662F\u5426\u5BF9 manager \u9690\u85CF"]}
1),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"hide_shortcut"}),": \u547D\u4EE4\u7684\u5FEB\u6377\u6307\u4EE4\u662F\u5426\u5728 help \u4FE1\u606F\u4E2D\u9690\u85CF"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"keep_crlf"}),": \u547D\u4EE4\u89E3\u6790\u65F6\u662F\u5426\u4FDD\u7559\u6362\u884C\u5B57\u7B26"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"compact"}),": \u547D\u4EE4\u662F\u5426\u5141\u8BB8\u7B2C\u4E00\u4E2A\u53C2\u6570\u7D27\u968F\u5934\u90E8"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"strict"}),": \u547D\u4EE4\u662F\u5426\u4E25\u683C\u5339\u914D\uFF0C\u82E5\u4E3A False \u5219\u672A\u77E5\u53C2\u6570\u5C06\u4F5C\u4E3A\u540D\u4E3A $extra \u7684\u53C2\u6570"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"context_style"}),": \u547D\u4EE4\u4E0A\u4E0B\u6587\u63D2\u503C\u7684\u98CE\u683C\uFF0CNone \u4E3A\u5173\u95ED\uFF0Cbracket \u4E3A ",(0,s.jsx)(n.code,{children:"{...}"}),"\uFF0Cparentheses \u4E3A ",(0,s.jsx)(n.code,{children:"$(...)"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"extra"}),": \u547D\u4EE4\u7684\u81EA\u5B9A\u4E49\u989D\u5916\u4FE1\u606F"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u5143\u6570\u636E\u4E00\u5B9A\u4F7F\u7528 ",(0,s.jsx)(n.code,{children:"meta=..."})," \u5F62\u5F0F\u4F20\u5165\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, CommandMeta\n\nalc = Alconna(..., meta=CommandMeta("foo", example="bar"))\n'})}),"\n",(0,s.jsx)(n.h2,{id:"\u547D\u540D\u7A7A\u95F4\u914D\u7F6E",children:"\u547D\u540D\u7A7A\u95F4\u914D\u7F6E"}),"\n",(0,s.jsxs)(n.p,{children:["\u547D\u540D\u7A7A\u95F4\u914D\u7F6E \uFF08\u4EE5\u4E0B\u7B80\u79F0\u547D\u540D\u7A7A\u95F4\uFF09 \u76F8\u5F53\u4E8E ",(0,s.jsx)(n.code,{children:"Alconna"})," \u7684\u9ED8\u8BA4\u914D\u7F6E\uFF0C\u5176\u4F18\u5148\u5EA6\u4F4E\u4E8E ",(0,s.jsx)(n.code,{children:"CommandMeta"}),"\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Alconna"}),' \u9ED8\u8BA4\u4F7F\u7528 "Alconna" \u547D\u540D\u7A7A\u95F4\u3002']}),"\n",(0,s.jsx)(n.p,{children:"\u547D\u540D\u7A7A\u95F4\u6709\u4EE5\u4E0B\u51E0\u4E2A\u5C5E\u6027\uFF1A"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"name: \u547D\u540D\u7A7A\u95F4\u540D\u79F0"}),"\n",(0,s.jsx)(n.li,{children:"prefixes: \u9ED8\u8BA4\u524D\u7F00\u914D\u7F6E"}),"\n",(0,s.jsx)(n.li,{children:"separators: \u9ED8\u8BA4\u5206\u9694\u7B26\u914D\u7F6E"}),"\n",(0,s.jsx)(n.li,{children:"formatter_type: \u9ED8\u8BA4\u683C\u5F0F\u5316\u5668\u7C7B\u578B"}),"\n",(0,s.jsx)(n.li,{children:"fuzzy_match: \u9ED8\u8BA4\u662F\u5426\u5F00\u542F\u6A21\u7CCA\u5339\u914D"}),"\n",(0,s.jsx)(n.li,{children:"raise_exception: \u9ED8\u8BA4\u662F\u5426\u629B\u51FA\u5F02\u5E38"}),"\n",(0,s.jsx)(n.li,{children:"builtin_option_name: \u9ED8\u8BA4\u7684\u5185\u7F6E\u9009\u9879\u540D\u79F0(--help, --shortcut, --comp)"}),"\n",(0,s.jsx)(n.li,{children:"disable_builtin_options: \u9ED8\u8BA4\u7981\u7528\u7684\u5185\u7F6E\u9009\u9879(--help, --shortcut, --comp)"}),"\n",(0,s.jsx)(n.li,{children:"enable_message_cache: \u9ED8\u8BA4\u662F\u5426\u542F\u7528\u6D88\u606F\u7F13\u5B58"}),"\n",(0,s.jsx)(n.li,{children:"compact: \u9ED8\u8BA4\u662F\u5426\u5F00\u542F\u7D27\u51D1\u6A21\u5F0F"}),"\n",(0,s.jsx)(n.li,{children:"strict: \u547D\u4EE4\u662F\u5426\u4E25\u683C\u5339\u914D"}),"\n",(0,s.jsx)(n.li,{children:"context_style: \u547D\u4EE4\u4E0A\u4E0B\u6587\u63D2\u503C\u7684\u98CE\u683C"}),"\n",(0,s.jsx)(n.li,{children:"..."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u65B0\u5EFA\u547D\u540D\u7A7A\u95F4\u5E76\u66FF\u6362",children:"\u65
1B0\u5EFA\u547D\u540D\u7A7A\u95F4\u5E76\u66FF\u6362"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, namespace, Namespace, Subcommand, Args, config\n\n\nns = Namespace(\n "foo", prefixes=["/"]\n) # \u521B\u5EFA "foo"\u547D\u540D\u7A7A\u95F4\u914D\u7F6E, \u5B83\u8981\u6C42\u521B\u5EFA\u7684Alconna\u7684\u4E3B\u547D\u4EE4\u524D\u7F00\u5FC5\u987B\u662F/\n\nalc = Alconna(\n "pip", Subcommand("install", Args["package", str]), namespace=ns\n) # \u5728\u521B\u5EFAAlconna\u65F6\u5019\u4F20\u5165\u547D\u540D\u7A7A\u95F4\u4EE5\u66FF\u6362\u9ED8\u8BA4\u547D\u540D\u7A7A\u95F4\n\n# \u53EF\u4EE5\u901A\u8FC7with\u65B9\u5F0F\u521B\u5EFA\u547D\u540D\u7A7A\u95F4\nwith namespace("bar") as np1:\n np1.prefixes = [\n "!"\n ] # \u4EE5\u4E0A\u4E0B\u6587\u7BA1\u7406\u5668\u65B9\u5F0F\u914D\u7F6E\u547D\u540D\u7A7A\u95F4\uFF0C\u6B64\u65F6\u914D\u7F6E\u4F1A\u81EA\u52A8\u6CE8\u5165\u4E0A\u4E0B\u6587\u5185\u521B\u5EFA\u7684\u547D\u4EE4\n np1.formatter_type = ShellTextFormatter # \u8BBE\u7F6E\u6B64\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u547D\u4EE4\u7684 formatter \u9ED8\u8BA4\u4E3A ShellTextFormatter\n np1.builtin_option_name["help"] = {\n "\u5E2E\u52A9",\n "-h",\n } # \u8BBE\u7F6E\u6B64\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u547D\u4EE4\u7684\u5E2E\u52A9\u9009\u9879\u540D\u79F0\n\n# \u4F60\u8FD8\u53EF\u4EE5\u4F7F\u7528config\u6765\u7BA1\u7406\u6240\u6709\u547D\u540D\u7A7A\u95F4\u5E76\u5207\u6362\u81F3\u4EFB\u610F\u547D\u540D\u7A7A\u95F4\nconfig.namespaces["foo"] = ns # \u5C06\u547D\u540D\u7A7A\u95F4\u6302\u8F7D\u5230 config \u4E0A\n\nalc = Alconna(\n "pip",\n Subcommand("install", Args["package", str]),\n namespace=config.namespaces["foo"],\n) # \u4E5F\u662F\u540C\u6837\u53EF\u4EE5\u5207\u6362\u5230"foo"\u547D\u540D\u7A7A\u95F4\n'})}),"\n",(0,s.jsx)(n.h3,{id:"\u4FEE\u6539\u9ED8\u8BA4\u7684\u547D\u540D\u7A7A\u95F4",children:"\u4FEE\u6539\u9ED8\u8BA4\u7684\u547D\u540D\u7A7A\u95F4"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import config, namespace, Namespace\n\n\nconfig.default_namespace.prefixes = [...] # \u76F4\u63A5\u4FEE\u6539\u9ED8\u8BA4\u914D\u7F6E\n\nnp = Namespace("xxx", prefixes=[...])\nconfig.default_namespace = np # \u66F4\u6362\u9ED8\u8BA4\u7684\u547D\u540D\u7A7A\u95F4\n\nwith namespace(config.default_namespace.name) as np:\n np.prefixes = [...]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"\u5FEB\u6377\u6307\u4EE4",children:"\u5FEB\u6377\u6307\u4EE4"}),"\n",(0,s.jsx)(n.p,{children:"\u5FEB\u6377\u547D\u4EE4\u53EF\u4EE5\u505A\u5230\u6807\u8BC6\u4E00\u6BB5\u547D\u4EE4, \u5E76\u4E14\u4F20\u9012\u53C2\u6570\u7ED9\u539F\u547D\u4EE4"}),"\n",(0,s.jsxs)(n.p,{children:["\u4E00\u822C\u60C5\u51B5\u4E0B\u4F60\u53EF\u4EE5\u901A\u8FC7 ",(0,s.jsx)(n.code,{children:"Alconna.shortcut"})," \u8FDB\u884C\u5FEB\u6377\u6307\u4EE4\u64CD\u4F5C (\u521B\u5EFA\uFF0C\u5220\u9664)"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"shortcut"})," \u7684\u7B2C\u4E00\u4E2A\u53C2\u6570\u4E3A\u5FEB\u6377\u6307\u4EE4\u540D\u79F0\uFF0C\u7B2C\u4E8C\u4E2A\u53C2\u6570\u4E3A ",(0,s.jsx)(n.code,{children:"ShortcutArgs"}),"\uFF0C\u4F5C\u4E3A\u5FEB\u6377\u6307\u4EE4\u7684\u914D\u7F6E\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'class ShortcutArgs(TypedDict):\n """\u5FEB\u6377\u6307\u4EE4\u53C2\u6570"""\n\n command: NotRequired[str]\n """\u5FEB\u6377\u6307\u4EE4\u7684\u547D\u4EE4"""\n args: NotRequired[list[Any]]\n """\u5FEB\u6377\u6307\u4EE4\u7684\u9644\u5E26\u53C2\u6570"""\n fuzzy: NotRequired[bool]\n """\u662F\u5426\u5141\u8BB8\u547D\u4EE4\u540E\u968F\u53C2\u6570"""\n prefix: NotRequired[bool]\n """\u662F\u5426\u8C03\u7528\u65F6\u4FDD\u7559\u6307\u4EE4\u524D\u7F00"""\n wrapper: NotRequired[ShortcutRegWrapper]\n """\u5FEB\u6377\u6307\u4EE4\u7684\u6B63\u5219\u5339\u914D\u7ED3\u679C\u7684\u989D\u5916\u5904\u7406\u51FD\u6570"""\n humanized: NotRequired[str]\n """\u5FEB\u6377\u6307\u4EE4\u7684\u4EBA\u7C7B\u53EF\u8BFB\u63CF\u8FF0"""\n'})}),"\n",(0,s.jsx)(n.h3,{id:"args\u7684\u4F7F\u7528",children:"args\u7684\u4F7F\u7528"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args\n\n\nalc = Alconna("setu", Args["count", int])\n\nalc.shortcut("\u6DA9\u56FE(\\d+)\u5F20", {"args": ["{0}"]})\n# \'Alconna::setu \u7684\u5FEB\u6377\u6307\u4EE4: "\u6DA9\u56FE(\\\\d+)\u5F20" \u6DFB\u52A0\u6210\u529F\'\n\nalc.parse("\u6DA9\u56FE3\u5F20").query("count")\n# 3\n'})}),"\n",(0,s.jsx)(n.h3,{id:"command\u7684\u4F7F\u7528",children:"command\u7684\u4F7F\u7528"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args\n\n\nalc = Alconna("eval", Args["content", str])\n\nalc.shortcut("echo", {"command": "eval print(\\\\\'{*}\\\\\')"})\n# \'Alconna::eval \u7684\u5FEB\u6377\u6307\u4EE4: "echo" \u6DFB\u52A0\u6210\u529F\'\n\nalc.shortcut("echo", delete=True) # \u5220\u9664\u5FEB\u6377\u6307\u4EE4\n# \'Alconna::eval \u7684\u5FEB\u6377\u6307\u4EE4: "echo" \u5220\u9664\u6210\u529F\'\n\n\[email protected]() # \u7ED1\u5B9A\u4E00\u4E2A\u547D\u4EE4\u6267\u884C\u5668, \u82E5\u5339\u914D\u6210\u529F\u5219\u4F1A\u4F20\u5165\u53C2\u6570, \u81EA\u52A8\u6267\u884C\u547D\u4EE4\u6267\u884C\u5668\ndef cb
1(content: str):\n eval(content, {}, {})\n\n\nalc.parse(\'eval print(\\\\"hello world\\\\")\')\n# hello world\n\nalc.parse("echo hello world!")\n# hello world!\n'})}),"\n",(0,s.jsxs)(n.p,{children:["\u5F53 ",(0,s.jsx)(n.code,{children:"fuzzy"})," \u4E3A False \u65F6\uFF0C\u7B2C\u4E00\u4E2A\u4F8B\u5B50\u4E2D\u4F20\u5165 ",(0,s.jsx)(n.code,{children:'"\u6DA9\u56FE1\u5F20 abc"'})," \u4E4B\u7C7B\u7684\u5FEB\u6377\u6307\u4EE4\u5C06\u89C6\u4E3A\u89E3\u6790\u5931\u8D25"]}),"\n",(0,s.jsx)(n.p,{children:"\u5FEB\u6377\u6307\u4EE4\u5141\u8BB8\u4E09\u7C7B\u7279\u6B8A\u7684 placeholder\uFF1A"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{%X}"}),": \u5982 ",(0,s.jsx)(n.code,{children:"setu {%0}"}),"\uFF0C\u8868\u793A\u6B64\u5904\u586B\u5165\u5FEB\u6377\u6307\u4EE4\u540E\u968F\u7684\u7B2C X \u4E2A\u53C2\u6570\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u4F8B\u5982\uFF0C\u82E5\u5FEB\u6377\u6307\u4EE4\u4E3A ",(0,s.jsx)(n.code,{children:"\u6DA9\u56FE"}),", \u914D\u7F6E\u4E3A ",(0,s.jsx)(n.code,{children:'{"command": "setu {%0}"}'}),", \u5219\u6307\u4EE4 ",(0,s.jsx)(n.code,{children:"\u6DA9\u56FE 1"})," \u76F8\u5F53\u4E8E ",(0,s.jsx)(n.code,{children:"setu 1"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"{*}"}),": \u8868\u793A\u6B64\u5904\u586B\u5165\u6240\u6709\u540E\u968F\u53C2\u6570\uFF0C\u5E76\u4E14\u53EF\u4EE5\u901A\u8FC7 ",(0,s.jsx)(n.code,{children:"{*X}"})," \u7684\u65B9\u5F0F\u6307\u5B9A\u7EC4\u5408\u53C2\u6570\u4E4B\u95F4\u7684\u5206\u9694\u7B26\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"{X}"}),": \u8868\u793A\u6B64\u5904\u586B\u5165\u53EF\u80FD\u7684\u6B63\u5219\u5339\u914D\u7684\u7EC4\uFF1A"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["\u82E5 ",(0,s.jsx)(n.code,{children:"command"})," \u4E2D\u5B58\u5728\u5339\u914D\u7EC4 ",(0,s.jsx)(n.code,{children:"(xxx)"}),"\uFF0C\u5219 ",(0,s.jsx)(n.code,{children:"{X}"})," \u8868\u793A\u7B2C X \u4E2A\u5339\u914D\u7EC4\u7684\u5185\u5BB9"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["\u82E5 ",(0,s.jsx)(n.code,{children:"command"})," \u4E2D\u5B58\u50A8\u5339\u914D\u7EC4 ",(0,s.jsx)(n.code,{children:"(?P<xxx>...)"}),", \u5219 ",(0,s.jsx)(n.code,{children:"{X}"})," \u8868\u793A ",(0,s.jsx)(n.strong,{children:"\u540D\u5B57"})," \u4E3A X \u7684\u5339\u914D\u7ED3\u679C"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u9664\u6B64\u4E4B\u5916, \u901A\u8FC7 ",(0,s.jsx)(n.strong,{children:"Alconna"})," \u5185\u7F6E\u9009\u9879 ",(0,s.jsx)(n.code,{children:"--shortcut"})," \u53EF\u4EE5\u52A8\u6001\u64CD\u4F5C\u5FEB\u6377\u6307\u4EE4"]}),"\n",(0,s.jsx)(n.p,{children:"\u4F8B\u5982\uFF1A"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"cmd --shortcut <key> <cmd>"})," \u6765\u589E\u52A0\u4E00\u4E2A\u5FEB\u6377\u6307\u4EE4"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"cmd --shortcut list"})," \u6765\u5217\u51FA\u5F53\u524D\u6307\u4EE4\u7684\u6240\u6709\u5FEB\u6377\u6307\u4EE4"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"cmd --shortcut delete key"})," \u6765\u5220\u9664\u4E00\u4E2A\u5FEB\u6377\u6307\u4EE4"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args\n\n\nalc = Alconna("eval", Args["content", str])\n\nalc.shortcut("echo", {"command": "eval print(\\\\\'{*}\\\\\')"})\n\nalc.parse("eval --shortcut list")\n# \'echo\'\n'})}),"\n",(0,s.jsx)(n.h2,{id:"\u7D27\u51D1\u547D\u4EE4",children:"\u7D27\u51D1\u547D\u4EE4"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Alconna"}),", ",(0,s.jsx)(n.code,{children:"Option"})," \u4E0E ",(0,s.jsx)(n.code,{children:"Subcommand"})," \u53EF\u4EE5\u8BBE\u7F6E ",(0,s.jsx)(n.code,{children:"compact=True"})," \u4F7F\u5F97\u89E3\u6790\u547D\u4EE4\u65F6\u5141\u8BB8\u540D\u79F0\u4E0E\u540E\u968F\u53C2\u6570\u4E4B\u95F4\u6CA1\u6709\u5206\u9694\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Option, CommandMeta, Args\n\n\nalc = Alconna(\n "test",\n Args["foo", int],\n Option("BAR", Args["baz", str], compact=True),\n meta=CommandMeta(compact=True),\n)\n\nassert alc.parse("test123 BARabc").matched\n'})}),"\n",(0,s.jsx)(n.p,{children:"\u8FD9\u4F7F\u5F97\u6211\u4EEC\u53EF\u4EE5\u5B9E\u73B0\u5982\u4E0B\u547D\u4EE4\uFF1A"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Option, Args, append\n\n\nalc = Alconna(\n "gcc", Option("--flag|-F", Args["content", str], action=append, compact=True)\n)\nprint(alc.parse("gcc -Fabc -Fdef -Fxyz").query[list]("flag.content"))\n# [\'abc\', \'def\', \'xyz\']\n'})}),"\n",(0,s.jsxs)(n.p,{children:["\u5F53 ",(0,s.jsx)(n.code,{children:"Option"})," \u7684 ",(0,s.jsx)(n.code,{children:"action"})," \u4E3A ",(0,s.jsx)(n.code,{children:"count"})," \u65F6\uFF0C\u5176\u81EA\u52A8\u652F\u6301 ",(0,s.jsx)(n.code,{children:"compact"})," \u7279\u6027\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Option, count\n\n\nalc = Alconna("pp", Option("--verbose|-v", action=count, default=0))\nprint(alc.parse("pp -vvv").query[int]("verbose.value"))\n# 3\n'})}),"\n",(0,s.jsx)(n.h2,{id:"\u6A21\u7CCA\u5339\u914D",children:"\u6A21\u7CCA\u5339\u914D"}),"\n",(0,s.jsxs)(n.p,{children:["\u6A21\u7CCA\u5339\u914D\u4F1A\u5E94\u7528\u5728\u4EFB\u610F\u9700\u8981\u8FDB\u884C\u540D\u79F0\u5224\u65AD\u7684\u5730\u65B9\uFF0C\u5982 ",(0,s.jsx)(n.strong,{children:"\u547D\u4EE4\u540D\u79F0"}),"\uFF0C",(0,s.jsx)(n.strong,{children:"\u9009\u9879\u540D\u79F0"})," \u548C ",(0,s.jsx)(n.strong,{children:"\u53C2\u6570\u540D\u79F0"})," (\u5982\u6307\u5B9A\u9700\u8981\u4F20\u5165\u53C2\u6570\u540D\u79F0)\u3002"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, CommandMeta\n\n\nalc = Alconna("test_fuzzy", meta=CommandMeta(fuzzy_match=True))\n\nalc.parse("test_fuzy")\n# test_fuzy is not matched. Do you mean "test_fuzzy"?\n'})}),"\n",(0,s.jsx)(n.h2,{id:"\u534A\u81EA\u52A8\u8865\u5168",children:"\u534A\u81EA\u52A8\u8865\u5168"}),"\n",(0,s.jsx)(n.p,{children:"\u534A\u81EA\u52A8\u8865\u5168\u4E3A\u7528\u6237\u63D0\u4F9B\u4E86\u63A8\u8350\u540E\u7EED\u8F93\u5165\u7684\u529F\u80FD"}),"\n",(0,s.jsxs)(n.p,{children:["\u8865\u5168\u9ED8\u8BA4\u901A\u8FC7 ",(0,s.jsx)(n.code,{children:"--comp"})," \u6216 ",(0,s.jsx)(n.code,{children:"-cp"})," \u6216 ",(0,s.jsx)(n.code,{children:"?"})," \u89E6\u53D1\uFF1A\uFF08\u547D\u540D\u7A7A\u95F4\u914D\u7F6E\u53EF\u4FEE\u6539\u540D\u79F0\uFF09"]}
1),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args, Option\n\n\nalc = Alconna("test", Args["abc", int]) + Option("foo") + Option("bar")\nalc.parse("test --comp")\n\n"""\noutput\n\n\u4EE5\u4E0B\u662F\u5EFA\u8BAE\u7684\u8F93\u5165\uFF1A\n* <abc: int>\n* --help\n* -h\n* -sct\n* --shortcut\n* foo\n* bar\n"""\n'})}),"\n",(0,s.jsx)(n.h2,{id:"duplication",children:"Duplication"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Duplication"})," \u7528\u6765\u63D0\u4F9B\u66F4\u597D\u7684\u81EA\u52A8\u8865\u5168\uFF0C\u7C7B\u4F3C\u4E8E ",(0,s.jsx)(n.strong,{children:"ArgParse"})," \u7684 ",(0,s.jsx)(n.strong,{children:"Namespace"})]}),"\n",(0,s.jsxs)(n.p,{children:["\u666E\u901A\u60C5\u51B5\u4E0B\u4F7F\u7528\uFF0C\u9700\u8981\u5229\u7528\u5230 ",(0,s.jsx)(n.strong,{children:"ArgsStub"}),"\u3001",(0,s.jsx)(n.strong,{children:"OptionStub"})," \u548C ",(0,s.jsx)(n.strong,{children:"SubcommandStub"})," \u4E09\u4E2A\u90E8\u5206"]}),"\n",(0,s.jsx)(n.p,{children:"\u4EE5pip\u4E3A\u4F8B\uFF0C\u5176\u5BF9\u5E94\u7684 Duplication \u5E94\u5982\u4E0B\u6784\u9020:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"from arclet.alconna import (\n Alconna,\n Args,\n Option,\n OptionResult,\n Duplication,\n SubcommandStub,\n Subcommand,\n count,\n)\n\n\nclass MyDup(Duplication):\n verbose
1: OptionResult\n install: SubcommandStub\n\n\nalc = Alconna(\n \"pip\",\n Subcommand(\n \"install\",\n Args[\"package\", str],\n Option(\"-r|--requirement\", Args[\"file\", str]),\n Option(\"-i|--index-url\", Args[\"url\", str]),\n ),\n Option(\"-v|--version\"),\n Option(\"-v|--verbose\", action=count),\n)\n\nres = alc.parse(\"pip -v install ...\") # \u4E0D\u4F7F\u7528duplication\u83B7\u5F97\u7684\u63D0\u793A\u8F83\u5C11\nprint(res.query(\"install\"))\n# (value=Ellipsis args={'package': '...'} options={} subcommands={})\n\nresult = alc.parse(\"pip -v install ...\", duplication=MyDup)\nprint(result.install)\n# SubcommandStub(_origin=Subcommand('install', args=Args('package': str)), _value=Ellipsis, available=True, args=ArgsStub(_origin=Args('package': str), _value={'package': '...'}, available=True), dest='install', options=[OptionStub(_origin=Option('requirement', args=Args('file': str)), _value=None, available=False, args=ArgsStub(_origin=Args('file': str), _value={}, available=False), dest='requirement', aliases=['r', 'requirement'], name='requirement'), OptionStub(_origin=Option('index-url', args=Args('url': str)), _value=None, available=False, args=ArgsStub(_origin=Args('url': str), _value={}, available=False), dest='index-url', aliases=['index-url', 'i'], name='index-url')], subcommands=[], name='install')\n"})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Duplication"})," \u4E5F\u53EF\u4EE5\u5982 ",(0,s.jsx)(n.strong,{children:"Namespace"})," \u4E00\u6837\u76F4\u63A5\u6807\u660E\u53C2\u6570\u540D\u79F0\u548C\u7C7B\u578B\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"from typing import Optional\nfrom arclet.alconna import Duplication\n\n\nclass MyDup(Duplication):\n package: str\n file: Optional[str] = None\n url: Optional[str] = None\n"})}),"\n",(0,s.jsx)(n.h2,{id:"\u4E0A\u4E0B\u6587\u63D2\u503C",children:"\u4E0A\u4E0B\u6587\u63D2\u503C"}),"\n",(0,s.jsxs)(n.p,{children:["\u5F53 ",(0,s.jsx)(n.code,{children:"context_style"})," \u6761\u76EE\u88AB\u8BBE\u7F6E\u540E\uFF0C\u4F20\u5165\u7684\u547D\u4EE4\u4E2D\u7B26\u5408\u4E0A\u4E0B\u6587\u63D2\u503C\u7684\u5B57\u6BB5\u4F1A\u88AB\u81EA\u52A8\u66FF\u6362\u6210\u5F53\u524D\u4E0A\u4E0B\u6587\u4E2D\u7684\u4FE1\u606F\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u4E0A\u4E0B\u6587\u53EF\u4EE5\u5728 ",(0,s.jsx)(n.code,{children:"parse"})," \u4E2D\u4F20\u5165\uFF1A"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from arclet.alconna import Alconna, Args, CommandMeta\n\nalc = Alconna("test", Args["foo", int], meta=CommandMeta(context_style="parentheses"))\n\nalc.parse("test $(bar)", {"bar": 123})\n# {"foo": 123}\n'})}),"\n",(0,s.jsx)(n.p,{children:"context_style \u7684\u503C\u5206\u4E24\u79CD\uFF1A"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"bracket"'}),": \u63D2\u503C\u683C\u5F0F\u4E3A ",(0,s.jsx)(n.code,{children:"{...}"}),"\uFF0C\u4F8B\u5982 ",(0,s.jsx)(n.code,{children:"{foo}"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"parentheses"'}),": \u63D2\u503C\u683C\u5F0F\u4E3A ",(0,s.jsx)(n.code,{children:"$(...)"}),"\uFF0C\u4F8B\u5982 ",(0,s.jsx)(n.code,{children:"$(bar)"})]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},43023(e,n,c){c.d(n,{R:()=>d,x:()=>i});var l=c(63696);let s={},r=l.createContext(s);function d(e){let n=l.useContext(r);return l.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.