my neovim config, who would've thought
1return {
2 ---@param mode string|table
3 ---@param from string
4 ---@param to string|function
5 ---@param buffer? integer|boolean
6 map = function(mode, from, to, buffer)
7 vim.keymap.set(mode, from, to, {
8 noremap = true,
9 silent = true,
10 buffer = buffer or false,
11 })
12 end,
13
14 aucmd = vim.api.nvim_create_autocmd,
15
16 ---@param name string
17 ---@return integer
18 augroup = function(name)
19 return vim.api.nvim_create_augroup("olexsmir_" .. name, { clear = true })
20 end,
21
22 lsp = {
23 ---get list of lsp servers connected to current buffer
24 ---@return string[]
25 get_clients = function()
26 return vim
27 .iter(vim.lsp.get_clients { bufnr = 0 })
28 :map(function(e)
29 return (e.name ~= "null-ls" and e.name) or nil
30 end)
31 :totable()
32 end,
33 },
34}