{ "class-func": { "prefix": "func", "body": [ "func {", "\texposure = \"shared\",", "\tflags = { },", "\tdummy = (nil :: any) :: ${0:() -> ()},", "}," ], "description": "Create a Class function template" }, "class-prop": { "prefix": "prop", "body": [ "property {", "\texposure = \"shared\",", "\tflags = { ${0:FLAGS.Optional} },", "\ttype = \"${2:any}\" :: \"${2}\",", "\tvalue = ${1:nil},", "\tget = nil,", "\tset = nil,", "}," ], "description": "Create a Class property template" }, "abstract-definition": { "prefix": "abstract-def", "body": [ "--!strict", "-- ${1:${TM_FILENAME_BASE/^(.+?)\\.(?:definition|implementation|d|h|header)$|^(.+)$/${1}${2}/}}.d.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local class, property, abstract, func, FLAGS = Ignition.class, Ignition.property, Ignition.abstract, Ignition.func, Ignition.FLAGS", "", "return abstract (class \"${1}\" {", "\tpublic = {", "\t\t${0}", "\t},", "\tprotected = {},", "\tprivate = {},", "})" ], "description": "Create an abstract Class header template" }, "final-definition": { "prefix": "final-def", "body": [ "--!strict", "-- ${1:${TM_FILENAME_BASE/^(.+?)\\.(?:definition|implementation|d|h|header)$|^(.+)$/${1}${2}/}}.d.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local class, property, final, func, FLAGS = Ignition.class, Ignition.property, Ignition.final, Ignition.func, Ignition.FLAGS", "", "return final (class \"${1}\" {", "\tpublic = {", "\t\t${0}", "\t},", "\tprotected = {},", "\tprivate = {},", "})" ], "description": "Create a final Class header template" }, "final-definition-extends": { "prefix": "final-def-ext", "body": [ "--!strict", "-- ${2:${TM_FILENAME_BASE/^(.+?)\\.(?:definition|implementation|d|h|header)$|^(.+)$/${1}${2}/}}.d.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local class, extends, property, func, FLAGS, final = Ignition.class, Ignition.extends, Ignition.property, Ignition.func, Ignition.FLAGS, Ignition.final", "", "local ${1:Parent} = require(\"./${1:Parent}\")", "return final (class \"${2}\" (extends (${1:Parent}) {", "\tpublic = {", "\t\t${0}", "\t},", "\tprotected = {},", "\tprivate = {},", "}))" ], "description": "Create an extended final Class header template" }, "definition-extends": { "prefix": "def-ext", "body": [ "--!strict", "-- ${2:${TM_FILENAME_BASE/^(.+?)\\.(?:definition|implementation|d|h|header)$|^(.+)$/${1}${2}/}}.d.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local class, extends, property, func, FLAGS = Ignition.class, Ignition.extends, Ignition.property, Ignition.func, Ignition.FLAGS", "", "local ${1:Parent} = require(\"./${1:Parent}\")", "return class \"${2}\" (extends (${1:Parent}) {", "\tpublic = {", "\t\t${0}", "\t},", "\tprotected = {},", "\tprivate = {},", "})" ], "description": "Create an extended Class header template" }, "definition": { "prefix": "def", "body": [ "--!strict", "-- ${1:${TM_FILENAME_BASE/^(.+?)\\.(?:definition|implementation|d|h|header)$|^(.+)$/${1}${2}/}}.d.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local class, property, func, FLAGS = Ignition.class, Ignition.property, Ignition.func, Ignition.FLAGS", "", "return class \"${1}\" {", "\tpublic = {", "\t\t${0}", "\t},", "\tprotected = {},", "\tprivate = {},", "}" ], "description": "Create a Class header template" }, "implementation": { "prefix": "impl", "body": [ "--!strict", "-- ${TM_FILENAME_BASE}.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local import, ref, free = Ignition.import, Ignition.ref, Ignition.free", "", "local ${1:${TM_FILENAME_BASE/^(.+?)\\.(definition|implementation|d|h|header)$/$1/}}Header = require(\"./${1}.${2:definition}\")", "local ${1} = import(${1}Header)", "type ${1}Instance = typeof(${1})", "", "${1}(function(self: ${1}Instance)", "\t$0", "end)", "", "return ${1}(true)" ], "description": "Create a Class implementation template" }, "implementation-super": { "prefix": "impl-super", "body": [ "--!strict", "-- ${TM_FILENAME_BASE}.lua", "", "local ReplicatedStorage = game:GetService(\"ReplicatedStorage\")", "local Ignition = require(ReplicatedStorage.Ignition)", "", "local import, super = Ignition.import, Ignition.super", "", "local ${1:${TM_FILENAME_BASE/^(.+?)\\.(definition|implementation|d|h|header)$/$1/}}Header = require(\"./${1}.${2:definition}\")", "local ${1} = import(${1}Header)", "type ${1}Instance = typeof(${1})", "", "${1}(function(self: ${1}Instance)", "\tsuper()", "\t$0", "end)", "", "return ${1}(true)" ], "description": "Create a Class implementation with super()" } }