{
  "fileTypes": ["js", "jsx", "ts", "tsx", "vue"],
  "injectionSelector": "L:source -string -comment",
  "patterns": [
    {
      "name": "taggedTemplates",
      "contentName": "meta.embedded.block.graphql",
      "begin": "(Relay\\.QL|gql|graphql(\\.experimental)?)(`)",
      "beginCaptures": {
        "1": {
          "name": "entity.name.function.tagged-template.js"
        },
        "2": {
          "name": "punctuation.definition.string.template.begin.js"
        }
      },
      "end": "`",
      "endCaptures": {
        "0": {
          "name": "punctuation.definition.string.template.end.js"
        }
      },
      "patterns": [{ "include": "source.graphql" }]
    },
    {
      "name": "taggedTemplates",
      "contentName": "meta.embedded.block.graphql",
      "begin": "(`)(#graphql)",
      "beginCaptures": {
        "1": {
          "name": "punctuation.definition.string.template.begin.js"
        },
        "2": {
          "name": "comment.line.graphql.js"
        }
      },
      "end": "`",
      "endCaptures": {
        "0": {
          "name": "punctuation.definition.string.template.end.js"
        }
      },
      "patterns": [{ "include": "source.graphql" }]
    }
  ],
  "scopeName": "inline.graphql"
}
