gpt4 book ai didi

haskell - cmdArgs bash 补全

转载 作者:行者123 更新时间:2023-12-02 10:59:49 26 4
gpt4 key购买 nike

cmdArgs package为 Haskell 提供命令选项解析。

基于文档 http://hackage.haskell.org/packages/archive/cmdargs/0.10.3/doc/html/System-Console-CmdArgs-Explicit.html#g:4 中的此页面及其来源http://hackage.haskell.org/packages/archive/cmdargs/0.10.3/doc/html/src/System-Console-CmdArgs-Explicit-Complete.html#Complete

它似乎能够支持 bash 完成,但我无法使其与解析器的隐式版本一起使用。 http://hackage.haskell.org/packages/archive/cmdargs/0.10.3/doc/html/System-Console-CmdArgs-Implicit.html

有人有这样做的例子吗?

编辑添加了一个更好的示例

如果我有这个程序

{-# LANGUAGE DeriveDataTypeable #-}
import System.Console.CmdArgs

data Sample = Sample {hello :: String}
deriving (Show, Data, Typeable)

sample = Sample{hello = def}

main = print =<< cmdArgs sample

with 解析以下选项

The sample program

sample [OPTIONS]

Common flags:
-h --hello=ITEM
-? --help Display help message
-V --version Print version information

如何使用 cmdArgs 的 bash 补全功能?

最佳答案

要使用 bash 补全,请将上述程序编译为 sample,将 sample 放在 $PATH 上,然后运行:

sample --help=bash > sample.comp
source sample.comp

您现在可以输入 sample --ver,按 Tab 键,它将完成为 sample --version

完成过程中有一些不恰当的地方,特别是程序必须位于您的 $PATH 上,如果您在 Windows 上,则需要运行 sample.comp通过dos2unix。它也完全没有文档记录,应该由包作者修复。

关于haskell - cmdArgs bash 补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com