diff options
Diffstat (limited to 'vim')
-rw-r--r-- | vim/lazy/lazy.lua | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/vim/lazy/lazy.lua b/vim/lazy/lazy.lua index f4cbf0f..efd545f 100644 --- a/vim/lazy/lazy.lua +++ b/vim/lazy/lazy.lua | |||
@@ -72,13 +72,13 @@ require('lazy').setup({ | |||
72 | changedelete = { text = '~' }, | 72 | changedelete = { text = '~' }, |
73 | }, | 73 | }, |
74 | on_attach = function(bufnr) | 74 | on_attach = function(bufnr) |
75 | |||
76 | vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk, | 75 | vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk, |
77 | { buffer = bufnr, desc = '[G]o to [P]revious Hunk' }) | 76 | { buffer = bufnr, desc = '[G]o to [P]revious Hunk' }) |
78 | vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' }) | 77 | vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' }) |
79 | vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) | 78 | vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) |
80 | vim.keymap.set('n', '<leader>hd', require('gitsigns').diffthis, { buffer = bufnr, desc = '[h]unk [d]iff' }) | 79 | vim.keymap.set('n', '<leader>hd', require('gitsigns').diffthis, { buffer = bufnr, desc = '[h]unk [d]iff' }) |
81 | vim.keymap.set('n', '<leader>hD', function() require('gitsigns').diffthis('~') end, { buffer = bufnr, desc = '[h]unk [d]iff for ~' }) | 80 | vim.keymap.set('n', '<leader>hD', function() require('gitsigns').diffthis('~') end, |
81 | { buffer = bufnr, desc = '[h]unk [d]iff for ~' }) | ||
82 | vim.keymap.set('v', 'hr', ":Gitsigns reset_hunk<CR>", { buffer = bufnr, desc = '[h]unk [r]eset' }) | 82 | vim.keymap.set('v', 'hr', ":Gitsigns reset_hunk<CR>", { buffer = bufnr, desc = '[h]unk [r]eset' }) |
83 | end, | 83 | end, |
84 | }, | 84 | }, |
@@ -188,6 +188,14 @@ require('lazy').setup({ | |||
188 | }, | 188 | }, |
189 | }, | 189 | }, |
190 | 190 | ||
191 | -- install without yarn or npm | ||
192 | { | ||
193 | "iamcco/markdown-preview.nvim", | ||
194 | cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, | ||
195 | ft = { "markdown" }, | ||
196 | build = function() vim.fn["mkdp#util#install"]() end, | ||
197 | }, | ||
198 | |||
191 | -- For beancount | 199 | -- For beancount |
192 | 'nathangrigg/vim-beancount', | 200 | 'nathangrigg/vim-beancount', |
193 | 201 | ||
@@ -310,12 +318,6 @@ require('lazy').setup({ | |||
310 | build = ':TSUpdate', | 318 | build = ':TSUpdate', |
311 | }, | 319 | }, |
312 | 320 | ||
313 | -- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart | ||
314 | -- These are some example plugins that I've included in the kickstart repository. | ||
315 | -- Uncomment any of the lines below to enable them. | ||
316 | -- require 'kickstart.plugins.autoformat', | ||
317 | -- require 'kickstart.plugins.debug', | ||
318 | |||
319 | -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` | 321 | -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` |
320 | -- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping | 322 | -- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping |
321 | -- up-to-date with whatever is in the kickstart repo. | 323 | -- up-to-date with whatever is in the kickstart repo. |
@@ -323,13 +325,6 @@ require('lazy').setup({ | |||
323 | -- | 325 | -- |
324 | -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins | 326 | -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins |
325 | -- { import = 'custom.plugins' }, | 327 | -- { import = 'custom.plugins' }, |
326 | -- install without yarn or npm | ||
327 | { | ||
328 | "iamcco/markdown-preview.nvim", | ||
329 | cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, | ||
330 | ft = { "markdown" }, | ||
331 | build = function() vim.fn["mkdp#util#install"]() end, | ||
332 | }, | ||
333 | }, {}) | 328 | }, {}) |
334 | 329 | ||
335 | -- [[ Setting options ]] | 330 | -- [[ Setting options ]] |
@@ -441,7 +436,8 @@ require('telescope').setup { | |||
441 | ["<c-d>"] = "delete_buffer", | 436 | ["<c-d>"] = "delete_buffer", |
442 | } | 437 | } |
443 | } | 438 | } |
444 | } | 439 | }, |
440 | |||
445 | }, | 441 | }, |
446 | extensions = { | 442 | extensions = { |
447 | aerial = { | 443 | aerial = { |
@@ -459,8 +455,9 @@ require('telescope').setup { | |||
459 | pcall(require('telescope').load_extension, 'fzf') | 455 | pcall(require('telescope').load_extension, 'fzf') |
460 | 456 | ||
461 | -- See `:help telescope.builtin` | 457 | -- See `:help telescope.builtin` |
462 | vim.keymap.set('n', '<leader>f', require('telescope.builtin').oldfiles, { desc = '[f] Find recently opened files' }) | 458 | vim.keymap.set('n', '<leader>f', require('telescope.builtin').oldfiles, { desc = '[F] Find recently opened files' }) |
463 | vim.keymap.set('n', '<leader>b', require('telescope.builtin').buffers, { desc = '[b] Find existing buffers' }) | 459 | vim.keymap.set('n', '<leader>b', require('telescope.builtin').buffers, { desc = '[B] Find existing buffers' }) |
460 | vim.keymap.set('n', '<leader>st', require('telescope.builtin').builtin, { desc = '[S]earch [T]elescope for builtin' }) | ||
464 | vim.keymap.set('n', '<leader>gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) | 461 | vim.keymap.set('n', '<leader>gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) |
465 | vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) | 462 | vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) |
466 | vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) | 463 | vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) |
@@ -479,6 +476,29 @@ end, { desc = '[/] Fuzzily search in current buffer' }) | |||
479 | vim.keymap.set('n', '<leader>sn', function() | 476 | vim.keymap.set('n', '<leader>sn', function() |
480 | require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } | 477 | require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } |
481 | end, { desc = '[S]earch [N]eovim files' }) | 478 | end, { desc = '[S]earch [N]eovim files' }) |
479 | -- Get snippets from ~/helper/snippets | ||
480 | vim.keymap.set('n', '<leader>ss', function() | ||
481 | local current_filetype = vim.bo.filetype | ||
482 | local cwd = '/home/pham/helper/snippets/' .. current_filetype | ||
483 | require('telescope.builtin').find_files { | ||
484 | prompt_title = 'Select a snippet for ' .. current_filetype, | ||
485 | cwd = cwd, | ||
486 | attach_mappings = function(prompt_bufnr, map) | ||
487 | local insert_selected_snippet = function() | ||
488 | local file = require('telescope.actions.state').get_selected_entry()[1] | ||
489 | local snippet_content = vim.fn.readfile(cwd .. "/" .. file) | ||
490 | require('telescope.actions').close(prompt_bufnr) | ||
491 | vim.api.nvim_command('normal! h') | ||
492 | vim.api.nvim_put(snippet_content, '', false, true) | ||
493 | end | ||
494 | |||
495 | map('i', '<CR>', insert_selected_snippet) | ||
496 | map('n', '<CR>', insert_selected_snippet) | ||
497 | |||
498 | return true | ||
499 | end, | ||
500 | } | ||
501 | end, { desc = '[S]earch [S]nippets' }) | ||
482 | 502 | ||
483 | -- [[ Configure Treesitter ]] | 503 | -- [[ Configure Treesitter ]] |
484 | -- See `:help nvim-treesitter` | 504 | -- See `:help nvim-treesitter` |