diff options
author | Phạm Bình An <111893501+brianhuster@users.noreply.github.com> | 2025-02-23 22:57:16 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-23 07:57:16 -0800 |
commit | f398e3a61abbf802b49867d2f533be1b0725c0d7 (patch) | |
tree | aa60e7cab8688434bdd435b809a198a08dc05631 | |
parent | b28373638848c0532bea346f48083c7e65f2d8f6 (diff) | |
download | rneovim-f398e3a61abbf802b49867d2f533be1b0725c0d7.tar.gz rneovim-f398e3a61abbf802b49867d2f533be1b0725c0d7.tar.bz2 rneovim-f398e3a61abbf802b49867d2f533be1b0725c0d7.zip |
feat(ftplugin): set Lua 'omnifunc' to vim.lua_omnifunc #32491
Problem:
- Many other ftplugin have defined 'omnifunc', but the Lua one doesn't
define one, even though there is `vim.lua_omnifunc()`
- Users may want "stupid" completion to fix Lua config with
`nvim --clean` in case they breaks it
Solution:
Set 'omnifunc' to 'v:lua.vim.lua_omnifunc' in ftplugin/lua.lua
-rw-r--r-- | runtime/doc/insert.txt | 5 | ||||
-rw-r--r-- | runtime/doc/news.txt | 3 | ||||
-rw-r--r-- | runtime/ftplugin/lua.lua | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index 06f1a4e73d..8072b41466 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1502,6 +1502,11 @@ both major engines implemented element, even if this is not in standards it will be suggested. All other elements are not placed in suggestion list. +LUA *ft-lua-omni* + +Lua |ftplugin| sets 'omnifunc' to |vim.lua_omnifunc()|. + + PHP *ft-php-omni* Completion of PHP code requires a tags file for completion of data from diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt index 05d14600f8..e8ec6d1820 100644 --- a/runtime/doc/news.txt +++ b/runtime/doc/news.txt @@ -239,6 +239,9 @@ DEFAULTS • |[b|, |]b|, |[B|, |]B| navigate through the |buffer-list| • |[<Space>|, |]<Space>| add an empty line above and below the cursor +• Options: + • Lua |ftplugin| sets |'omnifunc'| to `"v:lua.vim.lua_omnifunc"`. + • Snippet: • `<Tab>` in Insert and Select mode maps to `vim.snippet.jump({ direction = 1 })` when a snippet is active and jumpable forwards. diff --git a/runtime/ftplugin/lua.lua b/runtime/ftplugin/lua.lua index 75deb6b190..e2a7631b29 100644 --- a/runtime/ftplugin/lua.lua +++ b/runtime/ftplugin/lua.lua @@ -1,4 +1,7 @@ -- use treesitter over syntax vim.treesitter.start() -vim.b.undo_ftplugin = (vim.b.undo_ftplugin or '') .. '\n call v:lua.vim.treesitter.stop()' +vim.bo.omnifunc = 'v:lua.vim.lua_omnifunc' + +vim.b.undo_ftplugin = (vim.b.undo_ftplugin or '') + .. '\n call v:lua.vim.treesitter.stop() \n setl omnifunc<' |