nvim: luasnip

This commit is contained in:
2024-12-06 14:01:53 +02:00
parent f6fee77954
commit 003a92f074
5 changed files with 76 additions and 75 deletions

View File

@ -40,6 +40,7 @@ vim.keymap.set("n", "<leader>C", ":ToggleTerm<CR>", { desc = "Toggle Terminal" }
vim.keymap.set("n", "<leader>ac", "<cmd>Telescope find_files cwd=~/.config/nvim<CR>", { desc = "Find Config Files" })
vim.keymap.set("n", "<leader>an", "<cmd>NoNeckPain<CR>", { desc = "No Neck Pain" })
vim.keymap.set("n", "<leader>ag", "<cmd>Neogit<CR>", { desc = "Neogit" })
vim.keymap.set("n", "<leader>af", "<cmd>NvimTreeFindFile<CR>", { desc = "Find File In File Manager" })
vim.keymap.set("n", "<leader>am", function()
require("maximize").toggle()
end, { desc = "Maximize" })

View File

@ -5,10 +5,10 @@ return {
end,
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-vsnip",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-nvim-lsp-signature-help",
"saadparwaiz1/cmp_luasnip",
"onsails/lspkind.nvim",
},
opts = function()
@ -16,12 +16,13 @@ return {
local cmp = require("cmp")
local neogen = require("neogen")
local luasnip = require("luasnip")
local lspkind = require("lspkind")
cmp.setup({
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
luasnip.lsp_expand(args.body)
end,
},
mapping = {
@ -35,34 +36,36 @@ return {
behavior = cmp.ConfirmBehavior.Replace,
select = false,
}),
["<tab>"] = cmp.mapping(function(fallback)
if neogen.jumpable() then
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
elseif neogen.jumpable() then
neogen.jump_next()
else
fallback()
end
end, {
"i",
"s",
}),
["<S-tab>"] = cmp.mapping(function(fallback)
if neogen.jumpable(true) then
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
elseif neogen.jumpable() then
neogen.jump_prev()
else
fallback()
end
end, {
"i",
"s",
}),
end, { "i", "s" }),
},
sources = {
{ name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" },
{ name = "path" },
{ name = "buffer", keyword_length = 5 },
{ name = "vsnip" },
{ name = "orgmode" },
{ name = "luasnip" },
},
formatting = {
format = lspkind.cmp_format({

View File

@ -0,0 +1,14 @@
return {
"L3MON4D3/LuaSnip",
version = "v2.*",
-- install jsregexp (optional!).
build = "make install_jsregexp",
dependencies = {
"rafamadriz/friendly-snippets",
},
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
}

View File

@ -1,19 +0,0 @@
return {
"hrsh7th/vim-vsnip",
dependencies = {
"rafamadriz/friendly-snippets",
},
config = function()
-- jumpable mappings
vim.api.nvim_exec(
[[
imap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
smap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
imap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
smap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
]],
false
)
end,
}