text: (function (Prism) {
  	Prism.languages.dataweave = {
  		'url': /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,
  		'property': {
  			pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,
  			greedy: true
  		},
  		'string': {
  			pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
  			greedy: true
  		},
  		'mime-type': /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,
  		'date': {
  			pattern: /\|[\w:+-]+\|/,
  			greedy: true
  		},
  		'comment': [
  			{
  				pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
  				lookbehind: true,
  				greedy: true
  			},
  			{
  				pattern: /(^|[^\\:])\/\/.*/,
  				lookbehind: true,
  				greedy: true
  			}
  		],
  		'regex': {
  			pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,
  			greedy: true
  		},
  		'keyword': /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,
  		'function': /\b[A-Z_]\w*(?=\s*\()/i,
  		'number': /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
  		'punctuation': /[{}[\];(),.:@]/,
  		'operator': /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,
  		'boolean': /\b(?:false|true)\b/,
  	};
  
  }(Prism));
  