aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_editor.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-09-16 23:10:30 +0100
committerLewis Russell <me@lewisr.dev>2023-09-20 13:42:41 +0100
commit877d04d0fb83b5fc602dbab22b58f26a793ec236 (patch)
tree2f6ee1af59ae412256116d8abf28a2a6f7b6d848 /runtime/lua/vim/_editor.lua
parent11865dbe3917a538617b2b7df31bf7375e292bc8 (diff)
downloadrneovim-877d04d0fb83b5fc602dbab22b58f26a793ec236.tar.gz
rneovim-877d04d0fb83b5fc602dbab22b58f26a793ec236.tar.bz2
rneovim-877d04d0fb83b5fc602dbab22b58f26a793ec236.zip
feat(lua): add vim.func._memoize
Memoizes a function, using a custom function to hash the arguments. Private for now until: - There are other places in the codebase that could benefit from this (e.g. LSP), but might require other changes to accommodate. - Invalidation of the cache needs to be controllable. Using weak tables is an acceptable invalidation policy, but it shouldn't be the only one. - I don't think the story around `hash_fn` is completely thought out. We may be able to have a good default hash_fn by hashing each argument, so basically a better 'concat'.
Diffstat (limited to 'runtime/lua/vim/_editor.lua')
-rw-r--r--runtime/lua/vim/_editor.lua1
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/lua/vim/_editor.lua b/runtime/lua/vim/_editor.lua
index 0215cae0cb..8322777633 100644
--- a/runtime/lua/vim/_editor.lua
+++ b/runtime/lua/vim/_editor.lua
@@ -29,6 +29,7 @@ for k, v in pairs({
treesitter = true,
filetype = true,
loader = true,
+ func = true,
F = true,
lsp = true,
highlight = true,