Updated syntax highlighting to account for specialized instruction encodings. PiperOrigin-RevId: 706021564 Change-Id: I3d11a053bf02b5d4b58743fbe73e33ba98c31266
diff --git a/mpact/sim/decoder/vscode/binfmt/syntaxes/bin_fmt.tmLanguage.json b/mpact/sim/decoder/vscode/binfmt/syntaxes/bin_fmt.tmLanguage.json index e2de089..0892b3f 100644 --- a/mpact/sim/decoder/vscode/binfmt/syntaxes/bin_fmt.tmLanguage.json +++ b/mpact/sim/decoder/vscode/binfmt/syntaxes/bin_fmt.tmLanguage.json
@@ -10,6 +10,7 @@ { "include": "#include_file" }, { "include": "#include_decl" }, { "include": "#instruction_group"}, + { "include": "#specialization"}, { "include": "#format_decl"}, { "include": "#field_decl"}, { "include": "#overlay_decl"}, @@ -83,7 +84,8 @@ "patterns": [ { "include": "#line_comments" }, { "include": "#block_comments" }, - { "include": "#instruction" } + { "include": "#instruction" }, + { "include": "#specialization" } ] }, "signed_unsigned": { @@ -138,6 +140,23 @@ { "include": "#identifier"}, { "include": "#array_ref"}, { "include": "#bin_number"}, + { "include": "#hex_number"}, + { "include": "#constants"} + ] + }, + "specialization": { + "begin": "\\b(\\w+)\\s*:\\s*(specializes)\\s*(\\w+)\\s*:", + "end": ";", + "beginCaptures": { + "1" : { "name": "support.function.bin_fmt"}, + "2" : { "name": "keyword.control.bin_fmt"}, + "3" : { "name": "support.function.bin_fmt"} + }, + "patterns": [ + { "include": "#identifier"}, + { "include": "#array_ref"}, + { "include": "#bin_number"}, + { "include": "#hex_number"}, { "include": "#constants"} ] }, @@ -180,6 +199,10 @@ "name": "brackets.bin_fmt", "match": "[\\{\\}\\(\\)\\[\\]]" }, + "hex_number": { + "match": "\\b0x[0-9a-fA-F]+(\\'?[0-9a-fA-F])*\\b", + "name": "constant.numeric.bin_fmt" + }, "bin_number": { "match": "\\b0b[01]+(\\'?[01])*\\b", "name": "constant.numeric.bin_fmt"