created by |
Peter Odding |
|
script type |
ftplugin |
|
description |
The Lua file type plug-in for Vim makes it easier to work with Lua source code in Vim by providing the following features:
The 'includeexpr' option is set so that the gf (go to file) mapping knows how to resolve Lua module names using package.path
The 'include' option is set so that Vim follows dofile(), loadfile() and require() calls when looking for identifiers in included files (this works together with the 'includeexpr' option)
An automatic command is installed that runs "luac -p" when you save your Lua scripts. If luac reports any errors they are shown in the quick-fix list and Vim jumps to the line of the first error. If "luac -p" doesnt report any errors a check for undefined global variables is performed by parsing the output of "luac -p -l"
<F1> on a Lua function or 'method' call will try to open the relevant documentation in the Lua Reference for Vim
The 'completefunc' option is set to allow completion of Lua 5.1 keywords, global variables and library members using Control-X Control-U
Several text-objects are defined so you can jump between blocks and functions
A pretty nifty hack of the matchit plug-in is included: When the cursor is on a function or return keyword the % mapping cycles between the relevant keywords (function, return, end), this also works for branching statements (if, elseif, else, end) and looping statements (for, while, repeat, until, end)
For more information about the plug-in please refer to its homepage or the project page on GitHub:
http://peterodding.com/code/vim/lua-ftplugin
http://github.com/xolox/vim-lua-ftplugin
If you have questions, bug reports, suggestions, etc. the author can be contacted at peter@peterodding.com. If you like this plug-in please vote for it below! |
|
install details |
Please note that the vim-lua-ftplugin plug-in requires my vim-misc plug-in which is separately distributed (see vimscript #4597).
Unzip the most recent ZIP archives of the vim-lua-ftplugin and vim-misc plug-ins inside your Vim profile directory (usually this is ~/.vim on UNIX and %USERPROFILE%\vimfiles on Windows), restart Vim and execute the command :helptags ~/.vim/doc (use :helptags ~\vimfiles\doc instead on Windows).
If you prefer you can also use Pathogen, Vundle or a similar tool to install & update the vim-lua-ftplugin and vim-misc plug-ins using a local clone of the git repository.
Now try it out: Edit a Lua script and try any of the features documented above.
Note that on Windows a command prompt window pops up whenever Lua is run as an external process. If this bothers you then you can install my shell.vim plug-in (vimscript #3123) which includes a DLL that works around this issue. Once youve installed both plug-ins it should work out of the box! |
|
Click on the package to download.
lua-ftplugin.zip |
0.8 |
2014-09-14 |
7.0 |
Peter Odding |
Make issues like #28 easier to debug: http://github.com/xolox/vim-lua-ftplugin/commit/5527820
Update docs to refer to correct option lua_omni_blacklist: http://github.com/xolox/vim-lua-ftplugin/commit/c9ee830
Provide option to inspect omni completion module loading list: http://github.com/xolox/vim-lua-ftplugin/commit/2c69923
Update to Lua 5.2 keywords and standard libraries: http://github.com/xolox/vim-lua-ftplugin/commit/50c7fc1 |
lua-ftplugin.zip |
0.7.23 |
2014-07-12 |
7.0 |
Peter Odding |
Make omni completion compatible with strict.lua (issue #27 on GitHub): http://github.com/xolox/vim-lua-ftplugin/commit/e7d3ce7 |
lua-ftplugin.zip |
0.7.22 |
2014-07-06 |
7.0 |
Peter Odding |
Add Lua 5.2 goto keyword to keyword completion candidates: http://github.com/xolox/vim-lua-ftplugin/commit/5d55a11
Reliably fix userdata errors that have been bugging users for a while: http://github.com/xolox/vim-lua-ftplugin/commit/4746f4d |
lua-ftplugin.zip |
0.7.21 |
2014-06-17 |
7.0 |
Peter Odding |
Map K for help lookup (in normal mode): http://github.com/xolox/vim-lua-ftplugin/commit/e3e7ab4
Pull request #19: Map K for help lookup (in normal mode): http://github.com/xolox/vim-lua-ftplugin/commit/090371f
Bug fix: Respect 'lua_interpreter_path' during search path discovery: http://github.com/xolox/vim-lua-ftplugin/commit/aa7a642
Make it possible to disable use of Lua Interface for Vim: http://github.com/xolox/vim-lua-ftplugin/commit/5d0ec87 |
lua-ftplugin.zip |
0.7.19 |
2014-06-16 |
7.0 |
Peter Odding |
Pull request #21: Allow module blacklisting in omni completion: http://github.com/xolox/vim-lua-ftplugin/commit/d85872c |
lua-ftplugin.zip |
0.7.18 |
2014-06-16 |
7.0 |
Peter Odding |
Use configured Lua compiler in globals.lua (reported in pull request #23): http://github.com/xolox/vim-lua-ftplugin/commit/96082b7 |
lua-ftplugin.zip |
0.7.17 |
2014-06-16 |
7.0 |
Peter Odding |
Document the global :LuaCheckSyntax and :LuaCheckGlobals commands: http://github.com/xolox/vim-lua-ftplugin/commit/624ee70
Make name/path of Lua interpreter configurable: http://github.com/xolox/vim-lua-ftplugin/commit/47123ba
Add parentheses to functions in overview of known globals: http://github.com/xolox/vim-lua-ftplugin/commit/7f4bbd9
Improve interaction between automatic syntax/globals checks: http://github.com/xolox/vim-lua-ftplugin/commit/1d7aaec
Try to resolve pull request #23 (workaround for table indexes in globals.lua): http://github.com/xolox/vim-lua-ftplugin/commit/9160dee |
lua-ftplugin.zip |
0.7.13 |
2013-08-31 |
7.0 |
Peter Odding |
Make setting of completefunc/omnifunc optional: http://github.com/xolox/vim-lua-ftplugin/commit/17e9003 |
lua-ftplugin.zip |
0.7.12 |
2013-08-19 |
7.0 |
Peter Odding |
Always include standard library modules in module name completion: http://github.com/xolox/vim-lua-ftplugin/commit/5157b16
Make sure vim-misc is installed, politely complain if it isn't: http://github.com/xolox/vim-lua-ftplugin/commit/73736ad |
lua-ftplugin.zip |
0.7.10 |
2013-05-25 |
7.0 |
Peter Odding |
Document vim-misc as external dependency (needs to be installed separately from now on): http://github.com/xolox/vim-lua-ftplugin/commit/a959a1b |
lua-ftplugin.zip |
0.7.8 |
2013-05-20 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/3e26c8a |
lua-ftplugin.zip |
0.7.7 |
2013-05-19 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/f7399b9 |
lua-ftplugin.zip |
0.7.6 |
2013-05-15 |
7.0 |
Peter Odding |
Option lua_define_completion_mappings (suggested by Daniel Fort): http://github.com/xolox/vim-lua-ftplugin/commit/0544e6f |
lua-ftplugin.zip |
0.7.5 |
2013-05-13 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/6e0c4b7 http://github.com/xolox/vim-lua-ftplugin/commit/9c88b0e |
lua-ftplugin.zip |
0.7.4 |
2013-05-12 |
7.0 |
Peter Odding |
Make omni completion compatible with the latest Lua Interface for Vim (contributed by Daniel Fort): http://github.com/xolox/vim-lua-ftplugin/commit/6caa0da http://github.com/xolox/vim-lua-ftplugin/commit/2f29afe
Bug fix: Properly escape Vim script strings in omnicomplete.lua: http://github.com/xolox/vim-lua-ftplugin/commit/b4f29a5 |
lua-ftplugin.zip |
0.7.3 |
2013-05-02 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/d956287 |
lua-ftplugin.zip |
0.7.2 |
2013-04-28 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/5c60686 |
lua-ftplugin.zip |
0.7.1 |
2013-04-20 |
7.0 |
Peter Odding |
Remove old documentation (sorry about that): http://github.com/xolox/vim-lua-ftplugin/commit/46466bb
Make compatibility with miscellaneous scripts explicit: http://github.com/xolox/vim-lua-ftplugin/commit/fbeb973 |
lua-ftplugin.zip |
0.7 |
2011-11-25 |
7.0 |
Peter Odding |
Bug fix for omnicomplete.lua: Strip newlines from generated output: http://github.com/xolox/vim-lua-ftplugin/commit/b14088c
Use shell.vim plug-in to execute Lua subprocesses (issue #2 on GitHub): http://github.com/xolox/vim-lua-ftplugin/commit/9b4c774 http://github.com/xolox/vim-lua-ftplugin/commit/0814a1b http://github.com/xolox/vim-lua-ftplugin/commit/bccf110 |
lua-ftplugin.zip |
0.6.28 |
2011-11-21 |
7.0 |
Peter Odding |
Work around &shellslash setting on Windows: http://github.com/xolox/vim-lua-ftplugin/commit/8e1812a |
lua-ftplugin.zip |
0.6.27 |
2011-11-15 |
7.0 |
Peter Odding |
Bug fix for dynamic completion after typing require(': http://github.com/xolox/vim-lua-ftplugin/commit/3e3d3dc
Make dofile(), loadfile(), ... trigger filename completion: http://github.com/xolox/vim-lua-ftplugin/commit/8cff1bd |
lua-ftplugin.zip |
0.6.25 |
2011-10-23 |
7.0 |
Peter Odding |
Bug fix: Don't perform automatic completion in strings/comments: http://github.com/xolox/vim-lua-ftplugin/commit/5cf57e0 |
lua-ftplugin.zip |
0.6.24 |
2011-10-16 |
7.0 |
Peter Odding |
Support Lua modules that don't create a global (omni completion): http://github.com/xolox/vim-lua-ftplugin/commit/3c49c27 |
lua-ftplugin.zip |
0.6.23 |
2011-09-25 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/50a844e |
lua-ftplugin.zip |
0.6.22 |
2011-09-04 |
7.0 |
Peter Odding |
Updated miscellaneous scripts: http://github.com/xolox/vim-lua-ftplugin/commit/048c493 |
lua-ftplugin.zip |
0.6.21 |
2011-08-28 |
7.0 |
Peter Odding |
Option handling with xolox#misc#option#get({name}, {default}) (this one took me some time to get right..): http://github.com/xolox/vim-lua-ftplugin/commit/e228b0e http://github.com/xolox/vim-lua-ftplugin/commit/0b1c06e http://github.com/xolox/vim-lua-ftplugin/commit/dc8a937 http://github.com/xolox/vim-lua-ftplugin/commit/05d45ea
Minor refactoring of omnicomplete.lua: http://github.com/xolox/vim-lua-ftplugin/commit/5bb59a2
Move version variable to autoload script: http://github.com/xolox/vim-lua-ftplugin/commit/b01ff5e |
lua-ftplugin.zip |
0.6.17 |
2011-06-18 |
7.0 |
Peter Odding |
Completion bug fix: Off by one in prefix selection: http://github.com/xolox/vim-lua-ftplugin/commit/865c32f |
lua-ftplugin.zip |
0.6.16 |
2011-06-18 |
7.0 |
Peter Odding |
Delete old Vim help files (never even noticed them :-S): http://github.com/xolox/vim-lua-ftplugin/commit/5d0ad12 |
lua-ftplugin.zip |
0.6.15 |
2011-06-18 |
7.0 |
Peter Odding |
F1: Fall back to Lua reference for Vim if it exists, :help otherwise: http://github.com/xolox/vim-lua-ftplugin/commit/feecf0d
Disable automatic checking of global variables (for now): http://github.com/xolox/vim-lua-ftplugin/commit/e15b7be
Define version as variable, include version in messages: http://github.com/xolox/vim-lua-ftplugin/commit/5e40f1c
Enable overriding of compiler arguments: http://github.com/xolox/vim-lua-ftplugin/commit/3c1ca42
Set quick-fix window title after syntax check: http://github.com/xolox/vim-lua-ftplugin/commit/b5ea380
Make completion use prefix matching instead of substring matching: http://github.com/xolox/vim-lua-ftplugin/commit/14d9067
Improve omni completion, add plugin/ script for autocmds: http://github.com/xolox/vim-lua-ftplugin/commit/63641c8 |
lua.zip |
0.6.8 |
2011-06-15 |
7.0 |
Peter Odding |
Add signatures of LuaSocket functions: http://github.com/xolox/vim-lua-ftplugin/commit/972cac7 |
lua.zip |
0.6.7 |
2011-06-14 |
7.0 |
Peter Odding |
Check for undefined global variables (automatically): http://github.com/xolox/vim-lua-ftplugin/commit/5466b62 |
lua.zip |
0.6.6 |
2011-06-14 |
7.0 |
Peter Odding |
Move static user completion data to separate auto-load script: http://github.com/xolox/vim-lua-ftplugin/commit/3aafd93
Several bug fixes and support for function signatures: http://github.com/xolox/vim-lua-ftplugin/commit/79a5476
Highlight syntax errors to make them stand out: http://github.com/xolox/vim-lua-ftplugin/commit/9e42b06
Improve omni completion: support for keywords, less clutter: http://github.com/xolox/vim-lua-ftplugin/commit/bfd5701 |
lua.zip |
0.6.2 |
2011-06-14 |
7.0 |
Peter Odding |
Completion of module names after typing require(': http://github.com/xolox/vim-lua-ftplugin/commit/ffaf36b |
lua.zip |
0.6.1 |
2011-06-14 |
7.0 |
Peter Odding |
Refactor search path handling, use Lua Interface for Vim when available: http://github.com/xolox/vim-lua-ftplugin/commit/6d68f3d |
lua.zip |
0.6 |
2011-06-14 |
7.0 |
Peter Odding |
Link to release on vim.org, support automatic update using GLVS plug-in: http://github.com/xolox/vim-lua-ftplugin/commit/9d68e7b
Support for omni completion by searching package.path and package.cpath: http://github.com/xolox/vim-lua-ftplugin/commit/6ee6a69 |
lua.zip |
0.5.6 |
2011-06-14 |
7.0 |
Peter Odding |
Initial upload |