diff --git a/vscode-extension/syntaxes/cent.tmLanguage.json b/vscode-extension/syntaxes/cent.tmLanguage.json index 18f0e31..a4724e2 100644 --- a/vscode-extension/syntaxes/cent.tmLanguage.json +++ b/vscode-extension/syntaxes/cent.tmLanguage.json @@ -8,12 +8,18 @@ { "include": "#strings" }, + { + "include": "#fractions" + }, { "include": "#keywords" }, { "include": "#builtins" }, + { + "include": "#modules" + }, { "include": "#constants" }, @@ -39,15 +45,19 @@ "patterns": [ { "name": "keyword.control.cent", - "match": "\\b(ALVID|AVT|DEFINI|DESIGNA|DONICVM|DVM|ERVMPE|ET|FACE|INVOCA|IN|PER|SI|TVNC|VSQVE|VT|CVM)\\b" + "match": "\\b(AETERNVM|ALVID|AVT|CONTINVA|CVM|DEFINI|DESIGNA|DONICVM|DVM|ERVMPE|ET|FACE|IN|INVOCA|NON|PER|REDI|SI|TVNC|VSQVE|VT)\\b" }, { "name": "keyword.operator.comparison.cent", - "match": "\\b(EST|MINVS|PLVS)\\b" + "match": "\\b(DISPAR|EST|MINVS|PLVS)\\b" }, { "name": "keyword.operator.arithmetic.cent", - "match": "(\\*|\\+|-|/)" + "match": "\\b(RELIQVVM)\\b" + }, + { + "name": "keyword.operator.arithmetic.cent", + "match": "(\\*|\\+|-|/|&)" } ] }, @@ -55,7 +65,15 @@ "patterns": [ { "name": "support.function.builtin.cent", - "match": "\\b(AVDI_NVMERVS|AVDI|DICE|FORTIS_NVMERVS|FORTIS_ELECTIONIS|LONGITVDO|REDI)\\b" + "match": "\\b(AVDI_NVMERVS|AVDI|DICE|EVERRO|FORTIS_NVMERVS|FORTIS_ELECTIONIS|LONGITVDO)\\b" + } + ] + }, + "modules": { + "patterns": [ + { + "name": "support.class.module.cent", + "match": "\\b(FORS|FRACTIO|MAGNVM|SVBNVLLA)\\b" } ] }, @@ -63,7 +81,7 @@ "patterns": [ { "name": "constant.numeric.roman.cent", - "match": "\\b[IVXLCDM]+\\b" + "match": "\\b[IVXLCDM][IVXLCDM_]*\\b" }, { "name": "constant.language.roman.cent", @@ -75,6 +93,18 @@ } ] }, + "fractions": { + "patterns": [ + { + "name": "constant.numeric.fraction.cent", + "match": "\\b[IVXLCDM][IVXLCDM_]*(?:S[S:.|]*|:[S:.|]+|\\.[S:.|]*)" + }, + { + "name": "constant.numeric.fraction.cent", + "match": "(?