module.exports = function (e) { var i = { className: "variable", variants: [ { begin: "\\$\\(" + e.UNDERSCORE_IDENT_RE + "\\)", contains: [e.BACKSLASH_ESCAPE], }, { begin: /\$[@%<?\^\+\*]/ }, ], }, n = { className: "string", begin: /"/, end: /"/, contains: [e.BACKSLASH_ESCAPE, i], }, a = { className: "variable", begin: /\$\([\w-]+\s/, end: /\)/, keywords: { 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", }, contains: [i], }, s = { begin: "^" + e.UNDERSCORE_IDENT_RE + "\\s*[:+?]?=", illegal: "\\n", returnBegin: !0, contains: [ { begin: "^" + e.UNDERSCORE_IDENT_RE, end: "[:+?]?=", excludeEnd: !0 }, ], }, r = { className: "section", begin: /^[^\s]+:/, end: /$/, contains: [i] }; return { aliases: ["mk", "mak"], keywords: "define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath", lexemes: /[\w-]+/, contains: [ e.HASH_COMMENT_MODE, i, n, a, s, { className: "meta", begin: /^\.PHONY:/, end: /$/, keywords: { "meta-keyword": ".PHONY" }, lexemes: /[\.\w]+/, }, r, ], }; };