【发布时间】:2016-04-08 14:40:30
【问题描述】:
我正在尝试将控制台添加到我的 Ruby cli 应用程序(很像 Rails 控制台),但我似乎找不到满足我需要的解决方案:
- 着色和语法高亮
- 能够传入变量或使用当前上下文
我想使用pry,但我不知道如何在会话开始时禁止打印代码上下文。我希望它立即开始会话,除了提示之外不打印任何内容。
以下是在 pry 会话开始时当前打印的内容:
Frame number: 0/8
From: <file_path> @ line <#> <Class>#<method>:
71: def console
72: client_setup
73: puts "Console Connected to #{@client.url}"
74: puts 'HINT: The @client object is available to you'
75: rescue StandardError => e
76: puts "WARNING: Couldn't connect to #{@client.url}"
77: ensure
78: Pry.config.prompt = proc { "> " }
79: binding.pry
=> 80: end
>
这就是我想要的:
>
我也尝试了其他一些解决方案,但每个解决方案都有我的问题:
- IRB:没有着色,似乎无法自定义
- ripl:没有着色或语法高亮
这里的任何帮助将不胜感激!
【问题讨论】:
-
看起来你正试图让你的程序加载 Pry,但我认为正确的解决方案是让 Pry 加载你的程序。将要在 Pry 提示出现之前运行的代码放在名为
setup.rb的文件中。然后使用pry -r setup.rb开始 Pry。