{
  "fileTypes": ["js", "jsx", "ts", "tsx", "vue", "svelte"],
  "injectionSelector": "L:source -string -comment",
  "patterns": [
    {
      "contentName": "meta.embedded.block.graphql",
      "begin": "(?:Relay\\.QL|gql|graphql(\\.experimental)?)\\s*(?:<.*?>\\s*)?`",
      "end": "`",
      "patterns": [{ "include": "source.graphql" }]
    },
    {
      "contentName": "meta.embedded.block.graphql",
      "begin": "`(\\s*#[ ]*(gql|graphql|GraphQL))",
      "beginCaptures": {
        "1": {
          "name": "meta.embedded.block.graphql comment.line.graphql.js"
        },
        "2": {
          "name": "markup.italic"
        }
      },
      "end": "`",
      "patterns": [{ "include": "source.graphql" }]
    },
    {
      "contentName": "meta.embedded.block.graphql",
      "begin": "(?:gql|graphql)\\s*(?:<.*?>\\s*)?\\(\\s*`",
      "end": "`\\s*\\)",
      "patterns": [{ "include": "source.graphql" }]
    },
    {
      "contentName": "meta.embedded.block.graphql",
      "begin": "(?:\\/\\*[\\s\\*]*(gql|graphql|GraphQL)\\s*\\*\\/)\\s*(`)",
      "beginCaptures": {
        "1": {
          "name": "markup.italic"
        }
      },
      "end": "`",
      "patterns": [{ "include": "source.graphql" }]
    }
  ],
  "scopeName": "inline.graphql"
}
