better syntax highlighting for vscode
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
|
||||
fun compareAny(A, B) {
|
||||
|
||||
fun compareLists(A: List, B: List) {
|
||||
n = count(A);
|
||||
if n != count(B):
|
||||
return false;
|
||||
|
||||
i = 0;
|
||||
while i < n: {
|
||||
if not compareAny(A[i], B[i]):
|
||||
return false;
|
||||
i = i + 1;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
T = type(A);
|
||||
|
||||
if T != type(B):
|
||||
return false;
|
||||
|
||||
if T == List:
|
||||
return compareLists(A, B);
|
||||
|
||||
if T == Map:
|
||||
error("Maps aren't supported yet!");
|
||||
|
||||
return A == B;
|
||||
}
|
||||
|
||||
assert(compareAny(1, 2) == false);
|
||||
assert(compareAny([], []) == true);
|
||||
assert(compareAny([], [1]) == false);
|
||||
assert(compareAny([1, 2, 3], [1, 2, 3]) == true);
|
||||
assert(compareAny([1, 2, 3], [1, 2, 4]) == false);
|
||||
assert(compareAny([1, 2, 3], [1, 2, 3, 4]) == false);
|
||||
@@ -9,18 +9,18 @@
|
||||
{
|
||||
"match": "\\b(fun)\\b[ \\t\\n]*([a-zA-Z_][a-zA-Z0-9_]*)?\\b",
|
||||
"captures": {
|
||||
"1": {"name": "keyword.control.noja"},
|
||||
"1": {"name": "storage.type.function.noja"},
|
||||
"2": {"name": "entity.name.function"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.word.noja",
|
||||
"match": "\\b(and|or|not)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.noja",
|
||||
"match": "(\\+|-|\\*|\\/|=|==|!=|\\>|\\<|\\>=|\\<=|\\|)"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.logical.noja",
|
||||
"match": "\\b(and|or|not)\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.language.noja",
|
||||
"match": "\\b(none|any|true|false)\\b"
|
||||
@@ -56,13 +56,17 @@
|
||||
"match": "[0-9]+"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.noja",
|
||||
"name": "support.type.noja",
|
||||
"match": "\\b(int|float|bool|[_A-Z][A-Za-z0-9_]*)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.function.builtin.noja",
|
||||
"match": "\\b(import|type|istypeof|print|input|count|error|assert|keysof)\\b"
|
||||
},
|
||||
{
|
||||
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)[ \\t\\n]*\\(",
|
||||
"captures": {
|
||||
"1": {"name": "variable.function.noja"}
|
||||
"1": {"name": "variable.other.function"}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user