diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2020-02-18 23:38:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-18 23:38:52 -0800 |
commit | e8f160c82f8d4809320699630e07a7e5f4537e77 (patch) | |
tree | d4b6c45adac6dc5cffe3623c298da7fdd673fc08 /runtime/lua/vim/shared.lua | |
parent | 521b79c0f85625f99ff626935484a1225360f820 (diff) | |
parent | f3d4ddd0f8b654d58fb4653d88ac7f652e3ad364 (diff) | |
download | rneovim-e8f160c82f8d4809320699630e07a7e5f4537e77.tar.gz rneovim-e8f160c82f8d4809320699630e07a7e5f4537e77.tar.bz2 rneovim-e8f160c82f8d4809320699630e07a7e5f4537e77.zip |
Merge #11895 'lsp: fix textDocument/completion handling'
Diffstat (limited to 'runtime/lua/vim/shared.lua')
-rw-r--r-- | runtime/lua/vim/shared.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua index 6eb7a970e4..498992aa2e 100644 --- a/runtime/lua/vim/shared.lua +++ b/runtime/lua/vim/shared.lua @@ -135,6 +135,36 @@ function vim.tbl_values(t) return values end +--- Apply a function to all values of a table. +--- +--@param func function or callable table +--@param t table +function vim.tbl_map(func, t) + vim.validate{func={func,'c'},t={t,'t'}} + + local rettab = {} + for k, v in pairs(t) do + rettab[k] = func(v) + end + return rettab +end + +--- Filter a table using a predicate function +--- +--@param func function or callable table +--@param t table +function vim.tbl_filter(func, t) + vim.validate{func={func,'c'},t={t,'t'}} + + local rettab = {} + for _, entry in pairs(t) do + if func(entry) then + table.insert(rettab, entry) + end + end + return rettab +end + --- Checks if a list-like (vector) table contains `value`. --- --@param t Table to check |