aboutsummaryrefslogtreecommitdiff
path: root/runtime/ftplugin/lua.lua
diff options
context:
space:
mode:
authorPhạm Bình An <111893501+brianhuster@users.noreply.github.com>2025-03-15 23:44:53 +0700
committerGitHub <noreply@github.com>2025-03-15 09:44:53 -0700
commitf5714994bc4fc578b5f07bca403e7067e6d9b5a0 (patch)
tree9dae28d3e05330e782366e6d9cd7944544557f4c /runtime/ftplugin/lua.lua
parentafdad5c76ec5a5ad1c3e3d21d168ed3d9349ba8c (diff)
downloadrneovim-f5714994bc4fc578b5f07bca403e7067e6d9b5a0.tar.gz
rneovim-f5714994bc4fc578b5f07bca403e7067e6d9b5a0.tar.bz2
rneovim-f5714994bc4fc578b5f07bca403e7067e6d9b5a0.zip
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
Diffstat (limited to 'runtime/ftplugin/lua.lua')
-rw-r--r--runtime/ftplugin/lua.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/ftplugin/lua.lua b/runtime/ftplugin/lua.lua
index 75deb6b190..e0f7e95cf6 100644
--- a/runtime/ftplugin/lua.lua
+++ b/runtime/ftplugin/lua.lua
@@ -1,4 +1,9 @@
-- 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.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<'