@heyitsiveen/dotfiles 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +176 -0
- package/dist/index.mjs +1445 -0
- package/dotfiles/macos/.claude/CLAUDE.md +13 -0
- package/dotfiles/macos/.claude/settings.json +38 -0
- package/dotfiles/macos/.claude.json +32 -0
- package/dotfiles/macos/.config/bat/config +27 -0
- package/dotfiles/macos/.config/bat/themes/Vercel.tmTheme +308 -0
- package/dotfiles/macos/.config/bat/themes/Vesper.tmTheme +357 -0
- package/dotfiles/macos/.config/btop/btop.conf +272 -0
- package/dotfiles/macos/.config/btop/themes/Solarized_Dark.theme +89 -0
- package/dotfiles/macos/.config/btop/themes/Vercel.theme +89 -0
- package/dotfiles/macos/.config/btop/themes/Vesper.theme +89 -0
- package/dotfiles/macos/.config/fish/conf.d/00-platform.fish +19 -0
- package/dotfiles/macos/.config/fish/conf.d/10-homebrew.fish +33 -0
- package/dotfiles/macos/.config/fish/conf.d/20-environment.fish +12 -0
- package/dotfiles/macos/.config/fish/conf.d/30-aliases.fish +52 -0
- package/dotfiles/macos/.config/fish/conf.d/40-fzf.fish +120 -0
- package/dotfiles/macos/.config/fish/conf.d/50-tools.fish +51 -0
- package/dotfiles/macos/.config/fish/conf.d/60-tmux.fish +19 -0
- package/dotfiles/macos/.config/fish/conf.d/70-tide.fish +31 -0
- package/dotfiles/macos/.config/fish/config.fish +30 -0
- package/dotfiles/macos/.config/fish/functions/_tide_palette_heyitsiveen.fish +101 -0
- package/dotfiles/macos/.config/fish/functions/_tide_palette_vercel.fish +94 -0
- package/dotfiles/macos/.config/fish/functions/_tide_palette_vesper.fish +100 -0
- package/dotfiles/macos/.config/fish/functions/backup.fish +43 -0
- package/dotfiles/macos/.config/fish/functions/fish_greeting.fish +5 -0
- package/dotfiles/macos/.config/fish/functions/reload-fish.fish +4 -0
- package/dotfiles/macos/.config/fish/functions/tide_palette.fish +21 -0
- package/dotfiles/macos/.config/ghostty/config +46 -0
- package/dotfiles/macos/.config/nvim/.neoconf.json +15 -0
- package/dotfiles/macos/.config/nvim/init.lua +2 -0
- package/dotfiles/macos/.config/nvim/lazy-lock.json +42 -0
- package/dotfiles/macos/.config/nvim/lazyvim.json +11 -0
- package/dotfiles/macos/.config/nvim/lua/config/autocmds.lua +8 -0
- package/dotfiles/macos/.config/nvim/lua/config/keymaps.lua +21 -0
- package/dotfiles/macos/.config/nvim/lua/config/lazy.lua +72 -0
- package/dotfiles/macos/.config/nvim/lua/config/options.lua +13 -0
- package/dotfiles/macos/.config/nvim/lua/plugins/colorscheme.lua +12 -0
- package/dotfiles/macos/.config/nvim/lua/plugins/editor.lua +366 -0
- package/dotfiles/macos/.config/nvim/lua/plugins/example.lua +197 -0
- package/dotfiles/macos/.config/nvim/lua/plugins/mason.lua +11 -0
- package/dotfiles/macos/.config/nvim/lua/plugins/oxc.lua +64 -0
- package/dotfiles/macos/.config/nvim/lua/plugins/ui.lua +123 -0
- package/dotfiles/macos/.config/nvim/stylua.toml +3 -0
- package/dotfiles/macos/.config/ripgrep/config +9 -0
- package/dotfiles/macos/.config/tmux/STATUSBAR REFERENCE.md +1183 -0
- package/dotfiles/macos/.config/tmux/keybinds.conf +124 -0
- package/dotfiles/macos/.config/tmux/notifications.conf +39 -0
- package/dotfiles/macos/.config/tmux/pane.conf +33 -0
- package/dotfiles/macos/.config/tmux/popup-window.conf +27 -0
- package/dotfiles/macos/.config/tmux/statusbar.conf +281 -0
- package/dotfiles/macos/.config/tmux/tmux.conf +94 -0
- package/dotfiles/macos/.config/wezterm/wezterm.lua +143 -0
- package/dotfiles/windows/.claude/CLAUDE.md +13 -0
- package/dotfiles/windows/.claude/settings.json +38 -0
- package/dotfiles/windows/.claude.json +32 -0
- package/dotfiles/windows/.config/bat/config +27 -0
- package/dotfiles/windows/.config/bat/themes/Vercel.tmTheme +308 -0
- package/dotfiles/windows/.config/bat/themes/Vesper.tmTheme +357 -0
- package/dotfiles/windows/.config/btop/btop.conf +251 -0
- package/dotfiles/windows/.config/btop/themes/Solarized_Dark.theme +89 -0
- package/dotfiles/windows/.config/btop/themes/Vercel.theme +89 -0
- package/dotfiles/windows/.config/btop/themes/Vesper.theme +89 -0
- package/dotfiles/windows/.config/nvim/.neoconf.json +15 -0
- package/dotfiles/windows/.config/nvim/init.lua +2 -0
- package/dotfiles/windows/.config/nvim/lazy-lock.json +42 -0
- package/dotfiles/windows/.config/nvim/lazyvim.json +11 -0
- package/dotfiles/windows/.config/nvim/lua/config/autocmds.lua +8 -0
- package/dotfiles/windows/.config/nvim/lua/config/keymaps.lua +21 -0
- package/dotfiles/windows/.config/nvim/lua/config/lazy.lua +72 -0
- package/dotfiles/windows/.config/nvim/lua/config/options.lua +13 -0
- package/dotfiles/windows/.config/nvim/lua/plugins/colorscheme.lua +12 -0
- package/dotfiles/windows/.config/nvim/lua/plugins/editor.lua +366 -0
- package/dotfiles/windows/.config/nvim/lua/plugins/example.lua +197 -0
- package/dotfiles/windows/.config/nvim/lua/plugins/mason.lua +11 -0
- package/dotfiles/windows/.config/nvim/lua/plugins/oxc.lua +64 -0
- package/dotfiles/windows/.config/nvim/lua/plugins/ui.lua +123 -0
- package/dotfiles/windows/.config/nvim/stylua.toml +3 -0
- package/dotfiles/windows/.config/omp-themes/solarized-dark.omp.toml +197 -0
- package/dotfiles/windows/.config/omp-themes/vercel.omp.toml +197 -0
- package/dotfiles/windows/.config/omp-themes/vesper.omp.toml +197 -0
- package/dotfiles/windows/.config/ripgrep/config +9 -0
- package/dotfiles/windows/.config/wezterm/wezterm.lua +88 -0
- package/dotfiles/windows/powershell/Profile.ps1 +36 -0
- package/dotfiles/windows/powershell/functions/Switch-PromptPalette.ps1 +37 -0
- package/dotfiles/windows/powershell/functions/backup.ps1 +39 -0
- package/dotfiles/windows/powershell/functions/reload-shell.ps1 +8 -0
- package/dotfiles/windows/powershell/modules/aliases.ps1 +44 -0
- package/dotfiles/windows/powershell/modules/environment.ps1 +13 -0
- package/dotfiles/windows/powershell/modules/fzf.ps1 +82 -0
- package/dotfiles/windows/powershell/modules/prompt.ps1 +25 -0
- package/dotfiles/windows/powershell/modules/tools.ps1 +52 -0
- package/package.json +72 -0
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
return {
|
|
2
|
+
{
|
|
3
|
+
"folke/snacks.nvim",
|
|
4
|
+
keys = {
|
|
5
|
+
-- Find Plugin File
|
|
6
|
+
{
|
|
7
|
+
"<leader>fP",
|
|
8
|
+
function()
|
|
9
|
+
Snacks.picker.files({
|
|
10
|
+
cwd = require("lazy.core.config").options.root,
|
|
11
|
+
})
|
|
12
|
+
end,
|
|
13
|
+
desc = "Find Plugin File",
|
|
14
|
+
},
|
|
15
|
+
-- Find files (respects .gitignore, shows hidden)
|
|
16
|
+
{
|
|
17
|
+
";f",
|
|
18
|
+
function()
|
|
19
|
+
Snacks.picker.files({
|
|
20
|
+
hidden = true,
|
|
21
|
+
})
|
|
22
|
+
end,
|
|
23
|
+
desc = "Lists files in your current working directory, respects .gitignore",
|
|
24
|
+
},
|
|
25
|
+
-- Live grep
|
|
26
|
+
{
|
|
27
|
+
";r",
|
|
28
|
+
function()
|
|
29
|
+
Snacks.picker.grep({
|
|
30
|
+
hidden = true,
|
|
31
|
+
})
|
|
32
|
+
end,
|
|
33
|
+
desc = "Search for a string in your current working directory",
|
|
34
|
+
},
|
|
35
|
+
-- Buffers
|
|
36
|
+
{
|
|
37
|
+
"\\\\",
|
|
38
|
+
function()
|
|
39
|
+
Snacks.picker.buffers()
|
|
40
|
+
end,
|
|
41
|
+
desc = "Lists open buffers",
|
|
42
|
+
},
|
|
43
|
+
-- Help tags
|
|
44
|
+
{
|
|
45
|
+
";t",
|
|
46
|
+
function()
|
|
47
|
+
Snacks.picker.help()
|
|
48
|
+
end,
|
|
49
|
+
desc = "Lists available help tags",
|
|
50
|
+
},
|
|
51
|
+
-- Resume
|
|
52
|
+
{
|
|
53
|
+
";;",
|
|
54
|
+
function()
|
|
55
|
+
Snacks.picker.resume()
|
|
56
|
+
end,
|
|
57
|
+
desc = "Resume the previous picker",
|
|
58
|
+
},
|
|
59
|
+
-- Diagnostics
|
|
60
|
+
{
|
|
61
|
+
";e",
|
|
62
|
+
function()
|
|
63
|
+
Snacks.picker.diagnostics()
|
|
64
|
+
end,
|
|
65
|
+
desc = "Lists Diagnostics for all open buffers",
|
|
66
|
+
},
|
|
67
|
+
-- Treesitter symbols
|
|
68
|
+
{
|
|
69
|
+
";s",
|
|
70
|
+
function()
|
|
71
|
+
Snacks.picker.treesitter()
|
|
72
|
+
end,
|
|
73
|
+
desc = "Lists Function names, variables, from Treesitter",
|
|
74
|
+
},
|
|
75
|
+
-- LSP incoming calls
|
|
76
|
+
{
|
|
77
|
+
";c",
|
|
78
|
+
function()
|
|
79
|
+
Snacks.picker.lsp_incoming_calls()
|
|
80
|
+
end,
|
|
81
|
+
desc = "Lists LSP incoming calls for word under the cursor",
|
|
82
|
+
},
|
|
83
|
+
-- File browser (snacks explorer)
|
|
84
|
+
-- {
|
|
85
|
+
-- "sf",
|
|
86
|
+
-- function()
|
|
87
|
+
-- Snacks.picker.explorer({
|
|
88
|
+
-- cwd = vim.fn.expand("%:p:h"),
|
|
89
|
+
-- hidden = true,
|
|
90
|
+
-- ignored = false,
|
|
91
|
+
-- layout = {
|
|
92
|
+
-- preset = "dropdown",
|
|
93
|
+
-- },
|
|
94
|
+
-- })
|
|
95
|
+
-- end,
|
|
96
|
+
-- desc = "Open File Browser with the path of the current buffer",
|
|
97
|
+
-- },
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
-- File browser (telescope)
|
|
102
|
+
-- We used telescope for the file browser because it's customizable
|
|
103
|
+
{
|
|
104
|
+
"nvim-telescope/telescope.nvim",
|
|
105
|
+
dependencies = {
|
|
106
|
+
"nvim-telescope/telescope-file-browser.nvim",
|
|
107
|
+
},
|
|
108
|
+
keys = {
|
|
109
|
+
{
|
|
110
|
+
"sf",
|
|
111
|
+
function()
|
|
112
|
+
local telescope = require("telescope")
|
|
113
|
+
|
|
114
|
+
local function telescope_buffer_dir()
|
|
115
|
+
return vim.fn.expand("%:p:h")
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
telescope.extensions.file_browser.file_browser({
|
|
119
|
+
path = "%:p:h",
|
|
120
|
+
cwd = telescope_buffer_dir(),
|
|
121
|
+
respect_gitignore = false,
|
|
122
|
+
hidden = true,
|
|
123
|
+
grouped = true,
|
|
124
|
+
previewer = false,
|
|
125
|
+
initial_mode = "normal",
|
|
126
|
+
layout_config = { height = 40 },
|
|
127
|
+
winblend = 10,
|
|
128
|
+
})
|
|
129
|
+
end,
|
|
130
|
+
desc = "Open File Browser with the path of the current buffer",
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
config = function(_, opts)
|
|
134
|
+
local telescope = require("telescope")
|
|
135
|
+
local actions = require("telescope.actions")
|
|
136
|
+
local fb_actions = telescope.extensions.file_browser.actions
|
|
137
|
+
|
|
138
|
+
opts = opts or {}
|
|
139
|
+
opts.extensions = {
|
|
140
|
+
file_browser = {
|
|
141
|
+
theme = "dropdown",
|
|
142
|
+
hijack_netrw = true,
|
|
143
|
+
mappings = {
|
|
144
|
+
["n"] = {
|
|
145
|
+
["N"] = fb_actions.create,
|
|
146
|
+
["h"] = fb_actions.goto_parent_dir,
|
|
147
|
+
["/"] = function()
|
|
148
|
+
vim.cmd("startinsert")
|
|
149
|
+
end,
|
|
150
|
+
["<C-u>"] = function(prompt_bufnr)
|
|
151
|
+
for i = 1, 10 do
|
|
152
|
+
actions.move_selection_previous(prompt_bufnr)
|
|
153
|
+
end
|
|
154
|
+
end,
|
|
155
|
+
["<C-d>"] = function(prompt_bufnr)
|
|
156
|
+
for i = 1, 10 do
|
|
157
|
+
actions.move_selection_next(prompt_bufnr)
|
|
158
|
+
end
|
|
159
|
+
end,
|
|
160
|
+
["<PageUp>"] = actions.preview_scrolling_up,
|
|
161
|
+
["<PageDown>"] = actions.preview_scrolling_down,
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
telescope.setup(opts)
|
|
168
|
+
telescope.load_extension("file_browser")
|
|
169
|
+
end,
|
|
170
|
+
},
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
-- return {
|
|
174
|
+
-- {
|
|
175
|
+
-- "nvim-telescope/telescope.nvim",
|
|
176
|
+
-- dependencies = {
|
|
177
|
+
-- {
|
|
178
|
+
-- "nvim-telescope/telescope-fzf-native.nvim",
|
|
179
|
+
-- build = "make",
|
|
180
|
+
-- },
|
|
181
|
+
-- "nvim-telescope/telescope-file-browser.nvim",
|
|
182
|
+
-- },
|
|
183
|
+
-- opts = {
|
|
184
|
+
-- defaults = {
|
|
185
|
+
-- wrap_results = true,
|
|
186
|
+
-- layout_strategy = "horizontal",
|
|
187
|
+
-- layout_config = { prompt_position = "top" },
|
|
188
|
+
-- sorting_strategy = "ascending",
|
|
189
|
+
-- winblend = 0,
|
|
190
|
+
-- mappings = {
|
|
191
|
+
-- n = {},
|
|
192
|
+
-- },
|
|
193
|
+
-- },
|
|
194
|
+
-- pickers = {
|
|
195
|
+
-- diagnostics = {
|
|
196
|
+
-- theme = "ivy",
|
|
197
|
+
-- initial_mode = "normal",
|
|
198
|
+
-- layout_config = {
|
|
199
|
+
-- preview_cutoff = 9999,
|
|
200
|
+
-- },
|
|
201
|
+
-- },
|
|
202
|
+
-- },
|
|
203
|
+
-- },
|
|
204
|
+
-- keys = {
|
|
205
|
+
-- {
|
|
206
|
+
-- "<leader>fP",
|
|
207
|
+
-- function()
|
|
208
|
+
-- require("telescope.builtin").find_files({
|
|
209
|
+
-- cwd = require("lazy.core.config").options.root,
|
|
210
|
+
-- })
|
|
211
|
+
-- end,
|
|
212
|
+
-- desc = "Find Plugin File",
|
|
213
|
+
-- },
|
|
214
|
+
-- {
|
|
215
|
+
-- ";f",
|
|
216
|
+
-- function()
|
|
217
|
+
-- local builtin = require("telescope.builtin")
|
|
218
|
+
-- builtin.find_files({
|
|
219
|
+
-- no_ignore = false,
|
|
220
|
+
-- hidden = true,
|
|
221
|
+
-- })
|
|
222
|
+
-- end,
|
|
223
|
+
-- desc = "Lists files in your current working directory, respects .gitignore",
|
|
224
|
+
-- },
|
|
225
|
+
-- {
|
|
226
|
+
-- ";r",
|
|
227
|
+
-- function()
|
|
228
|
+
-- local builtin = require("telescope.builtin")
|
|
229
|
+
-- builtin.live_grep({
|
|
230
|
+
-- additional_args = { "--hidden" },
|
|
231
|
+
-- })
|
|
232
|
+
-- end,
|
|
233
|
+
-- desc = "Search for a string in your current working directory",
|
|
234
|
+
-- },
|
|
235
|
+
--
|
|
236
|
+
-- Live Grep with Preview similar to Snacks Picker Grep
|
|
237
|
+
-- {
|
|
238
|
+
-- ";r",
|
|
239
|
+
-- function()
|
|
240
|
+
-- local builtin = require("telescope.builtin")
|
|
241
|
+
-- builtin.live_grep({
|
|
242
|
+
-- additional_args = { "--hidden" },
|
|
243
|
+
-- layout_strategy = "vertical",
|
|
244
|
+
-- layout_config = {
|
|
245
|
+
-- vertical = {
|
|
246
|
+
-- prompt_position = "top",
|
|
247
|
+
-- mirror = true, -- flip: prompt top, preview bottom
|
|
248
|
+
-- },
|
|
249
|
+
-- preview_cutoff = 1,
|
|
250
|
+
-- },
|
|
251
|
+
-- sorting_strategy = "ascending",
|
|
252
|
+
-- })
|
|
253
|
+
-- end,
|
|
254
|
+
-- desc = "Search for a string in your current working directory",
|
|
255
|
+
-- },
|
|
256
|
+
--
|
|
257
|
+
-- {
|
|
258
|
+
-- "\\\\",
|
|
259
|
+
-- function()
|
|
260
|
+
-- local builtin = require("telescope.builtin")
|
|
261
|
+
-- builtin.buffers()
|
|
262
|
+
-- end,
|
|
263
|
+
-- desc = "Lists open buffers",
|
|
264
|
+
-- },
|
|
265
|
+
-- {
|
|
266
|
+
-- ";t",
|
|
267
|
+
-- function()
|
|
268
|
+
-- local builtin = require("telescope.builtin")
|
|
269
|
+
-- builtin.help_tags()
|
|
270
|
+
-- end,
|
|
271
|
+
-- desc = "Lists available help tags",
|
|
272
|
+
-- },
|
|
273
|
+
-- {
|
|
274
|
+
-- ";;",
|
|
275
|
+
-- function()
|
|
276
|
+
-- local builtin = require("telescope.builtin")
|
|
277
|
+
-- builtin.resume()
|
|
278
|
+
-- end,
|
|
279
|
+
-- desc = "Resume the previous telescope picker",
|
|
280
|
+
-- },
|
|
281
|
+
-- {
|
|
282
|
+
-- ";e",
|
|
283
|
+
-- function()
|
|
284
|
+
-- local builtin = require("telescope.builtin")
|
|
285
|
+
-- builtin.diagnostics()
|
|
286
|
+
-- end,
|
|
287
|
+
-- desc = "Lists Diagnostics for all open buffers",
|
|
288
|
+
-- },
|
|
289
|
+
-- {
|
|
290
|
+
-- ";s",
|
|
291
|
+
-- function()
|
|
292
|
+
-- local builtin = require("telescope.builtin")
|
|
293
|
+
-- builtin.treesitter()
|
|
294
|
+
-- end,
|
|
295
|
+
-- desc = "Lists Function names, variables, from Treesitter",
|
|
296
|
+
-- },
|
|
297
|
+
-- {
|
|
298
|
+
-- ";c",
|
|
299
|
+
-- function()
|
|
300
|
+
-- local builtin = require("telescope.builtin")
|
|
301
|
+
-- builtin.lsp_incoming_calls()
|
|
302
|
+
-- end,
|
|
303
|
+
-- desc = "Lists LSP incoming calls for word under the cursor",
|
|
304
|
+
-- },
|
|
305
|
+
-- {
|
|
306
|
+
-- "sf",
|
|
307
|
+
-- function()
|
|
308
|
+
-- local telescope = require("telescope")
|
|
309
|
+
--
|
|
310
|
+
-- local function telescope_buffer_dir()
|
|
311
|
+
-- return vim.fn.expand("%:p:h")
|
|
312
|
+
-- end
|
|
313
|
+
--
|
|
314
|
+
-- telescope.extensions.file_browser.file_browser({
|
|
315
|
+
-- path = "%:p:h",
|
|
316
|
+
-- cwd = telescope_buffer_dir(),
|
|
317
|
+
-- respect_gitignore = false,
|
|
318
|
+
-- hidden = true,
|
|
319
|
+
-- grouped = true,
|
|
320
|
+
-- previewer = false,
|
|
321
|
+
-- initial_mode = "normal",
|
|
322
|
+
-- layout_config = { height = 40 },
|
|
323
|
+
-- })
|
|
324
|
+
-- end,
|
|
325
|
+
-- desc = "Open File Browser with the path of the current buffer",
|
|
326
|
+
-- },
|
|
327
|
+
-- },
|
|
328
|
+
-- config = function(_, opts)
|
|
329
|
+
-- local telescope = require("telescope")
|
|
330
|
+
-- local actions = require("telescope.actions")
|
|
331
|
+
-- local fb_actions = telescope.extensions.file_browser.actions
|
|
332
|
+
--
|
|
333
|
+
-- opts.extensions = {
|
|
334
|
+
-- file_browser = {
|
|
335
|
+
-- theme = "dropdown",
|
|
336
|
+
-- hijack_netrw = true,
|
|
337
|
+
-- mappings = {
|
|
338
|
+
-- ["n"] = {
|
|
339
|
+
-- ["N"] = fb_actions.create,
|
|
340
|
+
-- ["h"] = fb_actions.goto_parent_dir,
|
|
341
|
+
-- ["/"] = function()
|
|
342
|
+
-- vim.cmd("startinsert")
|
|
343
|
+
-- end,
|
|
344
|
+
-- ["<C-u>"] = function(prompt_bufnr)
|
|
345
|
+
-- for i = 1, 10 do
|
|
346
|
+
-- actions.move_selection_previous(prompt_bufnr)
|
|
347
|
+
-- end
|
|
348
|
+
-- end,
|
|
349
|
+
-- ["<C-d>"] = function(prompt_bufnr)
|
|
350
|
+
-- for i = 1, 10 do
|
|
351
|
+
-- actions.move_selection_next(prompt_bufnr)
|
|
352
|
+
-- end
|
|
353
|
+
-- end,
|
|
354
|
+
-- ["<PageUp>"] = actions.preview_scrolling_up,
|
|
355
|
+
-- ["<PageDown>"] = actions.preview_scrolling_down,
|
|
356
|
+
-- },
|
|
357
|
+
-- },
|
|
358
|
+
-- },
|
|
359
|
+
-- }
|
|
360
|
+
--
|
|
361
|
+
-- telescope.setup(opts)
|
|
362
|
+
-- telescope.load_extension("fzf")
|
|
363
|
+
-- telescope.load_extension("file_browser")
|
|
364
|
+
-- end,
|
|
365
|
+
-- },
|
|
366
|
+
-- }
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
|
2
|
+
-- stylua: ignore
|
|
3
|
+
if true then return {} end
|
|
4
|
+
|
|
5
|
+
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
|
6
|
+
--
|
|
7
|
+
-- In your plugin files, you can:
|
|
8
|
+
-- * add extra plugins
|
|
9
|
+
-- * disable/enabled LazyVim plugins
|
|
10
|
+
-- * override the configuration of LazyVim plugins
|
|
11
|
+
return {
|
|
12
|
+
-- add gruvbox
|
|
13
|
+
{ "ellisonleao/gruvbox.nvim" },
|
|
14
|
+
|
|
15
|
+
-- Configure LazyVim to load gruvbox
|
|
16
|
+
{
|
|
17
|
+
"LazyVim/LazyVim",
|
|
18
|
+
opts = {
|
|
19
|
+
colorscheme = "gruvbox",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
-- change trouble config
|
|
24
|
+
{
|
|
25
|
+
"folke/trouble.nvim",
|
|
26
|
+
-- opts will be merged with the parent spec
|
|
27
|
+
opts = { use_diagnostic_signs = true },
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
-- disable trouble
|
|
31
|
+
{ "folke/trouble.nvim", enabled = false },
|
|
32
|
+
|
|
33
|
+
-- override nvim-cmp and add cmp-emoji
|
|
34
|
+
{
|
|
35
|
+
"hrsh7th/nvim-cmp",
|
|
36
|
+
dependencies = { "hrsh7th/cmp-emoji" },
|
|
37
|
+
---@param opts cmp.ConfigSchema
|
|
38
|
+
opts = function(_, opts)
|
|
39
|
+
table.insert(opts.sources, { name = "emoji" })
|
|
40
|
+
end,
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
-- change some telescope options and a keymap to browse plugin files
|
|
44
|
+
{
|
|
45
|
+
"nvim-telescope/telescope.nvim",
|
|
46
|
+
keys = {
|
|
47
|
+
-- add a keymap to browse plugin files
|
|
48
|
+
-- stylua: ignore
|
|
49
|
+
{
|
|
50
|
+
"<leader>fp",
|
|
51
|
+
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
|
52
|
+
desc = "Find Plugin File",
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
-- change some options
|
|
56
|
+
opts = {
|
|
57
|
+
defaults = {
|
|
58
|
+
layout_strategy = "horizontal",
|
|
59
|
+
layout_config = { prompt_position = "top" },
|
|
60
|
+
sorting_strategy = "ascending",
|
|
61
|
+
winblend = 0,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
-- add pyright to lspconfig
|
|
67
|
+
{
|
|
68
|
+
"neovim/nvim-lspconfig",
|
|
69
|
+
---@class PluginLspOpts
|
|
70
|
+
opts = {
|
|
71
|
+
---@type lspconfig.options
|
|
72
|
+
servers = {
|
|
73
|
+
-- pyright will be automatically installed with mason and loaded with lspconfig
|
|
74
|
+
pyright = {},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
|
80
|
+
{
|
|
81
|
+
"neovim/nvim-lspconfig",
|
|
82
|
+
dependencies = {
|
|
83
|
+
"jose-elias-alvarez/typescript.nvim",
|
|
84
|
+
init = function()
|
|
85
|
+
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
|
86
|
+
-- stylua: ignore
|
|
87
|
+
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
|
88
|
+
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
|
89
|
+
end)
|
|
90
|
+
end,
|
|
91
|
+
},
|
|
92
|
+
---@class PluginLspOpts
|
|
93
|
+
opts = {
|
|
94
|
+
---@type lspconfig.options
|
|
95
|
+
servers = {
|
|
96
|
+
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
|
97
|
+
tsserver = {},
|
|
98
|
+
},
|
|
99
|
+
-- you can do any additional lsp server setup here
|
|
100
|
+
-- return true if you don't want this server to be setup with lspconfig
|
|
101
|
+
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
|
102
|
+
setup = {
|
|
103
|
+
-- example to setup with typescript.nvim
|
|
104
|
+
tsserver = function(_, opts)
|
|
105
|
+
require("typescript").setup({ server = opts })
|
|
106
|
+
return true
|
|
107
|
+
end,
|
|
108
|
+
-- Specify * to use this function as a fallback for any server
|
|
109
|
+
-- ["*"] = function(server, opts) end,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
|
115
|
+
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
|
116
|
+
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
|
117
|
+
|
|
118
|
+
-- add more treesitter parsers
|
|
119
|
+
{
|
|
120
|
+
"nvim-treesitter/nvim-treesitter",
|
|
121
|
+
opts = {
|
|
122
|
+
ensure_installed = {
|
|
123
|
+
"bash",
|
|
124
|
+
"html",
|
|
125
|
+
"javascript",
|
|
126
|
+
"json",
|
|
127
|
+
"lua",
|
|
128
|
+
"markdown",
|
|
129
|
+
"markdown_inline",
|
|
130
|
+
"python",
|
|
131
|
+
"query",
|
|
132
|
+
"regex",
|
|
133
|
+
"tsx",
|
|
134
|
+
"typescript",
|
|
135
|
+
"vim",
|
|
136
|
+
"yaml",
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
|
142
|
+
-- would overwrite `ensure_installed` with the new value.
|
|
143
|
+
-- If you'd rather extend the default config, use the code below instead:
|
|
144
|
+
{
|
|
145
|
+
"nvim-treesitter/nvim-treesitter",
|
|
146
|
+
opts = function(_, opts)
|
|
147
|
+
-- add tsx and treesitter
|
|
148
|
+
vim.list_extend(opts.ensure_installed, {
|
|
149
|
+
"tsx",
|
|
150
|
+
"typescript",
|
|
151
|
+
})
|
|
152
|
+
end,
|
|
153
|
+
},
|
|
154
|
+
|
|
155
|
+
-- the opts function can also be used to change the default opts:
|
|
156
|
+
{
|
|
157
|
+
"nvim-lualine/lualine.nvim",
|
|
158
|
+
event = "VeryLazy",
|
|
159
|
+
opts = function(_, opts)
|
|
160
|
+
table.insert(opts.sections.lualine_x, {
|
|
161
|
+
function()
|
|
162
|
+
return "😄"
|
|
163
|
+
end,
|
|
164
|
+
})
|
|
165
|
+
end,
|
|
166
|
+
},
|
|
167
|
+
|
|
168
|
+
-- or you can return new options to override all the defaults
|
|
169
|
+
{
|
|
170
|
+
"nvim-lualine/lualine.nvim",
|
|
171
|
+
event = "VeryLazy",
|
|
172
|
+
opts = function()
|
|
173
|
+
return {
|
|
174
|
+
--[[add your custom lualine config here]]
|
|
175
|
+
}
|
|
176
|
+
end,
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
-- use mini.starter instead of alpha
|
|
180
|
+
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
|
181
|
+
|
|
182
|
+
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
|
183
|
+
{ import = "lazyvim.plugins.extras.lang.json" },
|
|
184
|
+
|
|
185
|
+
-- add any tools you want to have installed below
|
|
186
|
+
{
|
|
187
|
+
"williamboman/mason.nvim",
|
|
188
|
+
opts = {
|
|
189
|
+
ensure_installed = {
|
|
190
|
+
"stylua",
|
|
191
|
+
"shellcheck",
|
|
192
|
+
"shfmt",
|
|
193
|
+
"flake8",
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
return {
|
|
2
|
+
{
|
|
3
|
+
"neovim/nvim-lspconfig",
|
|
4
|
+
opts = function()
|
|
5
|
+
-- oxlint: linting only (JS/TS)
|
|
6
|
+
vim.lsp.config("oxlint", {
|
|
7
|
+
on_attach = function(client, bufnr)
|
|
8
|
+
-- auto fix on save
|
|
9
|
+
vim.api.nvim_create_autocmd("BufWritePre", {
|
|
10
|
+
buffer = bufnr,
|
|
11
|
+
callback = function()
|
|
12
|
+
client:request_sync("workspace/executeCommand", {
|
|
13
|
+
command = "oxc.fixAll",
|
|
14
|
+
arguments = { { uri = vim.uri_from_bufnr(bufnr) } },
|
|
15
|
+
})
|
|
16
|
+
end,
|
|
17
|
+
})
|
|
18
|
+
end,
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
vim.lsp.enable("oxlint")
|
|
22
|
+
vim.lsp.enable("oxfmt")
|
|
23
|
+
end,
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
-- oxfmt via conform for ALL supported filetypes
|
|
27
|
+
{
|
|
28
|
+
"stevearc/conform.nvim",
|
|
29
|
+
opts = {
|
|
30
|
+
formatters_by_ft = {
|
|
31
|
+
-- JS/TS (also handled by oxfmt LSP above)
|
|
32
|
+
javascript = { "oxfmt" },
|
|
33
|
+
javascriptreact = { "oxfmt" },
|
|
34
|
+
typescript = { "oxfmt" },
|
|
35
|
+
typescriptreact = { "oxfmt" },
|
|
36
|
+
vue = { "oxfmt" },
|
|
37
|
+
|
|
38
|
+
-- Data
|
|
39
|
+
json = { "oxfmt" },
|
|
40
|
+
jsonc = { "oxfmt" },
|
|
41
|
+
json5 = { "oxfmt" },
|
|
42
|
+
yaml = { "oxfmt" },
|
|
43
|
+
toml = { "oxfmt" },
|
|
44
|
+
|
|
45
|
+
-- Web
|
|
46
|
+
html = { "oxfmt" },
|
|
47
|
+
css = { "oxfmt" },
|
|
48
|
+
scss = { "oxfmt" },
|
|
49
|
+
less = { "oxfmt" },
|
|
50
|
+
|
|
51
|
+
-- Docs
|
|
52
|
+
markdown = { "oxfmt" },
|
|
53
|
+
mdx = { "oxfmt" },
|
|
54
|
+
|
|
55
|
+
-- Query
|
|
56
|
+
graphql = { "oxfmt" },
|
|
57
|
+
},
|
|
58
|
+
format_on_save = {
|
|
59
|
+
timeout_ms = 500,
|
|
60
|
+
lsp_format = "fallback",
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
}
|