1
Fork 0
satellite/dotfiles/vscode-snippets/snippets/purescript/other.json
2022-08-08 17:25:54 +03:00

75 lines
1.7 KiB
JSON

{
"Definition": {
"prefix": "definition",
"description": "Basic purescript definition",
"body": [
"$1 :: $2",
"$1 = $3"
]
},
"SProxy": {
"prefix": "sproxy",
"description": "Generate a proxy constant",
"body": [
"_$1 :: Proxy \"$1\"",
"_$1 = Proxy"
]
},
"Proxy": {
"prefix": "proxy",
"description": "Generate a proxy constant",
"body": [
"_$1 :: Proxy $1",
"_$1 = Proxy"
]
},
"Prop": {
"prefix": "prop",
"description": "Prop lens",
"body": [
"_$1 :: Lens' $2 $3",
"_$1 = prop (Proxy :: _ \"$1\")"
]
},
"Variant constructor": {
"prefix": "inj",
"description": "Generate a constructor for a variant an inline sproxy",
"body": [
"$1 :: forall r a. a -> Variant ( $1 :: a | r)",
"$1 = inj (SProxy :: SProxy \"$1\")"
]
},
"Full variant constructor": {
"prefix": "injf",
"description": "Generate a constructor for a variant with an external sproxy definition",
"body": [
"$1 :: forall r a. a -> Variant ( $1 :: a | r)",
"$1 = inj _$1",
"",
"_$1 :: Proxy \"$1\"",
"_$1 = Proxy"
]
},
"Example code": {
"prefix": "ex",
"description": "Provide example usage for some piece of code",
"body" : [
"-- |",
"-- | Ex:",
"-- | ```purs",
"-- | $0",
"-- | ```"
]
},
"Section": {
"prefix": "section",
"description": "Delimit a section using 10 dashes",
"body" : "---------- $0"
},
"Typeclass instances": {
"prefix": "sinstances",
"description": "Delimit a section which declares typeclass instances",
"body" : ["---------- Typeclass instances", "$0"]
}
}