Skip to content

Latest commit

 

History

History
115 lines (89 loc) · 2.05 KB

neogen.md

File metadata and controls

115 lines (89 loc) · 2.05 KB

Neogen

:::info You can enable the extra with the :LazyExtras command. Plugins marked as optional will only be configured if they are installed. :::

Alternatively, you can add it to your lazy.nvim imports
require("lazy").setup({
  spec = {
    { "LazyVim/LazyVim", import = "lazyvim.plugins" },
    { import = "lazyvim.plugins.extras.coding.neogen" },
    { import = "plugins" },
  },
})

Below you can find a list of included plugins and their default settings.

:::caution You don't need to copy the default settings to your config. They are only shown here for reference. :::

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

An annotation generator that supports multiple languages and annotation conventions.

opts = function(_, opts)
  if opts.snippet_engine ~= nil then
    return
  end

  local map = {
    ["LuaSnip"] = "luasnip",
    ["nvim-snippy"] = "snippy",
    ["vim-vsnip"] = "vsnip",
  }

  for plugin, engine in pairs(map) do
    if LazyVim.has(plugin) then
      opts.snippet_engine = engine
      return
    end
  end

  if vim.snippet then
    opts.snippet_engine = "nvim"
  end
end
{
  "danymat/neogen",
  cmd = "Neogen",
  keys = {
    {
      "<leader>cn",
      function()
        require("neogen").generate()
      end,
      desc = "Generate Annotations (Neogen)",
    },
  },
  opts = function(_, opts)
    if opts.snippet_engine ~= nil then
      return
    end

    local map = {
      ["LuaSnip"] = "luasnip",
      ["nvim-snippy"] = "snippy",
      ["vim-vsnip"] = "vsnip",
    }

    for plugin, engine in pairs(map) do
      if LazyVim.has(plugin) then
        opts.snippet_engine = engine
        return
      end
    end

    if vim.snippet then
      opts.snippet_engine = "nvim"
    end
  end,
}