NonGNU ELPA - lua-mode


a major-mode for editing Lua scripts
lua-mode-20210802.tar, 2021-Aug-07, 140 KiB
2011-2013 immerrr <>
Home page
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET lua-mode RET

Full description


Maintainer: immerrr <>

lua-mode is an Emacs major mode for editing Lua files. For
documentation, including installation instructions, please see

Please send bug reports and suggestions to the maintainer, or use the
trackers at github:


* Release v20151025
** allow setting lua-indent-level as file local variable (issue #108)

** add luadoc keyword fontification (issue #71)

** fix comments being spilled into the code (issue #25)

** add `run-lua' alias for `lua-start-process' (issue #97)

** skip shebang line when sending to inferior buffer (issue #61)

** add builtin functions and modules for Lua 5.3 (issue #90)

** fix lua-beginning-of-proc matching (issue #85)

** add `lua-documentation-function' to customize the way the documentation is
   shown, rename `lua-search-url-prefix' to `lua-documentation-url',
   auto-detect lua documentation installed in /usr/share/doc/lua (issue #82)

** fix some errors with `lua-kill-process' (issue #69)

** improve `next-error' integration in Lua subprocess buffer: "stdin:N:"
   entries are no longer highlighted and no longer prompt for "stdin" files

* release v20140514

** add support for Lua 5.2 goto statements

** when indenting, don't anchor to block-open tokens
            don't indent next line relative to this brace

** fix several `indent-new-comment-line'-related bugs

** add support for local functions in imenu (issue #65)

** fix font lock of functions with underscores (issue #63)

** don't send shebang when sending lua buffer to subprocess (issue #61)

** fix interaction with electric-pair-mode (issue #54)

** rewrite lua-send-region to use "loadstring" rather than "dofile"
   - sending code to processes on remote hosts is now supported
   - stack traces for errors occurred in sent code point to proper lines in files
   - script path is preserved when sending code (issue #55)
   - no more hang ups when waiting for input (issue #48) or after sending code
     with no output (issue #60)

** increase consistency with Emacs ecosystem to improve user experience
   - fix character syntax hacks: '.' is now punctuation and '_' is now symbol
   - remove number highlighting
   - font-lock "nil", "true" and "false" as constants rather than keywords

** make builtin font-locking more stable, enable it after ".." operator

** add missing modulo operator (%) to line-continuation tokens

** fix interaction with electric-pair-mode (issue #54)

** when unindenting block-close tokens consider all of them, not just the first one
     x = foobar('arg1', function ()
     ^ this line starts with two block-close tokens and is unindented

* Release rel-20130419
** highlight hash-bang line as comment

** make lua-mode-hook editable via customize

** fix several indentation bugs & quirks

** fix lua-send-proc not to send previous function when point is at the beginning of a function

** derive lua-mode from prog-mode for Emacs24

** add font-locking for builtins and numeric constants

** fix a bug causing exponential complexity in a keyword matching regexp

** add more unindentation cases for block-closing tokens

** improve multiline highlighting via font-lock-syntactic-keywords
   This should make font-locking of multiline literals more fluent & stable.  And
   it becomes customizable via standard font-lock configuration

** properly fontify variable definitions in 'local ...' & 'for ...'
   Also, perform some basic syntax verification in those lines.  Multi-line
   constructs not supported yet.

** fix indentation for blocks starting on continued lines
     local foo =
        }  ^
           1. these lines should be indented properly now
     2. the following lines should be unindented properly now

** extend imenu-generic-expression
   Now it matches 'foo = function(...)' function definitions