diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index 900bbd8..df2eb78 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -132,3 +132,8 @@ end) vim.keymap.set("v", "rr", function() require("refactoring").select_refactor() end) + +-- neogen +vim.keymap.set("n", "rn", function() + require("neogen").generate() +end) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 13662fe..19420c3 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -112,6 +112,14 @@ require("lazy").setup({ }, }, + -- neogen + { + "danymat/neogen", + config = function() + require("plugins.neogen") + end, + }, + -- neotest { "nvim-neotest/neotest", diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua index aa00215..f827e07 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/.config/nvim/lua/plugins/cmp.lua @@ -1,6 +1,7 @@ vim.opt.completeopt = { "menuone", "noselect" } local cmp = require("cmp") +local neogen = require("neogen") cmp.setup({ snippet = { @@ -19,6 +20,26 @@ cmp.setup({ behavior = cmp.ConfirmBehavior.Replace, select = false, }), + [""] = cmp.mapping(function(fallback) + if neogen.jumpable() then + neogen.jump_next() + else + fallback() + end + end, { + "i", + "s", + }), + [""] = cmp.mapping(function(fallback) + if neogen.jumpable(true) then + neogen.jump_prev() + else + fallback() + end + end, { + "i", + "s", + }), }, sources = { { name = "nvim_lsp" }, diff --git a/.config/nvim/lua/plugins/neogen.lua b/.config/nvim/lua/plugins/neogen.lua new file mode 100644 index 0000000..f79a746 --- /dev/null +++ b/.config/nvim/lua/plugins/neogen.lua @@ -0,0 +1,9 @@ +require("neogen").setup({ + languages = { + python = { + template = { + annotation_convention = "reST", + }, + }, + }, +})