Emacs中Lua自动补全支持

3

我非常喜欢emacs中的自动补全模式。它在Ruby、Python、Clojure、JavaScript等语言中表现出色,但不支持Lua。有没有一种简单的方法让它支持Lua呢?或者需要大量的工作。我正在阅读Haskell扩展。

http://madscientist.jp/~ikegami/diary/20090215.html#p01

我认为添加Lua应该不太困难,有人知道如何做吗?

也许如果您知道其他支持Lua的Emacs自动完成系统会对我有所帮助...我不需要非常复杂的东西,只要我的Emacs显示预定义的单词列表(也许我会创建一个包含Lua关键字的文件,然后Emacs显示它)和我使用过的单词即可。

1个回答

3
为了获得基本的自动完成功能,只需打开文件auto-complete.el并将lua-mode添加到此定义中:
(defcustom ac-modes
  '(emacs-lisp-mode
    lisp-interaction-mode
    c-mode cc-mode c++-mode
    java-mode clojure-mode scala-mode
    scheme-mode
    ocaml-mode tuareg-mode
    perl-mode cperl-mode python-mode ruby-mode
    ecmascript-mode javascript-mode js-mode js2-mode php-mode css-mode
    makefile-mode sh-mode fortran-mode f90-mode ada-mode
    xml-mode sgml-mode)
  "Major modes `auto-complete-mode' can run on."
  :type '(repeat symbol)
  :group 'auto-complete)

按C-x C-e键对表达式进行评估,或重新启动Emacs,下次打开lua缓冲区时将自动启用auto-complete模式。如果语义支持lua,则可以使用语义后端提供更丰富的完成建议;要进行更多自定义设置,请参阅优秀的用户手册


2
嗯,比编辑 auto-complete.el 更好的选择是像 (eval-after-load "auto-complete" '(add-to-list 'ac-modes 'lua-mode)) 这样的东西。 - sanityinc
而更好的方法是向作者提交问题报告 - 一个非常乐于助人的人,他会在很短的时间内将其添加到上游版本中 :-) - Bozhidar Batsov
当然可以!那将是理想的。 - sanityinc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接