init.lua/lua/core/utils.lua(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
local lsp_root_markers = { ".git" }
return {
---@param mode string|table
---@param from string
---@param to string|function
---@param buffer? integer|boolean
map = function(mode, from, to, buffer)
vim.keymap.set(mode, from, to, {
noremap = true,
silent = true,
buffer = buffer or false,
})
end,
aucmd = vim.api.nvim_create_autocmd,
---@param name string
---@return integer
augroup = function(name)
return vim.api.nvim_create_augroup("olexsmir_" .. name, { clear = true })
end,
lsp = {
default_markers = lsp_root_markers,
---@param extend? string[]
root_marker = function(extend)
if extend == nil then
return lsp_root_markers
end
local r = vim.deepcopy(lsp_root_markers)
for _, v in ipairs(extend) do
table.insert(r, v)
end
return r
end,
---@param extend? table
capabilities = function(extend)
return vim.tbl_extend(
"force",
vim.lsp.protocol.make_client_capabilities(),
extend or {}
)
end,
},
}
|