Files
cloud-code/claude-code-source/node_modules/.ignored/highlight.js/lib/languages/makefile.js
janlaywss 6187147b74 reconstruct and build @anthropic-ai/claude-code source from source map
- Extract 4756 source files from cli.js.map (57MB)
- Set up Bun build system with bun:bundle feature flag shim
- Configure 90+ compile-time feature flags matching production defaults
- Inject MACRO constants (VERSION, BUILD_TIME, etc.)
- Create stubs for private packages (color-diff-napi, modifiers-napi, etc.)
- Install all public dependencies via pnpm
- Patch commander v14 to allow multi-char short flags (-d2e)
- Build output: dist/cli.js (22MB), verified working
2026-03-31 19:19:50 +08:00

93 lines
2.1 KiB
JavaScript

/*
Language: Makefile
Author: Ivan Sagalaev <maniac@softwaremaniacs.org>
Contributors: Joël Porquet <joel@porquet.org>
Website: https://www.gnu.org/software/make/manual/html_node/Introduction.html
Category: common
*/
function makefile(hljs) {
/* Variables: simple (eg $(var)) and special (eg $@) */
const VARIABLE = {
className: 'variable',
variants: [
{
begin: '\\$\\(' + hljs.UNDERSCORE_IDENT_RE + '\\)',
contains: [ hljs.BACKSLASH_ESCAPE ]
},
{
begin: /\$[@%<?\^\+\*]/
}
]
};
/* Quoted string with variables inside */
const QUOTE_STRING = {
className: 'string',
begin: /"/,
end: /"/,
contains: [
hljs.BACKSLASH_ESCAPE,
VARIABLE
]
};
/* Function: $(func arg,...) */
const FUNC = {
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: [ VARIABLE ]
};
/* Variable assignment */
const ASSIGNMENT = {
begin: '^' + hljs.UNDERSCORE_IDENT_RE + '\\s*(?=[:+?]?=)'
};
/* Meta targets (.PHONY) */
const META = {
className: 'meta',
begin: /^\.PHONY:/,
end: /$/,
keywords: {
$pattern: /[\.\w]+/,
'meta-keyword': '.PHONY'
}
};
/* Targets */
const TARGET = {
className: 'section',
begin: /^[^\s]+:/,
end: /$/,
contains: [ VARIABLE ]
};
return {
name: 'Makefile',
aliases: [
'mk',
'mak',
'make',
],
keywords: {
$pattern: /[\w-]+/,
keyword: 'define endef undefine ifdef ifndef ifeq ifneq else endif ' +
'include -include sinclude override export unexport private vpath'
},
contains: [
hljs.HASH_COMMENT_MODE,
VARIABLE,
QUOTE_STRING,
FUNC,
ASSIGNMENT,
META,
TARGET
]
};
}
module.exports = makefile;