Blame view

bower_components/prism/components/prism-makefile.js 967 Bytes
73bcce88   luigser   COMPONENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  Prism.languages.makefile = {
  	'comment': {
  		pattern: /(^|[^\\])#(?:\\[\s\S]|.)*/,
  		lookbehind: true
  	},
  	'string': /(["'])(?:\\[\s\S]|(?!\1)[^\\\r\n])*\1/,
  
  	// Built-in target names
  	'builtin': /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
  
  	// Targets
  	'symbol': {
  		pattern: /^[^:=\r\n]+(?=\s*:(?!=))/m,
  		inside: {
  			'variable': /\$+(?:[^(){}:#=\s]+|(?=[({]))/
  		}
  	},
  	'variable': /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
  
  	'keyword': [
  		// Directives
  		/\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|-?include|override|private|sinclude|undefine|unexport|vpath)\b/,
  		// Functions
  		{
  			pattern: /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,
  			lookbehind: true
  		}
  	],
  	'operator': /(?:::|[?:+!])?=|[|@]/,
  	'punctuation': /[:;(){}]/
  };