根据应用程序名称猜测文件结尾

根据应用程序名称猜测文件结尾

在 bash-completion 中标签完成文件名并且应用程序具有首选的文件扩展名,bash 将智能地猜测它。

举个例子

evince test/te --*tab*--> evince test/test.pdf

即使该文件夹中有 test.tex、test.jpg 等文件。

有没有办法让 awesome prompt 以类似的方式猜测文件扩展名?

答案1

在您的代码中rc.lua,您可以修改调用awful.prompt并指定附加参数completion_callback。请参阅 lua 文档awful.promptawful.completion。我快速搜索了一下,找到了论坛帖子提供了示例awful.completion.bash

答案2

在我的 rc.lua 中我定义了几个辅助函数

local function shellcomp(command,cur_pos,ncomp)
   return awful.completion.shell(command,cur_pos,ncomp,"bash")
end

local function run_promptbox()
   awful.prompt.run{
   prompt = 'Run: ',
   text = '',
   textbox= awful.screen.focused().mypromptbox.widget,
   completion_callback=shellcomp
   }
end

然后将以下内容放入globalkeys(替换 modkey+r 上的任何先前绑定)。

awful.key({ modkey },  "r", run_promptbox,  {description = "run prompt", group = "launcher"}),

相关内容