Added some custom snippets and ability to expand with more

This commit is contained in:
2025-02-03 00:49:17 +11:00
parent 00484a80be
commit ad5c3a6579
7 changed files with 98 additions and 29 deletions

View File

@@ -8,6 +8,7 @@ return {
opts = {
-- Define your formatters
formatters_by_ft = {
go = { "gofmt" },
lua = { "stylua" },
python = { "isort", "black" },
javascript = { "prettierd", "prettier", stop_after_first = true },

View File

@@ -8,22 +8,7 @@ return {
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/nvim-cmp",
{
"L3MON4D3/LuaSnip",
dependencies = {
"rafamadriz/friendly-snippets",
"benfowler/telescope-luasnip.nvim",
},
config = function(_, opts)
if opts then
require("luasnip").config.setup(opts)
end
vim.tbl_map(function(type)
require("luasnip.loaders.from_" .. type).lazy_load()
vim.keymap.set("n", "<leader>ts", "<cmd>Telescope luasnip<CR>", { desc = "Search Snippets" })
end, { "vscode", "snipmate", "lua" })
end,
},
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"j-hui/fidget.nvim",
},
@@ -103,14 +88,6 @@ return {
s = cmp.mapping.confirm({ select = true }),
c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }),
}),
["<Tab>"] = function(fallback)
local ls = require("luasnip")
if ls.expand_or_jumpable() then
ls.expand_or_jump()
else
fallback()
end
end,
}),
sources = cmp.config.sources({
{ name = "luasnip" }, -- For luasnip users.

View File

@@ -0,0 +1,40 @@
return {
"L3MON4D3/LuaSnip",
dependencies = {
"rafamadriz/friendly-snippets",
"benfowler/telescope-luasnip.nvim",
},
opts = {
history = true,
updateevents = "TextChanged,TextChangedI",
},
config = function(_, opts)
local ls = require("luasnip")
if opts then
ls.config.setup(opts)
end
vim.tbl_map(function(type)
require("luasnip.loaders.from_" .. type).lazy_load()
vim.keymap.set("n", "<leader>ts", "<cmd>Telescope luasnip<CR>", { desc = "Search Snippets" })
end, { "vscode", "snipmate", "lua" })
local lua_snippets = require("haelnorr.snippets.lua")
ls.add_snippets("lua", lua_snippets)
local go_snippets = require("haelnorr.snippets.go")
ls.add_snippets("go", go_snippets)
vim.keymap.set({ "i", "s" }, "<C-k>", function()
if ls.expand_or_jumpable() then
ls.expand_or_jump()
end
end)
vim.keymap.set({ "i", "s" }, "<C-j>", function()
if ls.jumpable(-1) then
ls.jump(-1)
end
end)
vim.keymap.set("i", "<C-l>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end)
end,
}

View File

@@ -18,6 +18,12 @@ return {
{ "<leader>o", group = "Open plugin", icon = { icon = "", color = "yellow" } },
{ "<leader>r", group = "Refactoring", mode = { "n", "x" } },
{ "<leader>v", group = "LSP Actions", icon = { icon = "󰅡" } },
{ "<leader>l", "<cmd>LspRestart<CR>", desc = "Restart LSP" },
{ "<leader><leader>", group = "Reload Plugins", icon = { icon = "" } },
{ "<leader><leader>w", "<cmd>Lazy reload which-key.nvim<CR>", desc = "Reload Which-key" },
{ "<leader><leader>s", "<cmd>Lazy reload LuaSnip<CR>", desc = "Reload LuaSnip" },
{ "<leader><leader>l", "<cmd>Lazy reload nvim-lspconfig<CR>", desc = "Reload LSP" },
-- Harpoon
-- Quick jumps and show list

View File

@@ -0,0 +1,31 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
local c = ls.choice_node
local f = ls.function_node
local fmt = require("luasnip.extras.fmt").fmt
return {
s(
"efi",
fmt(
[[
{}, err := {}({})
if err != nil {{
return "", false, {}
}}
]],
{
i(1, "var"),
i(2, "f"),
i(3, ""),
c(4, {
f(function(args)
return 'errors.Wrap(err, "' .. args[1][1] .. '")'
end, { 2 }),
t("err"),
}),
}
)
),
}

View File

@@ -0,0 +1,14 @@
local ls = require("luasnip")
local s = ls.snippet
local i = ls.insert_node
local fmt = require("luasnip.extras.fmt").fmt
return {
s(
"snip",
fmt('s("{}", fmt(\n "{}"\n, {{\n {}\n}})),', {
i(1, "trigger"),
i(2, "snippet body"),
i(3, "insert nodes"),
})
),
}