diff options
Diffstat (limited to 'vim/mini.lua')
-rw-r--r-- | vim/mini.lua | 234 |
1 files changed, 164 insertions, 70 deletions
diff --git a/vim/mini.lua b/vim/mini.lua index 2646ca6..d87c01c 100644 --- a/vim/mini.lua +++ b/vim/mini.lua | |||
@@ -1,6 +1,6 @@ | |||
1 | -- vim: sw=2 foldmethod=marker foldmarker={{{,}}} | 1 | -- vim: sw=2 foldmethod=marker foldmarker={{{,}}} |
2 | 2 | ||
3 | -- Ref: https://github.com/echasnovski/mini.nvim?tab=readme-ov-file | 3 | -- Ref: https://github.com/echasnovski/mini.nvim |
4 | -- TODO | 4 | -- TODO |
5 | 5 | ||
6 | -- Install mini.nvim {{{ | 6 | -- Install mini.nvim {{{ |
@@ -40,6 +40,17 @@ vim.g.animate_disable = true | |||
40 | -- mini.basics {{{ | 40 | -- mini.basics {{{ |
41 | require('mini.basics').setup() | 41 | require('mini.basics').setup() |
42 | -- }}} | 42 | -- }}} |
43 | -- mini.misc {{{ | ||
44 | require('mini.misc').setup({ | ||
45 | make_global = { 'put', 'put_text', 'zoom'} | ||
46 | }) --}}} | ||
47 | -- mini.extra {{{ | ||
48 | require('mini.extra').setup() | ||
49 | -- }}} | ||
50 | -- mini.colors {{{ | ||
51 | require('mini.colors').setup() | ||
52 | vim.keymap.set( 'n', '<leader>co', function() require('mini.colors').interactive() end) | ||
53 | -- }}} | ||
43 | -- mini.base16 {{{ | 54 | -- mini.base16 {{{ |
44 | require('mini.base16').setup({ | 55 | require('mini.base16').setup({ |
45 | palette = { | 56 | palette = { |
@@ -78,14 +89,22 @@ require('mini.base16').setup({ | |||
78 | }, | 89 | }, |
79 | use_cterm = true, | 90 | use_cterm = true, |
80 | }) --}}} | 91 | }) --}}} |
81 | -- mini.misc {{{ | ||
82 | require('mini.misc').setup({ | ||
83 | make_global = { 'put', 'put_text', 'zoom'} | ||
84 | }) --}}} | ||
85 | -- mini.icons {{{ | 92 | -- mini.icons {{{ |
86 | require('mini.icons').setup({ | 93 | require('mini.icons').setup({ |
87 | }) --}}} | 94 | }) --}}} |
95 | -- mini.tabline {{{ | ||
96 | |||
97 | require('mini.tabline').setup {} | ||
98 | |||
99 | for i = 1, 9, 1 do | ||
100 | vim.keymap.set("n", string.format("<A-%s>", i), function() | ||
101 | vim.api.nvim_set_current_buf( vim.fn.getbufinfo({ buflisted=true })[i].bufnr) | ||
102 | end, {silent = true}) | ||
103 | end | ||
104 | |||
105 | -- }}} | ||
88 | -- mini.statusline {{{ | 106 | -- mini.statusline {{{ |
107 | |||
89 | require('mini.statusline').setup({ | 108 | require('mini.statusline').setup({ |
90 | content = { | 109 | content = { |
91 | active = status_config | 110 | active = status_config |
@@ -126,54 +145,52 @@ function status_config() | |||
126 | { hl = mode_hl, strings = { location } }, | 145 | { hl = mode_hl, strings = { location } }, |
127 | }) | 146 | }) |
128 | end | 147 | end |
129 | -- }}} | ||
130 | -- mini.clue {{{ | ||
131 | local miniclue = require('mini.clue') | ||
132 | miniclue.setup({ | ||
133 | triggers = { | ||
134 | -- Leader triggers | ||
135 | { mode = 'n', keys = '<Leader>' }, | ||
136 | { mode = 'x', keys = '<Leader>' }, | ||
137 | |||
138 | -- Built-in completion | ||
139 | { mode = 'i', keys = '<C-x>' }, | ||
140 | |||
141 | -- `g` key | ||
142 | { mode = 'n', keys = 'g' }, | ||
143 | { mode = 'x', keys = 'g' }, | ||
144 | |||
145 | -- Marks | ||
146 | { mode = 'n', keys = "'" }, | ||
147 | { mode = 'n', keys = '`' }, | ||
148 | { mode = 'x', keys = "'" }, | ||
149 | { mode = 'x', keys = '`' }, | ||
150 | |||
151 | -- Registers | ||
152 | { mode = 'n', keys = '"' }, | ||
153 | { mode = 'x', keys = '"' }, | ||
154 | { mode = 'i', keys = '<C-r>' }, | ||
155 | { mode = 'c', keys = '<C-r>' }, | ||
156 | |||
157 | -- Window commands | ||
158 | { mode = 'n', keys = '<C-w>' }, | ||
159 | |||
160 | -- `z` key | ||
161 | { mode = 'n', keys = 'z' }, | ||
162 | { mode = 'x', keys = 'z' }, | ||
163 | }, | ||
164 | 148 | ||
165 | clues = { | 149 | -- }}} |
166 | -- Enhance this by adding descriptions for <Leader> mapping groups | 150 | -- Disabled: mini.clue {{{ |
167 | miniclue.gen_clues.builtin_completion(), | 151 | -- local miniclue = require('mini.clue') |
168 | miniclue.gen_clues.g(), | 152 | -- miniclue.setup({ |
169 | miniclue.gen_clues.marks(), | 153 | -- triggers = { |
170 | miniclue.gen_clues.registers(), | 154 | -- -- Leader triggers |
171 | miniclue.gen_clues.windows(), | 155 | -- { mode = 'n', keys = '<Leader>' }, |
172 | miniclue.gen_clues.z(), | 156 | -- { mode = 'x', keys = '<Leader>' }, |
173 | }, | 157 | -- |
174 | })-- }}} | 158 | -- -- Built-in completion |
175 | -- mini.colors {{{ | 159 | -- { mode = 'i', keys = '<C-x>' }, |
176 | require('mini.colors').setup() | 160 | -- |
161 | -- -- `g` key | ||
162 | -- { mode = 'n', keys = 'g' }, | ||
163 | -- { mode = 'x', keys = 'g' }, | ||
164 | -- | ||
165 | -- -- Marks | ||
166 | -- { mode = 'n', keys = "'" }, | ||
167 | -- { mode = 'n', keys = '`' }, | ||
168 | -- { mode = 'x', keys = "'" }, | ||
169 | -- { mode = 'x', keys = '`' }, | ||
170 | -- | ||
171 | -- -- Registers | ||
172 | -- { mode = 'n', keys = '"' }, | ||
173 | -- { mode = 'x', keys = '"' }, | ||
174 | -- { mode = 'i', keys = '<C-r>' }, | ||
175 | -- { mode = 'c', keys = '<C-r>' }, | ||
176 | -- | ||
177 | -- -- Window commands | ||
178 | -- { mode = 'n', keys = '<C-w>' }, | ||
179 | -- | ||
180 | -- -- `z` key | ||
181 | -- { mode = 'n', keys = 'z' }, | ||
182 | -- { mode = 'x', keys = 'z' }, | ||
183 | -- }, | ||
184 | -- | ||
185 | -- clues = { | ||
186 | -- -- Enhance this by adding descriptions for <Leader> mapping groups | ||
187 | -- miniclue.gen_clues.builtin_completion(), | ||
188 | -- miniclue.gen_clues.g(), | ||
189 | -- miniclue.gen_clues.marks(), | ||
190 | -- miniclue.gen_clues.registers(), | ||
191 | -- miniclue.gen_clues.windows(), | ||
192 | -- miniclue.gen_clues.z(), | ||
193 | -- }, | ||
177 | -- }}} | 194 | -- }}} |
178 | -- mini.comment {{{ | 195 | -- mini.comment {{{ |
179 | require('mini.comment').setup({ | 196 | require('mini.comment').setup({ |
@@ -213,29 +230,60 @@ require('mini.diff').setup({ | |||
213 | }, | 230 | }, |
214 | }) | 231 | }) |
215 | -- }}} | 232 | -- }}} |
216 | -- mini.extra {{{ | ||
217 | require('mini.extra').setup() | ||
218 | -- }}} | ||
219 | -- mini.map {{{ | 233 | -- mini.map {{{ |
220 | require('mini.map').setup() | 234 | require('mini.map').setup() |
221 | -- }}} | 235 | vim.keymap.set( 'n', '<leader><leader>mp', function() require('mini.map').toggle() end, { buffer = bufnr, desc = '' }) |
222 | -- mini.tabline {{{ | ||
223 | |||
224 | require('mini.tabline').setup() | ||
225 | |||
226 | for i = 1, 9, 1 do | ||
227 | vim.keymap.set("n", string.format("<A-%s>", i), function() | ||
228 | vim.api.nvim_set_current_buf(vim.t.bufs[i]) | ||
229 | end) | ||
230 | end | ||
231 | |||
232 | -- }}} | 236 | -- }}} |
233 | -- mini.visits {{{ | 237 | -- mini.visits {{{ |
234 | require('mini.visits').setup() | 238 | require('mini.visits').setup() |
239 | vim.keymap.set( 'n', '<leader><leader>li', function() | ||
240 | MiniVisits.list_paths() | ||
241 | end, | ||
242 | { buffer = bufnr, desc = '' } | ||
243 | ) | ||
235 | -- }}} | 244 | -- }}} |
236 | -- mini.completion {{{ | 245 | -- mini.completion {{{ |
237 | require('mini.completion').setup() | 246 | require('mini.completion').setup() |
238 | -- }}} | 247 | -- }}} |
248 | -- mini.surround {{{ | ||
249 | require('mini.surround').setup { | ||
250 | mappings = { | ||
251 | add = 's' | ||
252 | } | ||
253 | } | ||
254 | -- }}} | ||
255 | -- mini.indentscope {{{ | ||
256 | require('mini.indentscope').setup() | ||
257 | -- }}} | ||
258 | -- mini.splitjoin {{{ | ||
259 | require('mini.splitjoin').setup() | ||
260 | -- }}} | ||
261 | -- mini.move {{{ | ||
262 | require('mini.move').setup() | ||
263 | -- }}} | ||
264 | -- mini.pairs {{{ | ||
265 | require('mini.pairs').setup() | ||
266 | -- }}} | ||
267 | -- mini.hipatterns {{{ | ||
268 | local hipatterns = require('mini.hipatterns') | ||
269 | hipatterns.setup({ | ||
270 | highlighters = { | ||
271 | -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' | ||
272 | fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, | ||
273 | hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, | ||
274 | todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, | ||
275 | note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, | ||
276 | |||
277 | -- Highlight hex color strings (`#rrggbb`) using that color | ||
278 | hex_color = hipatterns.gen_highlighter.hex_color(), | ||
279 | }, | ||
280 | }) | ||
281 | vim.keymap.set( 'n', '<leader><leader>hi', function() | ||
282 | MiniHipatterns.toggle() | ||
283 | end, | ||
284 | { buffer = bufnr, desc = 'Toggle hex color highlight' } | ||
285 | ) | ||
286 | -- }}} | ||
239 | -- Telescope {{{ | 287 | -- Telescope {{{ |
240 | add({ | 288 | add({ |
241 | source = "nvim-telescope/telescope.nvim", | 289 | source = "nvim-telescope/telescope.nvim", |
@@ -409,15 +457,61 @@ end, { desc = "Search Directory" })-- }}} | |||
409 | -- toggleterm {{{ | 457 | -- toggleterm {{{ |
410 | 458 | ||
411 | add({ | 459 | add({ |
412 | source = "akinsho/toggleterm.nvim", | 460 | source = "akinsho/toggleterm.nvim", |
413 | hooks = { post_checkout = function() end }, | 461 | hooks = { post_checkout = function() end }, |
414 | }) | 462 | }) |
415 | require("toggleterm").setup{ | 463 | require("toggleterm").setup{ |
416 | persist_size = false, | 464 | persist_size = false, |
417 | direction = 'float', | 465 | direction = 'float', |
418 | } | 466 | } |
419 | 467 | ||
420 | vim.keymap.set({ "n", "t" }, "<A-i>", function() vim.cmd("ToggleTerm direction=float") end, { desc = "terminal toggle floating term" }) | 468 | vim.keymap.set({ "n", "t" }, "<A-i>", function() vim.cmd("ToggleTerm direction=float") end, { desc = "terminal toggle floating term" }) |
421 | vim.keymap.set({ "n", "t" }, "<A-v>", function() vim.cmd("ToggleTerm direction=horizontal") end, { desc = "terminal toggle floating term" }) | 469 | vim.keymap.set({ "n", "t" }, "<A-v>", function() vim.cmd("ToggleTerm direction=horizontal") end, { desc = "terminal toggle floating term" }) |
422 | 470 | ||
423 | --}}} | 471 | --}}} |
472 | -- Tig {{{ | ||
473 | |||
474 | add({ | ||
475 | source = "iberianpig/tig-explorer.vim", | ||
476 | depends = { "rbgrouleff/bclose.vim" }, | ||
477 | hooks = { post_checkout = function() end }, | ||
478 | }) | ||
479 | |||
480 | --}}} | ||
481 | -- Disabled: suda {{{ | ||
482 | -- add { source = "lambdalisue/suda.vim" } | ||
483 | -- }}} | ||
484 | -- which-key {{{ | ||
485 | add({ | ||
486 | source = "folke/which-key.nvim", | ||
487 | checkout = "stable", | ||
488 | }) | ||
489 | require('which-key').setup { | ||
490 | defaults = { | ||
491 | win = { | ||
492 | -- don't allow the popup to overlap with the cursor | ||
493 | no_overlap = false, | ||
494 | -- width = 1, | ||
495 | height = { min = 10, max = 25 }, | ||
496 | -- col = 0, | ||
497 | -- row = math.huge, | ||
498 | -- border = "none", | ||
499 | padding = { 1, 2 }, -- extra window padding [top/bottom, right/left] | ||
500 | title = true, | ||
501 | title_pos = "center", | ||
502 | zindex = 1000, | ||
503 | -- Additional vim.wo and vim.bo options | ||
504 | bo = {}, | ||
505 | wo = { | ||
506 | -- winblend = 10, -- value between 0-100 0 for fully opaque and 100 for fully transparent | ||
507 | }, | ||
508 | }, | ||
509 | } | ||
510 | } | ||
511 | -- }}} | ||
512 | -- true-zen {{{ | ||
513 | add { | ||
514 | source = "Pocco81/true-zen.nvim", | ||
515 | } | ||
516 | vim.keymap.set("n", "<leader>z", ":TZAtaraxis<CR>") | ||
517 | -- }}} | ||