mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
feat(runtime): Lua ftplugin sets 'omnifunc', 'foldexpr' #32697
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 - Nvim doesn't port Lua foldexpr from Vim Solution: - Set 'omnifunc' to 'v:lua.vim.lua_omnifunc' in ftplugin/lua.lua - Set 'foldexpr' to use treesitter
This commit is contained in:
@@ -1506,6 +1506,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.
|
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*
|
PHP *ft-php-omni*
|
||||||
|
|
||||||
Completion of PHP code requires a tags file for completion of data from
|
Completion of PHP code requires a tags file for completion of data from
|
||||||
|
@@ -246,6 +246,10 @@ DEFAULTS
|
|||||||
• 'number', 'relativenumber', 'signcolumn', and 'foldcolumn' are disabled in
|
• 'number', 'relativenumber', 'signcolumn', and 'foldcolumn' are disabled in
|
||||||
|terminal| buffers. |terminal-config| shows how to change these defaults.
|
|terminal| buffers. |terminal-config| shows how to change these defaults.
|
||||||
|
|
||||||
|
• Options:
|
||||||
|
• Lua |ftplugin| sets 'omnifunc' to "v:lua.vim.lua_omnifunc".
|
||||||
|
• Lua |ftplugin| sets 'foldexpr' to "v:lua.vim.treesitter.foldexpr()".
|
||||||
|
|
||||||
• Snippet:
|
• Snippet:
|
||||||
• `<Tab>` in Insert and Select mode maps to `vim.snippet.jump({ direction = 1 })`
|
• `<Tab>` in Insert and Select mode maps to `vim.snippet.jump({ direction = 1 })`
|
||||||
when a snippet is active and jumpable forwards.
|
when a snippet is active and jumpable forwards.
|
||||||
|
@@ -1,4 +1,9 @@
|
|||||||
-- use treesitter over syntax
|
-- use treesitter over syntax
|
||||||
vim.treesitter.start()
|
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.wo[0][0].foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
||||||
|
|
||||||
|
vim.b.undo_ftplugin = (vim.b.undo_ftplugin or '')
|
||||||
|
.. '\n call v:lua.vim.treesitter.stop()'
|
||||||
|
.. '\n setl omnifunc< foldexpr<'
|
||||||
|
Reference in New Issue
Block a user