-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit.lua
More file actions
107 lines (93 loc) · 3.04 KB
/
Copy pathinit.lua
File metadata and controls
107 lines (93 loc) · 3.04 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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
-- Plugin manager: vim.pack (built-in, Neovim 0.13+)
-- vim.pack.add() loads plugins, auto-installing from source if needed.
-- Lockfile: nvim-pack-lock.json (auto-generated)
-- :lua vim.pack.update() — update plugins; :write to confirm
-- :lua vim.pack.del({ ... }) — delete plugins
-- See :h vim.pack-examples, :h vim.pack-events
_G.Config = {}
vim.pack.add { 'https://github.com/nvim-mini/mini.nvim' }
local misc = require 'mini.misc'
Config.now = function(f)
misc.safely('now', f)
end
Config.later = function(f)
misc.safely('later', f)
end
Config.now_if_args = vim.fn.argc(-1) > 0 and Config.now or Config.later
Config.on_event = function(ev, f)
misc.safely('event:' .. ev, f)
end
Config.on_filetype = function(ft, f)
misc.safely('filetype:' .. ft, f)
end
local gr = vim.api.nvim_create_augroup('custom-config', {})
Config.new_autocmd = function(event, pattern, callback, desc)
vim.api.nvim_create_autocmd(event, { group = gr, pattern = pattern, callback = callback, desc = desc })
end
Config.on_packchanged = function(plugin_name, kinds, callback, desc)
local f = function(ev)
local name, kind = ev.data.spec.name, ev.data.kind
if not (name == plugin_name and vim.tbl_contains(kinds, kind)) then
return
end
if not ev.data.active then
vim.cmd.packadd(plugin_name)
end
callback(ev.data)
end
Config.new_autocmd('PackChanged', '*', f, desc)
end
-- Step one: things needed for the first screen draw
Config.now(function()
vim.cmd.colorscheme 'base16'
require 'config.options'
require 'config.keymaps'
require 'config.autocmds'
require('mini.misc').setup()
MiniMisc.setup_restore_cursor()
MiniMisc.setup_auto_root()
require('mini.basics').setup {
options = { basic = true },
mappings = { option_toggle_prefix = [[\]], move_with_alt = true },
autocommands = { relnum_in_visual_mode = true },
silent = true,
}
require 'plugins.mini.statusline'
require 'plugins.mini.sessions'
require 'plugins.mini.tabline'
require 'plugins.mini.starter'
end)
Config.now_if_args(function()
require('mini.files').setup { windows = { preview = true } }
end)
-- Step two: everything else loaded later
Config.later(function()
require 'plugins.mini.init'
require 'plugins.snacks'
require 'plugins.treesitter'
require 'plugins.ts-autotag'
require 'plugins.completion'
require 'plugins.lspconfig'
require 'plugins.typescript'
require 'plugins.nvim-highlight-colors'
require 'plugins.fff'
require 'plugins.obsidian'
require 'plugins.render-markdown'
require 'plugins.formatting'
require 'plugins.linting'
require 'plugins.neogen'
require 'plugins.debugprint'
require 'plugins.rest'
require 'plugins.quicker'
require 'plugins.grug-far'
require 'plugins.sidekick'
require 'plugins.overseer'
require 'plugins.refactoring'
require 'plugins.trouble'
require 'plugins.dadbod'
-- require 'plugins.debug'
-- require 'plugins.neotest'
vim.pack.add { 'https://github.com/dstein64/vim-startuptime' }
vim.pack.add { 'https://github.com/aserowy/tmux.nvim' }
require('tmux').setup()
end)