1
Fork 0
satellite/dotfiles/vscode-snippets/snippets/purescript/other.json
2023-01-10 02:38:06 +01:00

62 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"]
},
"If": {
"prefix": "if",
"description": "If then else expression",
"body": ["if $1", "\tthen $2", "\telse $3"]
}
}