-
Notifications
You must be signed in to change notification settings - Fork 4
/
init.lua
43 lines (43 loc) · 1.58 KB
/
init.lua
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
local prof=require'ultimate-autopair.prof_init'
local debug=require'ultimate-autopair.debug'
local default=require'ultimate-autopair.default'
local core=require'ultimate-autopair.core'
local M={}
function M.toggle() core.disable=not core.disable end
function M.enable() core.disable=false end
function M.disable() core.disable=true end
function M.isenabled() return not core.disable end
function M.list()
vim.ui.select(core.mem,{format_item=function (item)
return (item.pair or (item.map and vim.inspect(item.map)) or ';;;;')
..' '..(item.doc or '')
end},function (_,idx)
vim.cmd.vnew()
local buf=vim.api.nvim_create_buf(false,true)
vim.api.nvim_set_option_value('bufhidden','wipe',{buf=buf})
local win=vim.api.nvim_get_current_win()
vim.api.nvim_win_set_buf(win,buf)
vim.api.nvim_buf_set_lines(buf,0,-1,false,vim.split(vim.inspect(core.mem[idx]),'\n'))
end)
end
---@param conf? prof.config
function M.setup(conf)
if not M.skipversioncheck and vim.fn.has('nvim-0.9.0')~=1 then error('Requires at least version nvim-0.9.0') end
M.init({M.extend_default(conf or {})})
end
---@param configs? prof.config[]
function M.init(configs)
M._configs=configs
debug.run(core.clear,{})
debug.run(prof.init,{info=configs,args={configs or {},core.mem}})
debug.run(core.init,{info=configs})
end
function M.clear()
debug.run(core.clear,{})
end
---@param conf prof.config
---@return prof.config
function M.extend_default(conf)
return vim.tbl_deep_extend('force',default.conf,conf or {})
end
return M