add neogen doc, spellchecker, cmp configuration
This commit is contained in:
parent
0bf06eefac
commit
d36118f53a
59
init.lua
59
init.lua
|
@ -167,8 +167,8 @@ require('lazy').setup({
|
||||||
end, { desc = 'git diff against last commit' })
|
end, { desc = 'git diff against last commit' })
|
||||||
|
|
||||||
-- Toggles
|
-- Toggles
|
||||||
map('n', '<leader>tb', gs.toggle_current_line_blame, { desc = 'toggle git blame line' })
|
map('n', '<leader>tb', gs.toggle_current_line_blame, { desc = '[T]oggle git [B]lame line' })
|
||||||
map('n', '<leader>td', gs.toggle_deleted, { desc = 'toggle git show deleted' })
|
map('n', '<leader>td', gs.toggle_deleted, { desc = '[T]oggle git [S]how deleted' })
|
||||||
|
|
||||||
-- Text object
|
-- Text object
|
||||||
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = 'select git hunk' })
|
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = 'select git hunk' })
|
||||||
|
@ -248,6 +248,14 @@ require('lazy').setup({
|
||||||
build = ':TSUpdate',
|
build = ':TSUpdate',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"danymat/neogen",
|
||||||
|
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||||
|
config = true,
|
||||||
|
-- Comment next line if you want to follow unstable versions
|
||||||
|
version = "*"
|
||||||
|
},
|
||||||
|
|
||||||
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
|
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
|
||||||
-- These are some example plugins that I've included in the kickstart repository.
|
-- These are some example plugins that I've included in the kickstart repository.
|
||||||
-- Uncomment any of the lines below to enable them.
|
-- Uncomment any of the lines below to enable them.
|
||||||
|
@ -299,11 +307,19 @@ vim.o.updatetime = 250
|
||||||
vim.o.timeoutlen = 300
|
vim.o.timeoutlen = 300
|
||||||
|
|
||||||
-- Set completeopt to have a better completion experience
|
-- Set completeopt to have a better completion experience
|
||||||
vim.o.completeopt = 'menuone,noselect'
|
vim.o.completeopt = 'menuone,noselect,preview'
|
||||||
|
|
||||||
-- NOTE: You should make sure your terminal supports this
|
-- NOTE: You should make sure your terminal supports this
|
||||||
vim.o.termguicolors = true
|
vim.o.termguicolors = true
|
||||||
|
|
||||||
|
-- Create new window below instead of above
|
||||||
|
vim.o.splitbelow = true
|
||||||
|
|
||||||
|
-- Setup the spell checker
|
||||||
|
vim.opt.spelllang = 'en_us'
|
||||||
|
vim.opt.spell = true
|
||||||
|
|
||||||
|
|
||||||
-- [[ Basic Keymaps ]]
|
-- [[ Basic Keymaps ]]
|
||||||
|
|
||||||
-- Keymaps for better default experience
|
-- Keymaps for better default experience
|
||||||
|
@ -316,6 +332,8 @@ vim.api.nvim_set_keymap('n', '<C-d>', '<C-d>zz', { noremap = true, silent = true
|
||||||
vim.api.nvim_set_keymap('n', 'n', 'nzzzv', { noremap = true, silent = true })
|
vim.api.nvim_set_keymap('n', 'n', 'nzzzv', { noremap = true, silent = true })
|
||||||
vim.api.nvim_set_keymap('n', 'N', 'Nzzzv', { noremap = true, silent = true })
|
vim.api.nvim_set_keymap('n', 'N', 'Nzzzv', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
-- Toggle between absolute and relative line numbers
|
||||||
|
vim.keymap.set('n', '<leader>tl', ":set number! relativenumber!<cr>", { desc = "[T]oggle [L]ine numbers display" })
|
||||||
-- Remap for dealing with word wrap
|
-- Remap for dealing with word wrap
|
||||||
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||||
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||||
|
@ -616,6 +634,32 @@ mason_lspconfig.setup_handlers {
|
||||||
-- setup nvim tree
|
-- setup nvim tree
|
||||||
require("nvim-tree").setup()
|
require("nvim-tree").setup()
|
||||||
|
|
||||||
|
|
||||||
|
-- setup docstring generation
|
||||||
|
require('neogen').setup({
|
||||||
|
enabled = true,
|
||||||
|
snippet_engine = 'luasnip',
|
||||||
|
languages = {
|
||||||
|
python = {
|
||||||
|
template = { annotation_convention = 'numpydoc' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
local neomap = function(keys, func, desc)
|
||||||
|
if desc then
|
||||||
|
desc = 'DOC: [N]eogen ' .. desc
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set('n', keys, func, { noremap = true, silent = true, desc = desc })
|
||||||
|
end
|
||||||
|
|
||||||
|
neomap("<leader>nf", ":lua require('neogen').generate()<CR>", "[f]unction")
|
||||||
|
neomap("<leader>nF", ":lua require('neogen').generate({type='file'})<CR>", "[F]ile")
|
||||||
|
neomap("<leader>nc", ":lua require('neogen').generate({type='class'})<CR>", "[c]lass")
|
||||||
|
neomap("<leader>nt", ":lua require('neogen').generate({type='type'})<CR>", "[t]ype")
|
||||||
|
|
||||||
-- [[ Configure nvim-cmp ]]
|
-- [[ Configure nvim-cmp ]]
|
||||||
-- See `:help cmp`
|
-- See `:help cmp`
|
||||||
local cmp = require 'cmp'
|
local cmp = require 'cmp'
|
||||||
|
@ -631,16 +675,17 @@ cmp.setup {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
completion = {
|
completion = {
|
||||||
completeopt = 'menu,menuone,noinsert',
|
completeopt = 'menuone,noinsert,preview',
|
||||||
},
|
},
|
||||||
mapping = cmp.mapping.preset.insert {
|
mapping = cmp.mapping.preset.insert {
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-e>'] = cmp.mapping.close(),
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete {},
|
['<C-Space>'] = cmp.mapping.complete {},
|
||||||
['<CR>'] = cmp.mapping.confirm {
|
['<C-y>'] = cmp.mapping.confirm {
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
behavior = cmp.ConfirmBehavior.Insert,
|
||||||
select = true,
|
select = true,
|
||||||
},
|
},
|
||||||
['<Tab>'] = cmp.mapping(function(fallback)
|
['<Tab>'] = cmp.mapping(function(fallback)
|
||||||
|
@ -666,7 +711,7 @@ cmp.setup {
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = 'luasnip' },
|
{ name = 'luasnip' },
|
||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
{ name = 'buffer', keyword_length = 4 },
|
{ name = 'buffer', keyword_length = 5, max_item_count = 5 },
|
||||||
},
|
},
|
||||||
formatting = {
|
formatting = {
|
||||||
format = lspkind.cmp_format {
|
format = lspkind.cmp_format {
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "3614a39aae98ccd34124b072939d6283853b3dd2" },
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "3614a39aae98ccd34124b072939d6283853b3dd2" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
|
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
|
||||||
"neodev.nvim": { "branch": "main", "commit": "bbe17de89345ce40725e721d347c596dc4a02b32" },
|
"neodev.nvim": { "branch": "main", "commit": "bbe17de89345ce40725e721d347c596dc4a02b32" },
|
||||||
|
"neogen": { "branch": "main", "commit": "cb1f384df804c1bf729332c4f728253fe17962d4" },
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "2d4d4f765da684c92cca714bfd7a395ff6b08333" },
|
"none-ls.nvim": { "branch": "main", "commit": "2d4d4f765da684c92cca714bfd7a395ff6b08333" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
|
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" },
|
"nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" },
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
behnid/!
|
||||||
|
https
|
||||||
|
github
|
||||||
|
nvim
|
||||||
|
mapleader
|
||||||
|
txt
|
||||||
|
lua
|
||||||
|
Autocompletion
|
||||||
|
LSP
|
||||||
|
config
|
||||||
|
neovim
|
||||||
|
runtime
|
Binary file not shown.
Loading…
Reference in New Issue