Added some custom snippets and ability to expand with more
This commit is contained in:
@@ -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 },
|
||||
|
||||
@@ -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.
|
||||
|
||||
40
lua/haelnorr/lazy/luasnip.lua
Normal file
40
lua/haelnorr/lazy/luasnip.lua
Normal 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,
|
||||
}
|
||||
@@ -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
|
||||
|
||||
31
lua/haelnorr/snippets/go.lua
Normal file
31
lua/haelnorr/snippets/go.lua
Normal 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"),
|
||||
}),
|
||||
}
|
||||
)
|
||||
),
|
||||
}
|
||||
14
lua/haelnorr/snippets/lua.lua
Normal file
14
lua/haelnorr/snippets/lua.lua
Normal 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"),
|
||||
})
|
||||
),
|
||||
}
|
||||
Reference in New Issue
Block a user