49 lines
1.4 KiB
Lua
49 lines
1.4 KiB
Lua
-- TypeScript/JavaScript snippets
|
|
-- See docs/guides/snippets.md for how to create snippets
|
|
--
|
|
-- Quick reference:
|
|
-- s(trigger, nodes, opts) - Create a snippet
|
|
-- t(text) - Text node
|
|
-- i(index, default) - Insert node (tab stop)
|
|
-- c(index, choices) - Choice node
|
|
-- f(func, args) - Function node
|
|
-- d(index, func, args) - Dynamic node
|
|
-- rep(index) - Repeat node
|
|
--
|
|
-- Example:
|
|
-- s("cl", { t("console.log("), i(1), t(")") })
|
|
-- Typing "cl" + expand will give: console.log(|)
|
|
|
|
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 d = ls.dynamic_node
|
|
local sn = ls.snippet_node
|
|
local rep = require("luasnip.extras").rep
|
|
local fmt = require("luasnip.extras.fmt").fmt
|
|
|
|
-- Add your TypeScript snippets here
|
|
return {
|
|
-- Example: Uncomment and modify as needed
|
|
--
|
|
-- Console log
|
|
-- s("cl", { t("console.log("), i(1), t(")") }),
|
|
--
|
|
-- Arrow function
|
|
-- s("af", fmt("const {} = ({}) => {{\n {}\n}}", { i(1, "name"), i(2), i(0) })),
|
|
--
|
|
-- React functional component
|
|
-- s("rfc", fmt([[
|
|
-- export function {}({}: {}) {{
|
|
-- return (
|
|
-- <div>
|
|
-- {}
|
|
-- </div>
|
|
-- )
|
|
-- }}
|
|
-- ]], { i(1, "Component"), i(2, "props"), i(3, "Props"), i(0) })),
|
|
}
|