1 | hljs.registerLanguage("makefile",(()=>{"use strict";return e=>{const i={
|
2 | className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",
|
3 | contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},a={className:"string",
|
4 | begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i]},n={className:"variable",
|
5 | begin:/\$\([\w-]+\s/,end:/\)/,keywords:{
|
6 | built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"
|
7 | },contains:[i]},s={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={
|
8 | className:"section",begin:/^[^\s]+:/,end:/$/,contains:[i]};return{
|
9 | name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,
|
10 | keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"
|
11 | },contains:[e.HASH_COMMENT_MODE,i,a,n,s,{className:"meta",begin:/^\.PHONY:/,
|
12 | end:/$/,keywords:{$pattern:/[\.\w]+/,"meta-keyword":".PHONY"}},r]}}})()); |
\ | No newline at end of file |