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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
local out = vim.fn.system({'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath})
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{'Failed to clone lazy.nvim:\n', 'ErrorMsg'},
{out, 'WarningMsg'},
{'\nPress any key to exit...'},
}, true, {})
vi.fn.getchar() -- let user ack
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
require('lazy').setup({
-- load plugin specs from ./plugins
spec = { { import = 'plugins' } },
-- colorscheme for installing plugins
install = { colorscheme = { 'default' } },
-- automatically check for plugin updates
checker = {
enabled = true,
frequency = (3600 * 24 * 3), -- 3 days
},
performance = {
rtp = {
disabled_plugins = {
'2html_plugin',
'getscript',
'getscriptPlugin',
'gzip',
'logiPat',
'matchit',
'netrw',
'netrwFileHandlers',
'netrwPlugin',
'netrwSettings',
'rrhelper',
'tar',
'tarPlugin',
'tohtml',
'tutor',
'vimball',
'vimballPlugin',
'zip',
'zipPlugin',
},
},
},
})
vim.keymap.set({'n'}, '<leader>l', '<nop>', { desc = 'lazy' })
vim.keymap.set({'n'}, '<leader>lz', '<cmd>Lazy<cr>', { desc = 'lazy: open ui' })
vim.keymap.set({'n'}, '<leader>ln', function()
local pname = 'TODO'
local ppath = vim.fn.stdpath('config') .. '/lua/plugins'
vim.ui.input({ prompt = 'Plugin name: ' }, function(input)
pname = input
end)
vim.cmd.cd(ppath)
vim.fn.setreg('a', [[return {
{
'$name',
cmd = {'$cmd'},
opts = {$opts},
keys = {
{ mode = {'n'}, '$lhs', '$rhs', desc = '$desc' },
},
}
}]])
local buf = vim.api.nvim_create_buf(true, false)
vim.api.nvim_buf_set_name(buf, pname .. '.lua')
vim.api.nvim_set_option_value('filetype', 'lua', { buf = buf })
vim.api.nvim_win_set_buf(0, buf)
require('luasnip.extras.otf').on_the_fly('a')
end, { desc = 'lazy: new plugin' })
|