Alconna 1.7.0 #77
RF-Tar-Railt
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
此版本为长期支持版本 (LTS), 也是 2.0 版本前的最后一个版本
破坏性改动:
ShortcutArgs不再需要options, 其合并至argsAlconna.parse移除参数interrupt, 由CompSession替代NEPattern0.5 以上版本tarina替代部分功能DataCollectionContainer,Analyser,handle_xxx和analyser_xxx等移动至
arclet.alconna._internalDataCollectionContainer重命名为ArgvArgv.config移出为独立函数argv_configArgv.text_sign现在是Argv.to_text, 其返回值为str | None新增:
Option新增参数compact, 允许选项名后的第一个参数紧随其头部Option新增参数default, 允许设置选项的默认值:OptionResult, 除非其为NoneOptionResult会被直接使用OptionResultSubcommand新增参数default, 允许设置子命令的默认值SubcommandResult, 除非其为NoneSubcommandResult会被直接使用SubcommandResultCommandMeta与Namespace新增compact属性, 允许命令传入的第一个参数紧随其头部Namespace新增to_text属性, 其与Argv.to_text一致CompSession, 用于交互式命令补全session.available: 表示当前补全会话是否可用session.current(): 当前选中的补全选项的文本session.tab([, offset]): 切换补全选项session.enter([, content]): 确认当前补全选项Alconna的名字与前缀无传入时,取用 sys.argv[0] 作为其名字Alconna现支持__call__, 即直接调用实例; 当命令名与 sys.argv[0] 接近时, 传入命令不需要输入命令头Action改动, 现在Action功能更接近于argparse:store: 默认的 action, 存放...或default的值store_value,store_true,store_false: 存放特殊值append: 追加...或default的值append_value: 追加特殊值count: 计数store_xxx,count: 最新的 args 结果会覆盖上一次append_xxx: 此次的 args 结果会与之前的合并成列表set_default_argv_type函数, 用于设置默认的Argv类型CommandMeta.example现在会将$替换为可能的命令前缀Completion选项增加别名'?'改进:
name与requires合成的dest也会去掉name的前缀Argv不再是Analyser的属性, 而是其方法的传入参数compile函数现在作为Alconna的方法ShortcutArgs增加fuzzy参数, 用于指定该快捷命令是否允许后随参数, 默认为True{%X_n}来引用传入的快捷命令的第 n 个参数{*(SEP)}来引用传入的快捷命令的所有参数, 其中 SEP 为可选的分隔符set_default的arg,option,subcommand合并为path, 原参数仍可用Arg中name的后缀标识符不强制需要';'作为分割, 即foo;?与foo?等价Argv.preprocessor与Argv.filter_out现在接收 type 而不是 strAlconna.reset_behaviors修复:
anti args的 bugFormatter.remove的 bugThis discussion was created from the release Alconna 1.7.0.
Beta Was this translation helpful? Give feedback.
All reactions