问题标签 [optparse-applicative]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zsh - optparse-applicative zsh 完成脚本期间的 compadd 失败
所以我不确定这是否与 optparse-applicative 的脚本有问题,或者我是否使用错误。
在 optparse-applicative自述文件中,它指出程序可以通过自动完成脚本获得,并带有 zsh 选项。对于我的程序setup
:
输出:
我在我的 zshrc 中运行以下内容(我使用了 oh-my-zsh,但我删除了它,这仍然发生在一个最低限度的配置中,只添加了一个小的 PATH 来获取setup
脚本)。
我多次收到以下错误:
/dev/fd/11:compadd:24: can only be called from completion function
我已经运行compinit
了,完成脚本对我来说似乎是正确的,我环顾四周,但我似乎无法弄清楚为什么会发生这个错误......
haskell - Parsing CLI options for a product type
I want to parse command line options corresponding to a product type resembling below.
For simplicity I did not add "long" and "help" here with flag'.
The above is what I have right now. It may also be that "d" itself is another sum type. In this the problem is each of the a, b, c values I need to specify on the command line.
How do I specify such that either of a, b or c may not be specified and the CLI parser still works. Currently if I do not pass even one of a, b or c the parser fails with an error message. I understand that my builder construction is incorrect, but, I am not able to grasp how to fix it. Hope I have described the problem correctly, if not please let me know.
haskell - 如何部分解析产品类型
是否可以部分解析产品类型?Config 是具有成员 a、b 和 c 的产品类型,并假设它来自库,所以我无法重新定义它。我只想解析a和b而不关心c。但是,由于“解析器配置”只能具有如下结构
由于是一种产品类型,如果我不给出“PC”,它就会出错。如何正确处理这种情况?
haskell - optparse-applicative 非空字符串参数
如何实现非空字符串参数?
如何防止它成功解析空字符串 - ""
?
以前有 Parsec/Attoparsec 的经验,我假设我可以编写自己的解析器,或者可能使用一些应用程序来检查值以及fail
它是否是空字符串(我认为这是不可能的,因为我需要一个 Monad)?
haskell - 使用 OptParse-Applicative 将用户选项解析为自定义数据类型
我正在尝试构建一个 CLI 食品日记应用程序。
这是我希望解析用户输入的数据类型。
而且因为有很多重叠,所以我总共有 8 个Parser a
类型的函数。
像这样的功能
如果最终有这样的功能的想法
MT
可以处理error
+的单子转换器在哪里IO
?还不确定。
问题是:如何设置parseArgs
功能
和parser
功能
这样我就可以解析用户输入JournalCommand
,然后将数据返回给相关函数。
我知道我可以fmap
这样的数据类型
作为
但是我不确定如何使用我的原始数据结构来做到这一点。
我想我需要一个这样的列表[Mod CommandFields JournalCommand]
,我可以subparser
通过连接列表来传递给函数Mod
。我不完全确定。
haskell - optparse-applicative bash 自动补全是如何工作的?
我正在构建一个brainfuck 编译器。可执行文件接受两个命令$ brainfuck compile ...
和$ brainfuck run
. 我希望可执行文件在按选项卡时自动完成。例如,写入$ brainfuck com
然后按 tab 应该生成$ brainfuck compile
.
optparse 的 github page here上有一个部分,但我不是很明白。
该功能看起来与我已经在使用的功能completeWith :: Options.Applicative.Builder.Internal.HasCompleter f => [String] -> Mod f a
非常相似。command :: String -> ParserInfo a -> Mod CommandFields a
所以我想我可以使用它并将它们与它们结合起来,<>
但事实证明这CommandFields
不是HasCompleter
.
你应该如何让自动完成工作?
haskell - 使用 optparse 应用程序的子命令帮助
我对 optparse-applicative 有两个问题:(我将这些问题放在一起,因为很可能存在一个潜在的误解)。
据说用法是:(COMMAND | COMMAND)
犯罪 cli - 处理犯罪模板并部署命令
用法:(COMMAND | COMMAND) CRIME 的 CLI
我希望它实际列出程序的名称(非交互式)并列出命令,但我不知道如何为特定的子命令添加元数据。
- 当我尝试获取特定子命令的帮助时,我收到有关缺少必需参数的消息。(
stack exec 命令行-exe -- DeployStack --help
以下是我构建帮助的方式:
** Main.hs **
haskell - optparse-applicative 与自定义 monad
我正在尝试将我自己的 monad(而不是IO
)与customExecParser
https://hackage.haskell.org/package/optparse-applicative-0.15.1.0/docs/Options-Applicative-Extra.html#v:customExecParser一起使用。
所以我最终得到了(重要的功能是fff
):
但是,上述方法的唯一缺点是fmap
需要所需的次数(匹配xyzz
or中的函数参数xyzz
)。我确实记得以前遇到过这类问题。有什么方法可以避免这种情况(并且只需要调用一个函数)?
理想情况下,我希望为此有一个 monad 转换器,但不幸的是,这似乎只能实现IO
。
haskell - optparse-applicative 解析器由于部分输入被消耗而失败
使用上面的代码和以下参数::set args --aaa test --bbb test2
结果:
我怎样才能成功解析第二种情况(关于example2
)?
该问题似乎与strOption (long "aaa")
两个解析器中都存在的解析器代码有关。是否有替代方案(<|>)
可以实现所需的行为?
haskell - 使用 optparse-applicative 制作“可选”解析器并为递归数据类型构造值
我有一个数据类型叫做EntrySearchableInfo
这样写
基本上代表在“搜索”上下文中有意义的事物。
我想用这种类型写一个函数
这(我认为)将是Parser <Type>
我已经编写的几个原始函数的组合
所以我有两个问题:
我如何结合这些解析器来制作
entrySearchableInfoParser
函数。EntrySearchableInfo
Entry
type 是像这样定义的更大类型的一部分
我已经有一个类型的函数
哪个构造Entry
使用Add
.
但我不确定如何Entry
使用Replace
withentrySearchableInfoParser
和进行类型entryAdd
。