fix
This commit is contained in:
89
book/node_modules/highlight.js/lib/languages/makefile.js
generated
vendored
Normal file
89
book/node_modules/highlight.js/lib/languages/makefile.js
generated
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
/*
|
||||
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, build-system
|
||||
*/
|
||||
|
||||
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,
|
||||
QUOTE_STRING // Added QUOTE_STRING as they can be a part of functions
|
||||
]
|
||||
};
|
||||
/* Variable assignment */
|
||||
const ASSIGNMENT = { begin: '^' + hljs.UNDERSCORE_IDENT_RE + '\\s*(?=[:+?]?=)' };
|
||||
/* Meta targets (.PHONY) */
|
||||
const META = {
|
||||
className: 'meta',
|
||||
begin: /^\.PHONY:/,
|
||||
end: /$/,
|
||||
keywords: {
|
||||
$pattern: /[\.\w]+/,
|
||||
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;
|
Reference in New Issue
Block a user