Prism.languages.graphql = { 'comment': /#.*/, 'string': { pattern: /"(?:\\.|[^\\"\r\n])*"/, greedy: true }, 'number': /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, 'boolean': /\b(?:true|false)\b/, 'variable': /\$[a-z_]\w*/i, 'directive': { pattern: /@[a-z_]\w*/i, alias: 'function' }, 'attr-name': /[a-z_]\w*(?=\s*:)/i, 'keyword': [ { pattern: /(fragment\s+(?!on)[a-z_]\w*\s+|\.{3}\s*)on\b/, lookbehind: true }, /\b(?:query|fragment|mutation)\b/ ], 'operator': /!|=|\.{3}/, 'punctuation': /[!(){}\[\]:=,]/ };