summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-makefile.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-makefile.js')
-rw-r--r--public/prism/prism-makefile.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/public/prism/prism-makefile.js b/public/prism/prism-makefile.js
new file mode 100644
index 0000000..08ecf19
--- /dev/null
+++ b/public/prism/prism-makefile.js
@@ -0,0 +1,36 @@
+Prism.languages.makefile = {
+ comment: {
+ pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,
+ lookbehind: true,
+ },
+ string: {
+ pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
+ greedy: true,
+ },
+
+ 'builtin-target': {
+ pattern: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
+ alias: 'builtin',
+ },
+
+ target: {
+ pattern: /^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,
+ alias: 'symbol',
+ inside: {
+ variable: /\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/,
+ },
+ },
+ variable: /\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
+
+ // Directives
+ keyword:
+ /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,
+
+ function: {
+ pattern:
+ /(\()(?:abspath|addsuffix|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(?:list|s)?)(?=[ \t])/,
+ lookbehind: true,
+ },
+ operator: /(?:::|[?:+!])?=|[|@]/,
+ punctuation: /[:;(){}]/,
+};