From 05439d08595b8e0c6cd761d5cfa62b34e38b77d1 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Fri, 9 Jan 2026 21:43:07 +0100 Subject: [PATCH] nvim: add typescript snippets --- nvim/snippets/typescript.lua | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 nvim/snippets/typescript.lua diff --git a/nvim/snippets/typescript.lua b/nvim/snippets/typescript.lua new file mode 100644 index 0000000..05b225a --- /dev/null +++ b/nvim/snippets/typescript.lua @@ -0,0 +1,38 @@ +local ls = require("luasnip") +local s = ls.snippet +local i = ls.insert_node +local f = ls.function_node +local fmt = require("luasnip.extras.fmt").fmt +local rep = require("luasnip.extras").rep + +local function capitalize_first(args) + local str = args[1][1] or "" + return str:gsub("^%l", string.upper) +end + +return { + s( + "cvar", + fmt([[ +export const {}Variants = cva( + '', + {{ + variants: {{ + variant: {{ + default: "", + }}, + }}, + defaultVariants: {{ + variant: 'default', + }}, + }}, +) + +export type {}Variant = VariantProps +]], { + i(1, "my"), + f(capitalize_first, { 1 }), + rep(1), + }) + ), +}