LazyVim.LazyVim/lua/lazyvim/plugins
abeldekat 8b4e6ff70d
feat(snippets): an extra for mini.snippets (#5274)
## Description

Mini.snippets, a plugin to manage and expand snippets, is currently in
[beta](https://github.com/echasnovski/mini.nvim/issues/1428).

I think the plugin is a very interesting alternative to `luasnip`.

The following `lazydoc` will be added:

```lua
if lazyvim_docs then
  -- Set to `false` to prevent "non-lsp snippets"" from appearing inside completion windows
  -- Motivation: Less clutter in completion windows and a more direct usage of snippits
  vim.g.lazyvim_mini_snippets_in_completion = true

  -- Using default mini.snippets, completion suggestions might appear directly after inserting a snippet
  -- This extra prevents that from happening.
  -- Motivation: A better display of the current snippet.
  -- Also, those completions do not appear when using luasnip or native snippets
  --
  -- Set to `false` to enable completion suggestions directly after inserting a snippet
  vim.g.lazyvim_mini_snippets_override_expand_insert = true

  -- NOTE: Please also read:
  -- https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-snippets.md#expand
  -- :h MiniSnippets-session

  -- Example override for your own config:
  --[[
  return {
    {
      "echasnovski/mini.snippets",
      opts = function(_, opts)
        -- By default, for opts.snippets, the extra for mini.snippets only adds gen_loader.from_lang()
        -- This provides a sensible quickstart, integrating with friendly-snippets
        -- and your own language-specific snippets
        --
        -- In order to change opts.snippets, replace the entire table inside your own opts

        local snippets, config_path = require("mini.snippets"), vim.fn.stdpath("config")

        opts.snippets = { -- override opts.snippets provided by extra...
          -- Load custom file with global snippets first (order matters)
          snippets.gen_loader.from_file(config_path .. "/snippets/global.json"),

          -- Load snippets based on current language by reading files from
          -- "snippets/" subdirectories from 'runtimepath' directories.
          snippets.gen_loader.from_lang(), -- this is the default in the extra...
        }
      end,
    },
  }
--]]
end

```

It's possible to use the code from this PR directly in your own
configuration:

1. Copy the code to lua/extras/coding/mini_snippets.lua in your config
folder
2. Restart nvim and enable the "user" extra for `mini.snippets`
3. Restart nvim
 
## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

---------

Co-authored-by: abeldekat <abel@nomail.com>
2025-01-23 12:03:36 +01:00
..
compat feat(cmp)!: moved nvim-cmp to extras and prefer blink.cmp on Neovim >= 0.10 as default completion engine 2024-12-12 13:47:29 +01:00
extras feat(snippets): an extra for mini.snippets (#5274) 2025-01-23 12:03:36 +01:00
lsp style(lsp): remove refs to document_highlight, which is no longer used 2024-12-16 17:47:07 +01:00
coding.lua feat(cmp)!: moved nvim-cmp to extras and prefer blink.cmp on Neovim >= 0.10 as default completion engine 2024-12-12 13:47:29 +01:00
colorscheme.lua feat(colorscheme): add fzf integration to catppuccin (#5175) 2024-12-18 13:49:13 +01:00
editor.lua feat(extras): added extra for snacks picker (#5368) 2025-01-14 22:54:12 +01:00
formatting.lua fix(conform): changes for new conform.nvim config 2024-07-20 17:14:07 +02:00
init.lua refactor(snacks): move snacks specs to ui/util so that they show up in the generated docs 2024-12-12 13:47:29 +01:00
linting.lua fix(lint): make prepend_args opt work when default args is empty (#3828) 2024-06-27 17:31:11 +02:00
treesitter.lua feat(keymaps): dynamic which-key icons/descriptions for toggles (#4050) 2024-07-15 15:47:44 +02:00
ui.lua feat(extras): added extra for snacks picker (#5368) 2025-01-14 22:54:12 +01:00
util.lua feat(snacks): added profiler keymaps 2024-12-12 13:47:29 +01:00
xtras.lua fix(nvim-cmp): set high prio for loading the nvim-cmp extra to prevent issues with opts 2024-12-12 16:54:34 +01:00