在Pry中配置帮助输出

时间:2013-07-04 17:44:40

标签: ruby pry

有没有办法在Pry中自定义帮助系统?

我想要的是显示我custom commands的说明。现在,在REPL中输入help时,将打印所有Pry帮助文档。

例如:

当前的帮助输出:

Help
  help               Show a list of commands or information about a specific command

Context
  cd                 Move into a new context (object or scope).
  find-method        Recursively search for a method within a Class/Module or the current namespace.
  ls                 Show the list of vars and methods in the current scope.

 etc...

我想要删除Pry帮助列表:

Commands
  my-custom-command  description
  my-custom-command2 description

etc...

2 个答案:

答案 0 :(得分:2)

“编辑帮助”将在lib / pry /上的磁盘上编辑命令。这不是一个非常便携的解决方案! :) Pry有一个“命令集”的概念,一组命令。可以在Pry.commands中找到默认命令集。关于命令集的一个很酷的事情是你可以取消命令,或者添加新命令:)

CommandSet API不是很好。你不能说Pry.commands [“help”] = other_command。不过你可以这样说:

# Solution 1 (add a Pry::ClassCommand).
Pry.commands.delete "help"
Pry.commands.add_command MyHelpCommand

# Solution 2 (replaces Pry's help with a Pry::BlockCommand).
Pry.commands.command "help" do
  output.puts "Helpin'"
end

这个API绝对可以使用一些工作。如果#[] =可以工作但是需要一些工作会很好 - 命令在创建时封装它们的名字。密钥需要重新分配为命令名称。如果你想尝试混合和匹配不同的pry命令,你一定要看看Pry :: CommandSet。

答案 1 :(得分:1)

你很幸运,因为它只是Ruby。

继续并输入edit help,它将打开Pry类进行编辑。修改了!

当然,欢迎您分叉项目,进行更改,创建gem并使用您的自定义将其安装到您的系统上。