summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/custom
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-18 09:33:36 +0200
committerKyren223 <Kyren223@proton.me>2025-01-18 09:33:36 +0200
commit04574a14feaed3bcdd13f0c029d2024aa5ae237a (patch)
tree2bdc414ce93a6c37559c893c27d3c529bf0e7e2b /.config/nvim/lua/custom
parentb971f4a7693cd17c541693a8598ce1e2753d33da (diff)
Added a bunch of go snippets
Diffstat (limited to '.config/nvim/lua/custom')
-rw-r--r--.config/nvim/lua/custom/config/cmp.lua3
-rw-r--r--.config/nvim/lua/custom/snippets/go.lua28
2 files changed, 27 insertions, 4 deletions
diff --git a/.config/nvim/lua/custom/config/cmp.lua b/.config/nvim/lua/custom/config/cmp.lua
index 05a774d..e9f657c 100644
--- a/.config/nvim/lua/custom/config/cmp.lua
+++ b/.config/nvim/lua/custom/config/cmp.lua
@@ -34,8 +34,10 @@ end
cmp.setup({
enabled = is_enabled,
+ preselect = cmp.PreselectMode.None,
completion = { completeopt = 'menu,menuone,noinsert' },
sources = cmp.config.sources({
+ { name = 'luasnip' }, -- for snippets
{
name = 'nvim_lsp',
option = {
@@ -44,7 +46,6 @@ cmp.setup({
},
},
}, -- for lsp
- { name = 'luasnip' }, -- for snippets
{ name = 'lazydev', group_index = 0 }, -- for lazydev.nvim
{ name = 'path' }, -- for filesystem
}, {}),
diff --git a/.config/nvim/lua/custom/snippets/go.lua b/.config/nvim/lua/custom/snippets/go.lua
index bd0540b..d6b7114 100644
--- a/.config/nvim/lua/custom/snippets/go.lua
+++ b/.config/nvim/lua/custom/snippets/go.lua
@@ -1,11 +1,14 @@
require('luasnip.session.snippet_collection').clear_snippets('go')
local ls = require('luasnip')
+local s = ls.snippet
+local t = ls.text_node
local i = ls.insert_node
+local d = ls.dynamic_node
---@param abbr string
---@param expansion string
---@param args table
-local function s(abbr, expansion, args)
+local function snip(abbr, expansion, args)
return ls.snippet(abbr, require('luasnip.extras.fmt').fmt(expansion, args))
end
@@ -50,6 +53,25 @@ func {}(ctx context.Context, sess *session.Session, request packet{}) packet.Pay
]=]
ls.add_snippets('go', {
- s('tmod', tea_model, { i(0) }),
- s('sapi', server_api, { i(1), i(0) }),
+ snip('tmod', tea_model, { i(0) }),
+ snip('sapi', server_api, { i(1), i(0) }),
+
+ s('iferr', {
+ t({ 'if err != nil {', '' }),
+ i(1, ' return'),
+ t({ '', '}' }),
+ }),
+
+ s('fmterr', {
+ t('fmt.Errorf("'),
+ i(1, 'msg'),
+ t(': %w", err)'),
+ }),
+
+ s('dberr', {
+ t({ 'if err != nil {', '' }),
+ i(2, { ' log.Println("database error ', 'x', ':", err)', '' }),
+ i(2, ' return ', '&ErrInternalError'),
+ t({ '', '}' }),
+ }),
})