code: function isGraphQL(path) {
    const node = path.getValue();
    const parent = path.getParentNode();
  
    return (
      hasLanguageComment(node, "GraphQL") ||
      (parent &&
        ((parent.type === "TaggedTemplateExpression" &&
          ((parent.tag.type === "MemberExpression" &&
            parent.tag.object.name === "graphql" &&
            parent.tag.property.name === "experimental") ||
            (parent.tag.type === "Identifier" &&
              (parent.tag.name === "gql" || parent.tag.name === "graphql")))) ||
          (parent.type === "CallExpression" &&
            parent.callee.type === "Identifier" &&
            parent.callee.name === "graphql")))
    );
  }
docs: /*
  react-relay and graphql-tag
  graphql`...`
  graphql.experimental`...`
  gql`...`
  GraphQL comment block
  
  This intentionally excludes Relay Classic tags, as Prettier does not
  support Relay Classic formatting.