-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathuplc.tmLanguage.json
83 lines (83 loc) · 2.86 KB
/
uplc.tmLanguage.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "Untyped Plutus Core",
"patterns": [
{
"include": "#keywords"
},
{
"include": "#strings"
},
{
"include": "#constant"
},
{
"include": "#types"
},
{
"include": "#entity"
}
],
"repository": {
"keywords": {
"patterns": [
{
"name": "keyword.control.uplc",
"match": "\\b(program|con|builtin|delay|force|error|lam)\\b"
}
]
},
"strings": {
"name": "string.quoted.double.uplc",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.uplc",
"match": "\\\\."
}
]
},
"constant": {
"patterns": [
{
"include": "#decimal_number"
},
{
"include": "#boolean"
},
{
"name": "constant.numeric.hexadecimal.uplc",
"match": "#[[:xdigit:]]+\\b"
}
]
},
"types": {
"name": "entity.name.type.uplc",
"match": "\\b(integer|bytestring|bool|unit|string|list|pair)\\b"
},
"decimal_number": {
"name": "constant.numeric.decimal.uplc",
"match": "\\b[[:digit:]][[:digit:]_]*(\\.[[:digit:]]*)?\\b",
"patterns": []
},
"boolean": {
"name": "constant.language.boolean.uplc",
"match": "\\b(True|False)\\b",
"patterns": []
},
"entity": {
"patterns": [
{
"name": "entity.name.function.uplc",
"match": "\\b(addInteger|subtractInteger|multiplyInteger|divideInteger|quotientInteger|remainderInteger|modInteger|equalsInteger|lessThanInteger|lessThanEqualsInteger|appendByteString|consByteString|sliceByteString|lengthOfByteString|indexByteString|equalsByteString|lessThanByteString|lessThanEqualsByteString|sha2_256|sha3_256|blake2b_256|verifyEd25519Signature|verifyEcdsaSecp256k1Signature|verifySchnorrSecp256k1Signature|appendString|equalsString|encodeUtf8|decodeUtf8|ifThenElse|chooseUnit|trace|fstPair|sndPair|chooseList|mkCons|headList|tailList|nullList|chooseData|constrData|mapData|listData|iData|bData|unConstrData|unMapData|unListData|unIData|unBData|equalsData|serialiseData|mkPairData|mkNilData|mkNilPairData|bls12_381_G1_add|bls12_381_G1_neg|bls12_381_G1_scalarMul|bls12_381_G1_equal|bls12_381_G1_compress|bls12_381_G1_uncompress|bls12_381_G1_hashToGroup|bls12_381_G2_add|bls12_381_G2_neg|bls12_381_G2_scalarMul|bls12_381_G2_equal|bls12_381_G2_compress|bls12_381_G2_uncompress|bls12_381_G2_hashToGroup|bls12_381_millerLoop|bls12_381_mulMlResult|bls12_381_finalVerify|integerToByteString|byteStringToInteger|keccak_256|blake2b_224)\\b"
},
{
"name": "variable.other.uplc",
"match": "\\b([[:lower:]][[:word:]]*)\\b"
}
]
}
},
"scopeName": "source.uplc"
}