mirror of
https://github.com/Funkoala14/knowledgebase_law.git
synced 2025-06-09 01:44:37 +08:00
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
|
'use strict'
|
||
|
|
||
|
module.exports = makefile
|
||
|
makefile.displayName = 'makefile'
|
||
|
makefile.aliases = []
|
||
|
function makefile(Prism) {
|
||
|
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: /[:;(){}]/
|
||
|
}
|
||
|
}
|