如何解决Fish中的--description选项如何使用? 点击 TAB:列出函数:显示函数的详细信息:
我注意到--description
选项是Fish shell语法中函数声明的一部分。
例如,/usr/share/fish/functions/abbr.fish
:
function abbr --description "Manage abbreviations"
…
end
但是,我从未见过使用它。以下命令均不执行我要完成的任务,即查看任何给定功能的描述(假设已定义):
> abbr --description
abbr: Unknown option “--description”
/usr/share/fish/functions/abbr.fish (line 6):
argparse -n abbr $options -- $argv
^
in function 'abbr' with arguments '--description'
> help --description
help: Unknown option “--description”
/usr/share/fish/functions/help.fish (line 3):
argparse -n help --max-args=1 $options -- $argv
^
in function 'help' with arguments '--description'
> help description # opens file:///usr/share/doc/fish/index.html in a browser (same functionality as `help`)
> help abbr # opens file:///usr/share/doc/fish/cmds/abbr.html in a browser (only works for built-in functions)
我在文档中没有看到有关此选项的任何信息。如果在那里,请指向我。
解决方法
正如@puffin 回答的那样,--description
选项是为您的函数定义添加一个 docstring。
但它不仅仅是“为开发人员”提供的东西,实际上它的设计目的是让用户在多个地方看到。
- 在TAB完成菜单中
- 在函数
type
的输出中 - 在
functions -vD
的输出中 funcname ( v erbose D etails)
示例,使用这个简单的函数定义:
mjl@jazz ~> function ... -d 'Go up two directory levels.'
../../
end
点击 TAB:
这是--description
|-d
的最用途。键入 后。 . TAB,这是 Fish 显示完成的方式(它添加了第三个 .
):
mjl@jazz ~> ...
.. ... (Go up two directory levels.) ../ (Directory,160B)
出现说明,让用户一眼就能看出...
是什么。
列出函数:
mjl@jazz ~> type ...
... is a function with definition
function ... --description 'Go up two directory levels.'
../../
end
显示函数的详细信息:
mjl@jazz ~> functions -vD ...
stdin
n/a
0
scope-shadowing
Go up two directory levels.
,
--description
选项用于提供对已定义函数的描述,当然abbr命令没有description选项,因为它属于function
命令(而abbr没有这样的选项)
查看鱼类文档:
- https://fishshell.com/docs/current/cmds/function.html#description
- https://fishshell.com/docs/current/cmds/abbr.html#options
您正在尝试使用abbr
选项调用--description
函数。对于开发人员而言,该选项更像是一种非常简单的“文档字符串”,并非旨在供最终用户使用。它是function
命令的一个选项,它不会在正在定义的函数中添加任何帮助字符串或其他功能。
采用fish_git_prompt
中定义的fish函数/usr/share/fish/functions/fish_git_prompt.fish
。它的完整定义是function fish_git_prompt --description "Prompt function for Git"
,并且说明中对此目的进行了非常简短的说明。这些描述非常重复,而且过于冗长,但对于可能含糊不清的短函数名更有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。