-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser_api.lua
More file actions
44 lines (36 loc) · 1.15 KB
/
user_api.lua
File metadata and controls
44 lines (36 loc) · 1.15 KB
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
---@class UserAPI
local User = {}
function User.disable_netrw()
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
end
---@param commands? table<string, User.Commands.CmdSpec>
---@param verbose? boolean
function User.setup(commands, verbose)
require('user_api.check').validate({
commands = { commands, { 'table', 'nil' }, true },
verbose = { verbose, { 'boolean', 'nil' }, true },
})
verbose = verbose ~= nil and verbose or false
require('user_api.commands').setup(commands or {})
require('user_api.update').setup()
require('user_api.opts').setup()
require('user_api.distro').setup(verbose)
require('user_api.config.neovide').setup()
require('user_api.pickers').setup()
local desc = require('user_api.maps').desc
require('user_api.config.keymaps').set({
n = {
['<leader>U'] = { group = '+User API' },
['<leader><leader>'] = { require('user_api.pickers').run, desc('Select Picker') },
},
})
end
local M = setmetatable(User, { ---@type UserAPI
__index = User,
__newindex = function()
vim.notify('User API is Read-Only!', vim.log.levels.ERROR)
end,
})
return M
-- vim: set ts=2 sts=2 sw=2 et ai si sta: