ruby - gem 二进制文件可以自带制表符补全吗?

标签 ruby bash shell rubygems

我开发了一个包含可执行脚本的 gem(在 ruby​​gems 术语中为 application file)。调用时,我想在给定目录(不是当前工作目录)中完成文件名,如下所示:

foo edit my<tab>

扩展为:

foo edit myfile

我能做的是包含一个安装 shell 补全的脚本。如果那是唯一的解决方案——很好。但我想知道是否有一种方法可以让用户从额外的步骤中解放出来,并直接在我的 gem 中包含完成。

那么:有没有办法让 gem 自带 tab 补全?

最佳答案

当您键入启动脚本的命令时,您的脚本尚未运行。当它们仍在被键入时,它不能干预对它自己的参数的处理。如果可能,您可以让 gem 文件安装一个 bash 完成文件并修改用户的 ~/.bashrc 文件以在安装过程中加载它们。

关于ruby - gem 二进制文件可以自带制表符补全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625229/

相关文章:

ruby-on-rails - 在 rake 任务中接受来自控制台/命令提示符的用户输入

linux - 用 rsync 替换除一个文件之外的所有文件

linux - 通过 ssh 传递外部 shell 脚本变量

linux - 需要搜索模式并打印其下一个值

bash - 如何使用 bash (ag) 转义 PCRE 模式

ruby - 将方法作为参数传递

ruby-on-rails - 有必要把Unicorn放在Nginx(或Apache)后面吗

ruby - 有效检查整个帐户的未读计数

bash - 使用 Bash 在特定行之前插入多行文本

linux - 如何将标准压缩到文件中并将标准打印到标准输出?