diff options
Diffstat (limited to '.config/nvim/lua/snippets')
| -rw-r--r-- | .config/nvim/lua/snippets/go.lua | 77 | ||||
| -rw-r--r-- | .config/nvim/lua/snippets/lua.lua | 37 |
2 files changed, 114 insertions, 0 deletions
diff --git a/.config/nvim/lua/snippets/go.lua b/.config/nvim/lua/snippets/go.lua new file mode 100644 index 0000000..d6b7114 --- /dev/null +++ b/.config/nvim/lua/snippets/go.lua @@ -0,0 +1,77 @@ +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 snip(abbr, expansion, args) + return ls.snippet(abbr, require('luasnip.extras.fmt').fmt(expansion, args)) +end + +local tea_model = [=[ +import ( + "fmt" + + tea "github.com/charmbracelet/bubbletea" +) + +type Model struct{{ + {} +}} + +func New() Model {{ + return Model{{ + }} +}} + +func (m Model) Init() tea.Cmd {{ + return nil +}} + +func (m Model) View() string {{ + return fmt.Sprintf( + "%s", + "", + ) +}} + +func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {{ + switch msg := msg.(type) {{ + default: + return m, nil + }} +}} +]=] + +local server_api = [=[ +func {}(ctx context.Context, sess *session.Session, request packet{}) packet.Payload {{ +}} +]=] + +ls.add_snippets('go', { + 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({ '', '}' }), + }), +}) diff --git a/.config/nvim/lua/snippets/lua.lua b/.config/nvim/lua/snippets/lua.lua new file mode 100644 index 0000000..194f776 --- /dev/null +++ b/.config/nvim/lua/snippets/lua.lua @@ -0,0 +1,37 @@ +require('luasnip.session.snippet_collection').clear_snippets('lua') +local ls = require('luasnip') +local i = ls.insert_node + +---@param abbr string +---@param expansion string +---@param args table +local function s(abbr, expansion, args) + return ls.snippet(abbr, require('luasnip.extras.fmt').fmt(expansion, args)) +end + +local carbonight_group = [=[ +--[[ +Copyright (C) 2024 Kyren223 +This file is licensed under the GPL-3.0-or-later license, see https://fsf.org/licenses/gpl-3.0 +--]] + +local utils = require("carbonight.utils") + +local M = {{}} + +---@param c Colors +function M.get(c) + return {{ + {} + }} +end + +return M +]=] + +ls.add_snippets('lua', { + s('desc', "{{ desc = '{}' }}", { i(0) }), + s('cmd', '<cmd>{}<cr>', { i(0) }), + s('scmd', "'<cmd>{}<cr>'", { i(0) }), + s('cng', carbonight_group, { i(0) }), +}) |
