我正在为旧的命令行工具编写一个 comint 模式。我想为其添加基本的自动完成功能。
假设我有以下工具使用的关键字列表:
(defconst my-keywords '("export" "extract" "display"))
如何根据此列表将自动完成添加到我的模式?
到目前为止我发现了什么: 我知道在 shell.el 或 comint.el 中有这样的例子,但我没有很好地理解代码来回答这个基本问题。我确实明白我可以用 my-keywords 构建一个正则表达式列表,如下所示:
(regexp-opt my-keywords)
;; output:
"\\(?:display\\|ex\\(?:\\(?:por\\|trac\\)t\\)\\)"
除此之外,我收集到我可以使用 pcomplete 或 company,或两者兼而有之——实际上我对任何解决方案都很好,但我该怎么做呢?