diff --git a/.changeset/eighty-rabbits-ring.md b/.changeset/eighty-rabbits-ring.md new file mode 100644 index 00000000000..80643028d9c --- /dev/null +++ b/.changeset/eighty-rabbits-ring.md @@ -0,0 +1,5 @@ +--- +'vscode-graphql-syntax': minor +--- + +Adds syntax highlighting for arguments on fragment spreads as well as variable definitions on fragments. diff --git a/packages/vscode-graphql-syntax/grammars/graphql.json b/packages/vscode-graphql-syntax/grammars/graphql.json index 3658be0bcd2..62ee6d3d11a 100644 --- a/packages/vscode-graphql-syntax/grammars/graphql.json +++ b/packages/vscode-graphql-syntax/grammars/graphql.json @@ -31,15 +31,21 @@ }, "graphql-fragment-definition": { "name": "meta.fragment.graphql", - "begin": "\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)))", + "begin": "\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?)", "end": "(?<=})", "captures": { "1": { "name": "keyword.fragment.graphql" }, - "2": { "name": "entity.name.fragment.graphql" }, - "3": { "name": "keyword.on.graphql" }, - "4": { "name": "support.type.graphql" } + "2": { "name": "entity.name.fragment.graphql" } }, "patterns": [ + { + "match": "\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))", + "captures": { + "1": { "name": "keyword.on.graphql" }, + "2": { "name": "support.type.graphql" } + } + }, + { "include": "#graphql-variable-definitions" }, { "include": "#graphql-comment" }, { "include": "#graphql-description-docstring" }, { "include": "#graphql-description-singleline" }, @@ -487,6 +493,7 @@ "2": { "name": "variable.fragment.graphql" } }, "patterns": [ + { "include": "#graphql-arguments" }, { "include": "#graphql-comment" }, { "include": "#graphql-description-docstring" }, { "include": "#graphql-description-singleline" },