Socket
Socket
Sign inDemoInstall

highlight.js

Package Overview
Dependencies
0
Maintainers
6
Versions
100
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 10.7.2 to 11.0.0-alpha0

lib/core.d.ts

3

lib/index.js

@@ -26,3 +26,2 @@ var hljs = require('./core');

hljs.registerLanguage('brainfuck', require('./languages/brainfuck'));
hljs.registerLanguage('c-like', require('./languages/c-like'));
hljs.registerLanguage('c', require('./languages/c'));

@@ -84,3 +83,2 @@ hljs.registerLanguage('cal', require('./languages/cal'));

hljs.registerLanguage('hsp', require('./languages/hsp'));
hljs.registerLanguage('htmlbars', require('./languages/htmlbars'));
hljs.registerLanguage('http', require('./languages/http'));

@@ -169,3 +167,2 @@ hljs.registerLanguage('hy', require('./languages/hy'));

hljs.registerLanguage('sqf', require('./languages/sqf'));
hljs.registerLanguage('sql_more', require('./languages/sql_more'));
hljs.registerLanguage('sql', require('./languages/sql'));

@@ -172,0 +169,0 @@ hljs.registerLanguage('stan', require('./languages/stan'));

@@ -35,8 +35,5 @@ /**

function abnf(hljs) {
const regexes = {
ruleDeclaration: /^[a-zA-Z][a-zA-Z0-9-]*/,
unexpectedChars: /[!@#$^&',?+~`|:]/
};
const IDENT = /^[a-zA-Z][a-zA-Z0-9-]*/;
const keywords = [
const KEYWORDS = [
"ALPHA",

@@ -60,40 +57,46 @@ "BIT",

const commentMode = hljs.COMMENT(/;/, /$/);
const COMMENT = hljs.COMMENT(/;/, /$/);
const terminalBinaryMode = {
const TERMINAL_BINARY = {
className: "symbol",
begin: /%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/
match: /%b[0-1]+(-[0-1]+|(\.[0-1]+)+)?/
};
const terminalDecimalMode = {
const TERMINAL_DECIMAL = {
className: "symbol",
begin: /%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/
match: /%d[0-9]+(-[0-9]+|(\.[0-9]+)+)?/
};
const terminalHexadecimalMode = {
const TERMINAL_HEXADECIMAL = {
className: "symbol",
begin: /%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/
match: /%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+)?/
};
const caseSensitivityIndicatorMode = {
const CASE_SENSITIVITY = {
className: "symbol",
begin: /%[si]/
match: /%[si](?=".*")/
};
const ruleDeclarationMode = {
const RULE_DECLARATION = {
className: "attribute",
begin: concat(regexes.ruleDeclaration, /(?=\s*=)/)
match: concat(IDENT, /(?=\s*=)/)
};
const ASSIGNMENT = {
className: "operator",
match: /=\/?/
};
return {
name: 'Augmented Backus-Naur Form',
illegal: regexes.unexpectedChars,
keywords: keywords,
illegal: /[!@#$^&',?+~`|:]/,
keywords: KEYWORDS,
contains: [
ruleDeclarationMode,
commentMode,
terminalBinaryMode,
terminalDecimalMode,
terminalHexadecimalMode,
caseSensitivityIndicatorMode,
ASSIGNMENT,
RULE_DECLARATION,
COMMENT,
TERMINAL_BINARY,
TERMINAL_DECIMAL,
TERMINAL_HEXADECIMAL,
CASE_SENSITIVITY,
hljs.QUOTE_STRING_MODE,

@@ -100,0 +103,0 @@ hljs.NUMBER_MODE

@@ -36,2 +36,6 @@ /**

const IDENT_RE = /[a-zA-Z_$][a-zA-Z0-9_$]*/;
const PKG_NAME_RE = concat(
IDENT_RE,
concat("(\\.", IDENT_RE, ")*")
);
const IDENT_FUNC_RETURN_TYPE_RE = /([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/;

@@ -46,2 +50,61 @@

const KEYWORDS = [
"as",
"break",
"case",
"catch",
"class",
"const",
"continue",
"default",
"delete",
"do",
"dynamic",
"each",
"else",
"extends",
"final",
"finally",
"for",
"function",
"get",
"if",
"implements",
"import",
"in",
"include",
"instanceof",
"interface",
"internal",
"is",
"namespace",
"native",
"new",
"override",
"package",
"private",
"protected",
"public",
"return",
"set",
"static",
"super",
"switch",
"this",
"throw",
"try",
"typeof",
"use",
"var",
"void",
"while",
"with"
];
const LITERALS = [
"true",
"false",
"null",
"undefined"
];
return {

@@ -51,8 +114,4 @@ name: 'ActionScript',

keywords: {
keyword: 'as break case catch class const continue default delete do dynamic each ' +
'else extends final finally for function get if implements import in include ' +
'instanceof interface internal is namespace native new override package private ' +
'protected public return set static super switch this throw try typeof use var void ' +
'while with',
literal: 'true false null undefined'
keyword: KEYWORDS,
literal: LITERALS
},

@@ -66,16 +125,12 @@ contains: [

{
className: 'class',
beginKeywords: 'package',
end: /\{/,
contains: [ hljs.TITLE_MODE ]
beforeMatch: /\b(package)\s+/,
keywords: "package",
match: PKG_NAME_RE,
className: "title.class"
},
{
className: 'class',
beginKeywords: 'class interface',
end: /\{/,
excludeEnd: true,
contains: [
{ beginKeywords: 'extends implements' },
hljs.TITLE_MODE
]
beforeMatch: /\b(class|interface|extends|implements)\s+/,
keywords: "class interface extends implements",
match: IDENT_RE,
className: "title.class"
},

@@ -89,3 +144,2 @@ {

{
className: 'function',
beginKeywords: 'function',

@@ -96,3 +150,3 @@ end: /[{;]/,

contains: [
hljs.TITLE_MODE,
hljs.inherit(hljs.TITLE_MODE, { className: "title.function" }),
{

@@ -99,0 +153,0 @@ className: 'params',

@@ -78,2 +78,76 @@ /*

const KEYWORDS = [
"abort",
"else",
"new",
"return",
"abs",
"elsif",
"not",
"reverse",
"abstract",
"end",
"accept",
"entry",
"select",
"access",
"exception",
"of",
"separate",
"aliased",
"exit",
"or",
"some",
"all",
"others",
"subtype",
"and",
"for",
"out",
"synchronized",
"array",
"function",
"overriding",
"at",
"tagged",
"generic",
"package",
"task",
"begin",
"goto",
"pragma",
"terminate",
"body",
"private",
"then",
"if",
"procedure",
"type",
"case",
"in",
"protected",
"constant",
"interface",
"is",
"raise",
"use",
"declare",
"range",
"delay",
"limited",
"record",
"when",
"delta",
"loop",
"rem",
"while",
"digits",
"renames",
"with",
"do",
"mod",
"requeue",
"xor"
];
return {

@@ -83,12 +157,7 @@ name: 'Ada',

keywords: {
keyword:
'abort else new return abs elsif not reverse abstract end ' +
'accept entry select access exception of separate aliased exit or some ' +
'all others subtype and for out synchronized array function overriding ' +
'at tagged generic package task begin goto pragma terminate ' +
'body private then if procedure type case in protected constant interface ' +
'is raise use declare range delay limited record when delta loop rem while ' +
'digits renames with do mod requeue xor',
literal:
'True False'
keyword: KEYWORDS,
literal: [
"True",
"False"
]
},

@@ -95,0 +164,0 @@ contains: [

@@ -10,3 +10,3 @@ /*

function angelscript(hljs) {
var builtInTypeMode = {
const builtInTypeMode = {
className: 'built_in',

@@ -16,3 +16,3 @@ begin: '\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)'

var objectHandleMode = {
const objectHandleMode = {
className: 'symbol',

@@ -22,6 +22,10 @@ begin: '[a-zA-Z0-9_]+@'

var genericMode = {
const genericMode = {
className: 'keyword',
begin: '<', end: '>',
contains: [ builtInTypeMode, objectHandleMode ]
begin: '<',
end: '>',
contains: [
builtInTypeMode,
objectHandleMode
]
};

@@ -32,11 +36,56 @@

const KEYWORDS = [
"for",
"in|0",
"break",
"continue",
"while",
"do|0",
"return",
"if",
"else",
"case",
"switch",
"namespace",
"is",
"cast",
"or",
"and",
"xor",
"not",
"get|0",
"in",
"inout|10",
"out",
"override",
"set|0",
"private",
"public",
"const",
"default|0",
"final",
"shared",
"external",
"mixin|10",
"enum",
"typedef",
"funcdef",
"this",
"super",
"import",
"from",
"interface",
"abstract|0",
"try",
"catch",
"protected",
"explicit",
"property"
];
return {
name: 'AngelScript',
aliases: ['asc'],
aliases: [ 'asc' ],
keywords:
'for in|0 break continue while do|0 return if else case switch namespace is cast ' +
'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' +
'final shared external mixin|10 enum typedef funcdef this super import from interface ' +
'abstract|0 try catch protected explicit property',
keywords: KEYWORDS,

@@ -49,3 +98,4 @@ // avoid close detection with C# and JS

className: 'string',
begin: '\'', end: '\'',
begin: '\'',
end: '\'',
illegal: '\\n',

@@ -59,3 +109,4 @@ contains: [ hljs.BACKSLASH_ESCAPE ],

className: 'string',
begin: '"""', end: '"""'
begin: '"""',
end: '"""'
},

@@ -65,3 +116,4 @@

className: 'string',
begin: '"', end: '"',
begin: '"',
end: '"',
illegal: '\\n',

@@ -77,7 +129,9 @@ contains: [ hljs.BACKSLASH_ESCAPE ],

className: 'string',
begin: '^\\s*\\[', end: '\\]',
begin: '^\\s*\\[',
end: '\\]'
},
{ // interface or namespace declaration
beginKeywords: 'interface namespace', end: /\{/,
beginKeywords: 'interface namespace',
end: /\{/,
illegal: '[;.\\-]',

@@ -93,3 +147,4 @@ contains: [

{ // class declaration
beginKeywords: 'class', end: /\{/,
beginKeywords: 'class',
end: /\{/,
illegal: '[;.\\-]',

@@ -96,0 +151,0 @@ contains: [

@@ -7,3 +7,3 @@ /*

Description: language definition for Apache configuration files (httpd.conf & .htaccess)
Category: common, config
Category: config
Audit: 2020

@@ -20,3 +20,3 @@ */

className: 'number',
begin: /\d+/
begin: /\b\d+/
};

@@ -56,6 +56,20 @@ const IP_ADDRESS = {

keywords: {
nomarkup:
'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' +
'sethandler errordocument loadmodule options header listen serverroot ' +
'servername'
_: [
"order",
"deny",
"allow",
"setenv",
"rewriterule",
"rewriteengine",
"rewritecond",
"documentroot",
"sethandler",
"errordocument",
"loadmodule",
"options",
"header",
"listen",
"serverroot",
"servername"
]
},

@@ -62,0 +76,0 @@ starts: {

@@ -138,3 +138,2 @@ /*

{
className: 'function',
beginKeywords: 'function',

@@ -145,2 +144,3 @@ end: /\{/,

hljs.inherit(hljs.TITLE_MODE, {
className: "title.function",
begin: IDENT_RE

@@ -147,0 +147,0 @@ }),

@@ -63,3 +63,3 @@ /**

const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';
const FUNCTION_TYPE_RE = '(' +
const FUNCTION_TYPE_RE = '(?!struct)(' +
DECLTYPE_AUTO_RE + '|' +

@@ -276,3 +276,3 @@ optional(NAMESPACE_RE) +

'atomic_ullong new throw return ' +
'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',
'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq struct',
built_in: '_Bool _Complex _Imaginary',

@@ -447,18 +447,8 @@ _relevance_hints: COMMON_CPP_HINTS,

{
className: 'class',
beginKeywords: 'enum class struct union',
end: /[{;:<>=]/,
contains: [
{
beginKeywords: "final class struct"
},
hljs.TITLE_MODE
]
beforeMatch: /\b(enum|class|struct|union)\s+/,
keywords: "enum class struct union",
match: /\w+/,
className: "title.class"
}
]),
exports: {
preprocessor: PREPROCESSOR,
strings: STRINGS,
keywords: CPP_KEYWORDS
}
])
};

@@ -465,0 +455,0 @@ }

@@ -36,12 +36,84 @@ /**

function aspectj(hljs) {
const KEYWORDS =
'false synchronized int abstract float private char boolean static null if const ' +
'for true while long throw strictfp finally protected import native final return void ' +
'enum else extends implements break transient new catch instanceof byte super volatile case ' +
'assert short package default double public try this switch continue throws privileged ' +
'aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization ' +
'staticinitialization withincode target within execution getWithinTypeName handler ' +
'thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents ' +
'warning error soft precedence thisAspectInstance';
const SHORTKEYS = 'get set args call';
const KEYWORDS = [
"false",
"synchronized",
"int",
"abstract",
"float",
"private",
"char",
"boolean",
"static",
"null",
"if",
"const",
"for",
"true",
"while",
"long",
"throw",
"strictfp",
"finally",
"protected",
"import",
"native",
"final",
"return",
"void",
"enum",
"else",
"extends",
"implements",
"break",
"transient",
"new",
"catch",
"instanceof",
"byte",
"super",
"volatile",
"case",
"assert",
"short",
"package",
"default",
"double",
"public",
"try",
"this",
"switch",
"continue",
"throws",
"privileged",
"aspectOf",
"adviceexecution",
"proceed",
"cflowbelow",
"cflow",
"initialization",
"preinitialization",
"staticinitialization",
"withincode",
"target",
"within",
"execution",
"getWithinTypeName",
"handler",
"thisJoinPoint",
"thisJoinPointStaticPart",
"thisEnclosingJoinPointStaticPart",
"declare",
"parents",
"warning",
"error",
"soft",
"precedence",
"thisAspectInstance"
];
const SHORTKEYS = [
"get",
"set",
"args",
"call"
];

@@ -89,3 +161,3 @@ return {

end: /[)]+/,
keywords: KEYWORDS + ' ' + SHORTKEYS,
keywords: KEYWORDS.concat(SHORTKEYS),
excludeEnd: false

@@ -135,3 +207,3 @@ }

begin: concat(hljs.UNDERSCORE_IDENT_RE, /\s*\(/),
keywords: KEYWORDS + ' ' + SHORTKEYS,
keywords: KEYWORDS.concat(SHORTKEYS),
relevance: 0

@@ -138,0 +210,0 @@ },

@@ -32,3 +32,3 @@ /*

];
const LITERAL = 'True False And Null Not Or Default';

@@ -144,3 +144,2 @@

const FUNCTION = {
className: 'function',
beginKeywords: 'Func',

@@ -150,3 +149,3 @@ end: '$',

contains: [
hljs.UNDERSCORE_TITLE_MODE,
hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { className: "title.function" }),
{

@@ -153,0 +152,0 @@ className: 'params',

@@ -127,11 +127,30 @@ /**

const KEYWORDS = [
"if",
"then",
"else",
"elif",
"fi",
"for",
"while",
"in",
"do",
"done",
"case",
"esac",
"function"
];
const LITERALS = [
"true",
"false"
];
return {
name: 'Bash',
aliases: ['sh', 'zsh'],
aliases: ['sh'],
keywords: {
$pattern: /\b[a-z._-]+\b/,
keyword:
'if then else elif fi for while in do done case esac function',
literal:
'true false',
keyword: KEYWORDS,
literal: LITERALS,
built_in:

@@ -138,0 +157,0 @@ // Shell built-ins

@@ -10,2 +10,182 @@ /*

function basic(hljs) {
const KEYWORDS = [
"ABS",
"ASC",
"AND",
"ATN",
"AUTO|0",
"BEEP",
"BLOAD|10",
"BSAVE|10",
"CALL",
"CALLS",
"CDBL",
"CHAIN",
"CHDIR",
"CHR$|10",
"CINT",
"CIRCLE",
"CLEAR",
"CLOSE",
"CLS",
"COLOR",
"COM",
"COMMON",
"CONT",
"COS",
"CSNG",
"CSRLIN",
"CVD",
"CVI",
"CVS",
"DATA",
"DATE$",
"DEFDBL",
"DEFINT",
"DEFSNG",
"DEFSTR",
"DEF|0",
"SEG",
"USR",
"DELETE",
"DIM",
"DRAW",
"EDIT",
"END",
"ENVIRON",
"ENVIRON$",
"EOF",
"EQV",
"ERASE",
"ERDEV",
"ERDEV$",
"ERL",
"ERR",
"ERROR",
"EXP",
"FIELD",
"FILES",
"FIX",
"FOR|0",
"FRE",
"GET",
"GOSUB|10",
"GOTO",
"HEX$",
"IF",
"THEN",
"ELSE|0",
"INKEY$",
"INP",
"INPUT",
"INPUT#",
"INPUT$",
"INSTR",
"IMP",
"INT",
"IOCTL",
"IOCTL$",
"KEY",
"ON",
"OFF",
"LIST",
"KILL",
"LEFT$",
"LEN",
"LET",
"LINE",
"LLIST",
"LOAD",
"LOC",
"LOCATE",
"LOF",
"LOG",
"LPRINT",
"USING",
"LSET",
"MERGE",
"MID$",
"MKDIR",
"MKD$",
"MKI$",
"MKS$",
"MOD",
"NAME",
"NEW",
"NEXT",
"NOISE",
"NOT",
"OCT$",
"ON",
"OR",
"PEN",
"PLAY",
"STRIG",
"OPEN",
"OPTION",
"BASE",
"OUT",
"PAINT",
"PALETTE",
"PCOPY",
"PEEK",
"PMAP",
"POINT",
"POKE",
"POS",
"PRINT",
"PRINT]",
"PSET",
"PRESET",
"PUT",
"RANDOMIZE",
"READ",
"REM",
"RENUM",
"RESET|0",
"RESTORE",
"RESUME",
"RETURN|0",
"RIGHT$",
"RMDIR",
"RND",
"RSET",
"RUN",
"SAVE",
"SCREEN",
"SGN",
"SHELL",
"SIN",
"SOUND",
"SPACE$",
"SPC",
"SQR",
"STEP",
"STICK",
"STOP",
"STR$",
"STRING$",
"SWAP",
"SYSTEM",
"TAB",
"TAN",
"TIME$",
"TIMER",
"TROFF",
"TRON",
"TO",
"USR",
"VAL",
"VARPTR",
"VARPTR$",
"VIEW",
"WAIT",
"WHILE",
"WEND",
"WIDTH",
"WINDOW",
"WRITE",
"XOR"
];
return {

@@ -18,15 +198,3 @@ name: 'BASIC',

$pattern: '[a-zA-Z][a-zA-Z0-9_$%!#]*',
keyword:
'ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE ' +
'CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ' +
'DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ ' +
'EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ' +
'HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' +
'OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ' +
'MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ' +
'BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET ' +
'PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET ' +
'RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP ' +
'SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE ' +
'WEND WIDTH WINDOW WRITE XOR'
keyword: KEYWORDS
},

@@ -33,0 +201,0 @@ contains: [

@@ -60,5 +60,11 @@ /**

')';
const CPP_PRIMITIVE_TYPES = {
className: 'keyword',
begin: '\\b[a-z\\d_]*_t\\b'
const TYPES = {
className: 'type',
variants: [
{ begin: '\\b[a-z\\d_]*_t\\b' },
{ match: /\batomic_[a-z]{3,6}\b/}
]
};

@@ -140,15 +146,74 @@

const CPP_KEYWORDS = {
keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +
'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +
'unsigned long volatile static protected bool template mutable if public friend ' +
'do goto auto void enum else break extern using asm case typeid wchar_t ' +
'short reinterpret_cast|10 default double register explicit signed typename try this ' +
'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +
'concept co_await co_return co_yield requires ' +
'noexcept static_assert thread_local restrict final override ' +
'atomic_bool atomic_char atomic_schar ' +
'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +
'atomic_ullong new throw return ' +
'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',
const C_KEYWORDS = [
"asm",
"auto",
"break",
"case",
"const",
"continue",
"default",
"do",
"else",
"enum",
"extern",
"for",
"fortran",
"goto",
"if",
"inline",
"register",
"restrict",
"return",
"sizeof",
"static",
"struct",
"switch",
"typedef",
"union",
"volatile",
"while",
"_Alignas",
"_Alignof",
"_Atomic",
"_Generic",
"_Noreturn",
"_Static_assert",
"_Thread_local",
// aliases
"alignas",
"alignof",
"noreturn",
"static_assert",
"thread_local",
// not a C keyword but is, for all intents and purposes, treated exactly like one.
"_Pragma"
];
const C_TYPES = [
"float",
"double",
"signed",
"unsigned",
"int",
"short",
"long",
"char",
"void",
"_Bool",
"_Complex",
"_Imaginary",
"_Decimal32",
"_Decimal64",
"_Decimal128",
// aliases
"complex",
"bool",
"imaginary"
];
const KEYWORDS = {
keyword: C_KEYWORDS,
type: C_TYPES,
literal: 'true false NULL',
// TODO: apply hinting work similar to what was done in cpp.js
built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' +

@@ -162,4 +227,3 @@ 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set ' +

'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan ' +
'vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary',
literal: 'true false nullptr NULL'
'vfprintf vprintf vsprintf endl initializer_list unique_ptr',
};

@@ -169,3 +233,3 @@

PREPROCESSOR,
CPP_PRIMITIVE_TYPES,
TYPES,
C_LINE_COMMENT_MODE,

@@ -195,3 +259,3 @@ hljs.C_BLOCK_COMMENT_MODE,

],
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
contains: EXPRESSION_CONTAINS.concat([

@@ -201,3 +265,3 @@ {

end: /\)/,
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
contains: EXPRESSION_CONTAINS.concat([ 'self' ]),

@@ -211,3 +275,2 @@ relevance: 0

const FUNCTION_DECLARATION = {
className: 'function',
begin: '(' + FUNCTION_TYPE_RE + '[\\*&\\s]+)+' + FUNCTION_TITLE,

@@ -217,3 +280,3 @@ returnBegin: true,

excludeEnd: true,
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
illegal: /[^\w\s\*&:<>.]/,

@@ -223,3 +286,3 @@ contains: [

begin: DECLTYPE_AUTO_RE,
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
relevance: 0

@@ -230,3 +293,5 @@ },

returnBegin: true,
contains: [ TITLE_MODE ],
contains: [
hljs.inherit(TITLE_MODE, { className: "title.function" })
],
relevance: 0

@@ -238,3 +303,3 @@ },

end: /\)/,
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
relevance: 0,

@@ -246,3 +311,3 @@ contains: [

NUMBERS,
CPP_PRIMITIVE_TYPES,
TYPES,
// Count matching parentheses.

@@ -252,3 +317,3 @@ {

end: /\)/,
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
relevance: 0,

@@ -261,3 +326,3 @@ contains: [

NUMBERS,
CPP_PRIMITIVE_TYPES
TYPES
]

@@ -267,3 +332,3 @@ }

},
CPP_PRIMITIVE_TYPES,
TYPES,
C_LINE_COMMENT_MODE,

@@ -280,3 +345,3 @@ hljs.C_BLOCK_COMMENT_MODE,

],
keywords: CPP_KEYWORDS,
keywords: KEYWORDS,
// Until differentiations are added between `c` and `cpp`, `c` will

@@ -292,14 +357,5 @@ // not be auto-detected to avoid auto-detect conflicts between C and C++

PREPROCESSOR,
{ // containers: ie, `vector <int> rooms (9);`
begin: '\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<',
end: '>',
keywords: CPP_KEYWORDS,
contains: [
'self',
CPP_PRIMITIVE_TYPES
]
},
{
begin: hljs.IDENT_RE + '::',
keywords: CPP_KEYWORDS
keywords: KEYWORDS
},

@@ -321,3 +377,3 @@ {

strings: STRINGS,
keywords: CPP_KEYWORDS
keywords: KEYWORDS
}

@@ -324,0 +380,0 @@ };

@@ -11,2 +11,45 @@ /*

function capnproto(hljs) {
const KEYWORDS = [
"struct",
"enum",
"interface",
"union",
"group",
"import",
"using",
"const",
"annotation",
"extends",
"in",
"of",
"on",
"as",
"with",
"from",
"fixed"
];
const BUILT_INS = [
"Void",
"Bool",
"Int8",
"Int16",
"Int32",
"Int64",
"UInt8",
"UInt16",
"UInt32",
"UInt64",
"Float32",
"Float64",
"Text",
"Data",
"AnyPointer",
"AnyStruct",
"Capability",
"List"
];
const LITERALS = [
"true",
"false"
];
return {

@@ -16,9 +59,5 @@ name: 'Cap’n Proto',

keywords: {
keyword:
'struct enum interface union group import using const annotation extends in of on as with from fixed',
built_in:
'Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 ' +
'Text Data AnyPointer AnyStruct Capability List',
literal:
'true false'
keyword: KEYWORDS,
built_in: BUILT_INS,
literal: LITERALS
},

@@ -25,0 +64,0 @@ contains: [

@@ -10,14 +10,73 @@ /*

// 2.3. Identifiers and keywords
const KEYWORDS =
'assembly module package import alias class interface object given value ' +
'assign void function new of extends satisfies abstracts in out return ' +
'break continue throw assert dynamic if else switch case for while try ' +
'catch finally then let this outer super is exists nonempty';
const KEYWORDS = [
"assembly",
"module",
"package",
"import",
"alias",
"class",
"interface",
"object",
"given",
"value",
"assign",
"void",
"function",
"new",
"of",
"extends",
"satisfies",
"abstracts",
"in",
"out",
"return",
"break",
"continue",
"throw",
"assert",
"dynamic",
"if",
"else",
"switch",
"case",
"for",
"while",
"try",
"catch",
"finally",
"then",
"let",
"this",
"outer",
"super",
"is",
"exists",
"nonempty"
];
// 7.4.1 Declaration Modifiers
const DECLARATION_MODIFIERS =
'shared abstract formal default actual variable late native deprecated ' +
'final sealed annotation suppressWarnings small';
const DECLARATION_MODIFIERS = [
"shared",
"abstract",
"formal",
"default",
"actual",
"variable",
"late",
"native",
"deprecated",
"final",
"sealed",
"annotation",
"suppressWarnings",
"small"
];
// 7.4.2 Documentation
const DOCUMENTATION =
'doc by license see throws tagged';
const DOCUMENTATION = [
"doc",
"by",
"license",
"see",
"throws",
"tagged"
];
const SUBST = {

@@ -65,3 +124,3 @@ className: 'subst',

keywords: {
keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS,
keyword: KEYWORDS.concat(DECLARATION_MODIFIERS),
meta: DOCUMENTATION

@@ -68,0 +127,0 @@ },

@@ -10,2 +10,34 @@ /*

function clean(hljs) {
const KEYWORDS = [
"if",
"let",
"in",
"with",
"where",
"case",
"of",
"class",
"instance",
"otherwise",
"implementation",
"definition",
"system",
"module",
"from",
"import",
"qualified",
"as",
"special",
"code",
"inline",
"foreign",
"export",
"ccall",
"stdcall",
"generic",
"derive",
"infix",
"infixl",
"infixr"
];
return {

@@ -18,7 +50,3 @@ name: 'Clean',

keywords: {
keyword:
'if let in with where case of class instance otherwise ' +
'implementation definition system module from import qualified as ' +
'special code inline foreign export ccall stdcall generic derive ' +
'infix infixl infixr',
keyword: KEYWORDS,
built_in:

@@ -25,0 +53,0 @@ 'Int Real Char Bool',

@@ -16,3 +16,3 @@ /*

$pattern: SYMBOL_RE,
'builtin-name':
built_in:
// Clojure keywords

@@ -117,3 +117,6 @@ globals + ' ' +

beginKeywords: globals,
lexemes: SYMBOL_RE,
keywords: {
$pattern: SYMBOL_RE,
keyword: globals
},
end: '(\\[|#|\\d|"|:|\\{|\\)|\\(|$)',

@@ -120,0 +123,0 @@ contains: [

@@ -146,3 +146,3 @@ const KEYWORDS = [

Description: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/
Category: common, scripting
Category: scripting
Website: https://coffeescript.org

@@ -306,3 +306,4 @@ */

illegal: /\/\*/,
contains: EXPRESSIONS.concat([
contains: [
...EXPRESSIONS,
hljs.COMMENT('###', '###'),

@@ -354,3 +355,3 @@ hljs.HASH_COMMENT_MODE,

}
])
]
};

@@ -357,0 +358,0 @@ }

@@ -10,53 +10,420 @@ /*

function coq(hljs) {
const KEYWORDS = [
"_|0",
"as",
"at",
"cofix",
"else",
"end",
"exists",
"exists2",
"fix",
"for",
"forall",
"fun",
"if",
"IF",
"in",
"let",
"match",
"mod",
"Prop",
"return",
"Set",
"then",
"Type",
"using",
"where",
"with",
"Abort",
"About",
"Add",
"Admit",
"Admitted",
"All",
"Arguments",
"Assumptions",
"Axiom",
"Back",
"BackTo",
"Backtrack",
"Bind",
"Blacklist",
"Canonical",
"Cd",
"Check",
"Class",
"Classes",
"Close",
"Coercion",
"Coercions",
"CoFixpoint",
"CoInductive",
"Collection",
"Combined",
"Compute",
"Conjecture",
"Conjectures",
"Constant",
"constr",
"Constraint",
"Constructors",
"Context",
"Corollary",
"CreateHintDb",
"Cut",
"Declare",
"Defined",
"Definition",
"Delimit",
"Dependencies",
"Dependent",
"Derive",
"Drop",
"eauto",
"End",
"Equality",
"Eval",
"Example",
"Existential",
"Existentials",
"Existing",
"Export",
"exporting",
"Extern",
"Extract",
"Extraction",
"Fact",
"Field",
"Fields",
"File",
"Fixpoint",
"Focus",
"for",
"From",
"Function",
"Functional",
"Generalizable",
"Global",
"Goal",
"Grab",
"Grammar",
"Graph",
"Guarded",
"Heap",
"Hint",
"HintDb",
"Hints",
"Hypotheses",
"Hypothesis",
"ident",
"Identity",
"If",
"Immediate",
"Implicit",
"Import",
"Include",
"Inductive",
"Infix",
"Info",
"Initial",
"Inline",
"Inspect",
"Instance",
"Instances",
"Intro",
"Intros",
"Inversion",
"Inversion_clear",
"Language",
"Left",
"Lemma",
"Let",
"Libraries",
"Library",
"Load",
"LoadPath",
"Local",
"Locate",
"Ltac",
"ML",
"Mode",
"Module",
"Modules",
"Monomorphic",
"Morphism",
"Next",
"NoInline",
"Notation",
"Obligation",
"Obligations",
"Opaque",
"Open",
"Optimize",
"Options",
"Parameter",
"Parameters",
"Parametric",
"Path",
"Paths",
"pattern",
"Polymorphic",
"Preterm",
"Print",
"Printing",
"Program",
"Projections",
"Proof",
"Proposition",
"Pwd",
"Qed",
"Quit",
"Rec",
"Record",
"Recursive",
"Redirect",
"Relation",
"Remark",
"Remove",
"Require",
"Reserved",
"Reset",
"Resolve",
"Restart",
"Rewrite",
"Right",
"Ring",
"Rings",
"Save",
"Scheme",
"Scope",
"Scopes",
"Script",
"Search",
"SearchAbout",
"SearchHead",
"SearchPattern",
"SearchRewrite",
"Section",
"Separate",
"Set",
"Setoid",
"Show",
"Solve",
"Sorted",
"Step",
"Strategies",
"Strategy",
"Structure",
"SubClass",
"Table",
"Tables",
"Tactic",
"Term",
"Test",
"Theorem",
"Time",
"Timeout",
"Transparent",
"Type",
"Typeclasses",
"Types",
"Undelimit",
"Undo",
"Unfocus",
"Unfocused",
"Unfold",
"Universe",
"Universes",
"Unset",
"Unshelve",
"using",
"Variable",
"Variables",
"Variant",
"Verbose",
"Visibility",
"where",
"with"
];
const BUILT_INS = [
"abstract",
"absurd",
"admit",
"after",
"apply",
"as",
"assert",
"assumption",
"at",
"auto",
"autorewrite",
"autounfold",
"before",
"bottom",
"btauto",
"by",
"case",
"case_eq",
"cbn",
"cbv",
"change",
"classical_left",
"classical_right",
"clear",
"clearbody",
"cofix",
"compare",
"compute",
"congruence",
"constr_eq",
"constructor",
"contradict",
"contradiction",
"cut",
"cutrewrite",
"cycle",
"decide",
"decompose",
"dependent",
"destruct",
"destruction",
"dintuition",
"discriminate",
"discrR",
"do",
"double",
"dtauto",
"eapply",
"eassumption",
"eauto",
"ecase",
"econstructor",
"edestruct",
"ediscriminate",
"eelim",
"eexact",
"eexists",
"einduction",
"einjection",
"eleft",
"elim",
"elimtype",
"enough",
"equality",
"erewrite",
"eright",
"esimplify_eq",
"esplit",
"evar",
"exact",
"exactly_once",
"exfalso",
"exists",
"f_equal",
"fail",
"field",
"field_simplify",
"field_simplify_eq",
"first",
"firstorder",
"fix",
"fold",
"fourier",
"functional",
"generalize",
"generalizing",
"gfail",
"give_up",
"has_evar",
"hnf",
"idtac",
"in",
"induction",
"injection",
"instantiate",
"intro",
"intro_pattern",
"intros",
"intuition",
"inversion",
"inversion_clear",
"is_evar",
"is_var",
"lapply",
"lazy",
"left",
"lia",
"lra",
"move",
"native_compute",
"nia",
"nsatz",
"omega",
"once",
"pattern",
"pose",
"progress",
"proof",
"psatz",
"quote",
"record",
"red",
"refine",
"reflexivity",
"remember",
"rename",
"repeat",
"replace",
"revert",
"revgoals",
"rewrite",
"rewrite_strat",
"right",
"ring",
"ring_simplify",
"rtauto",
"set",
"setoid_reflexivity",
"setoid_replace",
"setoid_rewrite",
"setoid_symmetry",
"setoid_transitivity",
"shelve",
"shelve_unifiable",
"simpl",
"simple",
"simplify_eq",
"solve",
"specialize",
"split",
"split_Rabs",
"split_Rmult",
"stepl",
"stepr",
"subst",
"sum",
"swap",
"symmetry",
"tactic",
"tauto",
"time",
"timeout",
"top",
"transitivity",
"trivial",
"try",
"tryif",
"unfold",
"unify",
"until",
"using",
"vm_compute",
"with"
];
return {
name: 'Coq',
keywords: {
keyword:
'_|0 as at cofix else end exists exists2 fix for forall fun if IF in let ' +
'match mod Prop return Set then Type using where with ' +
'Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo ' +
'Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion ' +
'Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture ' +
'Conjectures Constant constr Constraint Constructors Context Corollary ' +
'CreateHintDb Cut Declare Defined Definition Delimit Dependencies Dependent ' +
'Derive Drop eauto End Equality Eval Example Existential Existentials ' +
'Existing Export exporting Extern Extract Extraction Fact Field Fields File ' +
'Fixpoint Focus for From Function Functional Generalizable Global Goal Grab ' +
'Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident ' +
'Identity If Immediate Implicit Import Include Inductive Infix Info Initial ' +
'Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear ' +
'Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML ' +
'Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation ' +
'Obligations Opaque Open Optimize Options Parameter Parameters Parametric ' +
'Path Paths pattern Polymorphic Preterm Print Printing Program Projections ' +
'Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark ' +
'Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save ' +
'Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern ' +
'SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies ' +
'Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time ' +
'Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused ' +
'Unfold Universe Universes Unset Unshelve using Variable Variables Variant ' +
'Verbose Visibility where with',
built_in:
'abstract absurd admit after apply as assert assumption at auto autorewrite ' +
'autounfold before bottom btauto by case case_eq cbn cbv change ' +
'classical_left classical_right clear clearbody cofix compare compute ' +
'congruence constr_eq constructor contradict contradiction cut cutrewrite ' +
'cycle decide decompose dependent destruct destruction dintuition ' +
'discriminate discrR do double dtauto eapply eassumption eauto ecase ' +
'econstructor edestruct ediscriminate eelim eexact eexists einduction ' +
'einjection eleft elim elimtype enough equality erewrite eright ' +
'esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail ' +
'field field_simplify field_simplify_eq first firstorder fix fold fourier ' +
'functional generalize generalizing gfail give_up has_evar hnf idtac in ' +
'induction injection instantiate intro intro_pattern intros intuition ' +
'inversion inversion_clear is_evar is_var lapply lazy left lia lra move ' +
'native_compute nia nsatz omega once pattern pose progress proof psatz quote ' +
'record red refine reflexivity remember rename repeat replace revert ' +
'revgoals rewrite rewrite_strat right ring ring_simplify rtauto set ' +
'setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry ' +
'setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve ' +
'specialize split split_Rabs split_Rmult stepl stepr subst sum swap ' +
'symmetry tactic tauto time timeout top transitivity trivial try tryif ' +
'unfold unify until using vm_compute with'
keyword: KEYWORDS,
built_in: BUILT_INS
},

@@ -63,0 +430,0 @@ contains: [

@@ -63,3 +63,3 @@ /**

const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';
const FUNCTION_TYPE_RE = '(' +
const FUNCTION_TYPE_RE = '(?!struct)(' +
DECLTYPE_AUTO_RE + '|' +

@@ -276,3 +276,3 @@ optional(NAMESPACE_RE) +

'atomic_ullong new throw return ' +
'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',
'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq struct',
built_in: '_Bool _Complex _Imaginary',

@@ -447,18 +447,8 @@ _relevance_hints: COMMON_CPP_HINTS,

{
className: 'class',
beginKeywords: 'enum class struct union',
end: /[{;:<>=]/,
contains: [
{
beginKeywords: "final class struct"
},
hljs.TITLE_MODE
]
beforeMatch: /\b(enum|class|struct|union)\s+/,
keywords: "enum class struct union",
match: /\w+/,
className: "title.class"
}
]),
exports: {
preprocessor: PREPROCESSOR,
strings: STRINGS,
keywords: CPP_KEYWORDS
}
])
};

@@ -465,0 +455,0 @@ }

@@ -12,2 +12,20 @@ /*

function csp(hljs) {
const KEYWORDS = [
"base-uri",
"child-src",
"connect-src",
"default-src",
"font-src",
"form-action",
"frame-ancestors",
"frame-src",
"img-src",
"media-src",
"object-src",
"plugin-types",
"report-uri",
"sandbox",
"script-src",
"style-src"
];
return {

@@ -18,5 +36,3 @@ name: 'CSP',

$pattern: '[a-zA-Z][a-zA-Z0-9_-]*',
keyword: 'base-uri child-src connect-src default-src font-src form-action ' +
'frame-ancestors frame-src img-src media-src object-src plugin-types ' +
'report-uri sandbox script-src style-src'
keyword: KEYWORDS
},

@@ -23,0 +39,0 @@ contains: [

@@ -20,2 +20,15 @@ const MODES = (hljs) => {

]
},
CSS_NUMBER_MODE: {
className: 'number',
begin: hljs.NUMBER_RE + '(' +
'%|em|ex|ch|rem' +
'|vw|vh|vmin|vmax' +
'|cm|mm|in|pt|pc|px' +
'|deg|grad|rad|turn' +
'|s|ms' +
'|Hz|kHz' +
'|dpi|dpcm|dppx' +
')?',
relevance: 0
}

@@ -504,3 +517,3 @@ };

// attribute value mode
hljs.CSS_NUMBER_MODE,
modes.CSS_NUMBER_MODE,
{

@@ -545,3 +558,3 @@ className: 'selector-id',

modes.IMPORTANT,
hljs.CSS_NUMBER_MODE,
modes.CSS_NUMBER_MODE,
...STRINGS,

@@ -598,3 +611,3 @@ // needed to highlight these as strings and to avoid issues with

...STRINGS,
hljs.CSS_NUMBER_MODE
modes.CSS_NUMBER_MODE
]

@@ -601,0 +614,0 @@ }

@@ -126,7 +126,70 @@ /*

const BASIC_KEYWORDS = [
"abstract",
"as",
"assert",
"async",
"await",
"break",
"case",
"catch",
"class",
"const",
"continue",
"covariant",
"default",
"deferred",
"do",
"dynamic",
"else",
"enum",
"export",
"extends",
"extension",
"external",
"factory",
"false",
"final",
"finally",
"for",
"Function",
"get",
"hide",
"if",
"implements",
"import",
"in",
"inferface",
"is",
"late",
"library",
"mixin",
"new",
"null",
"on",
"operator",
"part",
"required",
"rethrow",
"return",
"set",
"show",
"static",
"super",
"switch",
"sync",
"this",
"throw",
"true",
"try",
"typedef",
"var",
"void",
"while",
"with",
"yield"
];
const KEYWORDS = {
keyword: 'abstract as assert async await break case catch class const continue covariant default deferred do ' +
'dynamic else enum export extends extension external factory false final finally for Function get hide if ' +
'implements import in inferface is late library mixin new null on operator part required rethrow return set ' +
'show static super switch sync this throw true try typedef var void while with yield',
keyword: BASIC_KEYWORDS,
built_in:

@@ -133,0 +196,0 @@ BUILT_IN_TYPES

@@ -8,14 +8,131 @@ /*

function delphi(hljs) {
const KEYWORDS =
'exports register file shl array record property for mod while set ally label uses raise not ' +
'stored class safecall var interface or private static exit index inherited to else stdcall ' +
'override shr asm far resourcestring finalization packed virtual out and protected library do ' +
'xorwrite goto near function end div overload object unit begin string on inline repeat until ' +
'destructor write message program with read initialization except default nil if case cdecl in ' +
'downto threadvar of try pascal const external constructor type public then implementation ' +
'finally published procedure absolute reintroduce operator as is abstract alias assembler ' +
'bitpacked break continue cppdecl cvar enumerator experimental platform deprecated ' +
'unimplemented dynamic export far16 forward generic helper implements interrupt iochecks ' +
'local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat ' +
'specialize strict unaligned varargs ';
const KEYWORDS = [
"exports",
"register",
"file",
"shl",
"array",
"record",
"property",
"for",
"mod",
"while",
"set",
"ally",
"label",
"uses",
"raise",
"not",
"stored",
"class",
"safecall",
"var",
"interface",
"or",
"private",
"static",
"exit",
"index",
"inherited",
"to",
"else",
"stdcall",
"override",
"shr",
"asm",
"far",
"resourcestring",
"finalization",
"packed",
"virtual",
"out",
"and",
"protected",
"library",
"do",
"xorwrite",
"goto",
"near",
"function",
"end",
"div",
"overload",
"object",
"unit",
"begin",
"string",
"on",
"inline",
"repeat",
"until",
"destructor",
"write",
"message",
"program",
"with",
"read",
"initialization",
"except",
"default",
"nil",
"if",
"case",
"cdecl",
"in",
"downto",
"threadvar",
"of",
"try",
"pascal",
"const",
"external",
"constructor",
"type",
"public",
"then",
"implementation",
"finally",
"published",
"procedure",
"absolute",
"reintroduce",
"operator",
"as",
"is",
"abstract",
"alias",
"assembler",
"bitpacked",
"break",
"continue",
"cppdecl",
"cvar",
"enumerator",
"experimental",
"platform",
"deprecated",
"unimplemented",
"dynamic",
"export",
"far16",
"forward",
"generic",
"helper",
"implements",
"interrupt",
"iochecks",
"local",
"name",
"nodefault",
"noreturn",
"nostackframe",
"oldfpccall",
"otherwise",
"saveregisters",
"softfloat",
"specialize",
"strict",
"unaligned",
"varargs"
];
const COMMENT_MODES = [

@@ -106,7 +223,3 @@ hljs.C_LINE_COMMENT_MODE,

'pas',
'pascal',
'freepascal',
'lazarus',
'lpr',
'lfm'
'pascal'
],

@@ -113,0 +226,0 @@ case_insensitive: true,

@@ -0,1 +1,29 @@

/**
* @param {string} value
* @returns {RegExp}
* */
/**
* @param {RegExp | string } re
* @returns {string}
*/
function source(re) {
if (!re) return null;
if (typeof re === "string") return re;
return re.source;
}
/**
* Any of the passed expresssions may match
*
* Creates a huge this | this | that | that match
* @param {(RegExp | string)[] } args
* @returns {string}
*/
function either(...args) {
const joined = '(' + args.map((x) => source(x)).join("|") + ")";
return joined;
}
/*

@@ -18,13 +46,7 @@ Language: Diff

relevance: 10,
variants: [
{
begin: /^@@ +-\d+,\d+ +\+\d+,\d+ +@@/
},
{
begin: /^\*\*\* +\d+,\d+ +\*\*\*\*$/
},
{
begin: /^--- +\d+,\d+ +----$/
}
]
match: either(
/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,
/^\*\*\* +\d+,\d+ +\*\*\*\*$/,
/^--- +\d+,\d+ +----$/
)
},

@@ -35,31 +57,15 @@ {

{
begin: /Index: /,
begin: either(
/Index: /,
/^index/,
/={3,}/,
/^-{3}/,
/^\*{3} /,
/^\+{3}/,
/^diff --git/
),
end: /$/
},
{
begin: /^index/,
end: /$/
},
{
begin: /={3,}/,
end: /$/
},
{
begin: /^-{3}/,
end: /$/
},
{
begin: /^\*{3} /,
end: /$/
},
{
begin: /^\+{3}/,
end: /$/
},
{
begin: /^\*{15}$/
},
{
begin: /^diff --git/,
end: /$/
match: /^\*{15}$/
}

@@ -66,0 +72,0 @@ ]

@@ -10,2 +10,42 @@ /*

function dns(hljs) {
const KEYWORDS = [
"IN",
"A",
"AAAA",
"AFSDB",
"APL",
"CAA",
"CDNSKEY",
"CDS",
"CERT",
"CNAME",
"DHCID",
"DLV",
"DNAME",
"DNSKEY",
"DS",
"HIP",
"IPSECKEY",
"KEY",
"KX",
"LOC",
"MX",
"NAPTR",
"NS",
"NSEC",
"NSEC3",
"NSEC3PARAM",
"PTR",
"RRSIG",
"RP",
"SIG",
"SOA",
"SRV",
"SSHFP",
"TA",
"TKEY",
"TLSA",
"TSIG",
"TXT"
];
return {

@@ -17,7 +57,3 @@ name: 'DNS Zone',

],
keywords: {
keyword:
'IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX ' +
'LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT'
},
keywords: KEYWORDS,
contains: [

@@ -24,0 +60,0 @@ hljs.COMMENT(';', '$', {

@@ -12,2 +12,12 @@ /*

function dockerfile(hljs) {
const KEYWORDS = [
"from",
"maintainer",
"expose",
"env",
"arg",
"user",
"onbuild",
"stopsignal"
];
return {

@@ -17,3 +27,3 @@ name: 'Dockerfile',

case_insensitive: true,
keywords: 'from maintainer expose env arg user onbuild stopsignal',
keywords: KEYWORDS,
contains: [

@@ -20,0 +30,0 @@ hljs.HASH_COMMENT_MODE,

@@ -21,2 +21,113 @@ /*

};
const KEYWORDS = [
"if",
"else",
"goto",
"for",
"in",
"do",
"call",
"exit",
"not",
"exist",
"errorlevel",
"defined",
"equ",
"neq",
"lss",
"leq",
"gtr",
"geq"
];
const BUILT_INS = [
"prn",
"nul",
"lpt3",
"lpt2",
"lpt1",
"con",
"com4",
"com3",
"com2",
"com1",
"aux",
"shift",
"cd",
"dir",
"echo",
"setlocal",
"endlocal",
"set",
"pause",
"copy",
"append",
"assoc",
"at",
"attrib",
"break",
"cacls",
"cd",
"chcp",
"chdir",
"chkdsk",
"chkntfs",
"cls",
"cmd",
"color",
"comp",
"compact",
"convert",
"date",
"dir",
"diskcomp",
"diskcopy",
"doskey",
"erase",
"fs",
"find",
"findstr",
"format",
"ftype",
"graftabl",
"help",
"keyb",
"label",
"md",
"mkdir",
"mode",
"more",
"move",
"path",
"pause",
"print",
"popd",
"pushd",
"promt",
"rd",
"recover",
"rem",
"rename",
"replace",
"restore",
"rmdir",
"shift",
"sort",
"start",
"subst",
"time",
"title",
"tree",
"type",
"ver",
"verify",
"vol",
// winutils
"ping",
"net",
"ipconfig",
"taskkill",
"xcopy",
"ren",
"del"
];
return {

@@ -31,15 +142,4 @@ name: 'Batch file (DOS)',

keywords: {
keyword:
'if else goto for in do call exit not exist errorlevel defined ' +
'equ neq lss leq gtr geq',
built_in:
'prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux ' +
'shift cd dir echo setlocal endlocal set pause copy ' +
'append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color ' +
'comp compact convert date dir diskcomp diskcopy doskey erase fs ' +
'find findstr format ftype graftabl help keyb label md mkdir mode more move path ' +
'pause print popd pushd promt rd recover rem rename replace restore rmdir shift ' +
'sort start subst time title tree type ver verify vol ' +
// winutils
'ping net ipconfig taskkill xcopy ren del'
keyword: KEYWORDS,
built_in: BUILT_INS
},

@@ -46,0 +146,0 @@ contains: [

@@ -55,7 +55,29 @@ /*

const KEYWORDS = [
"let",
"in",
"if",
"then",
"else",
"case",
"of",
"where",
"module",
"import",
"exposing",
"type",
"alias",
"as",
"infix",
"infixl",
"infixr",
"port",
"effect",
"command",
"subscription"
];
return {
name: 'Elm',
keywords:
'let in if then else case of where module import exposing ' +
'type alias as infix infixl infixr port effect command subscription',
keywords: KEYWORDS,
contains: [

@@ -112,3 +134,2 @@

// Literals and names.
CHARACTER,

@@ -123,5 +144,5 @@ hljs.QUOTE_STRING_MODE,

{
{ // No markup, relevance booster
begin: '->|<-'
} // No markup, relevance booster
}
],

@@ -128,0 +149,0 @@ illegal: /;/

@@ -10,2 +10,483 @@ /*

function excel(hljs) {
// built-in functions imported from https://web.archive.org/web/20160513042710/https://support.office.com/en-us/article/Excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188
const BUILT_INS = [
"ABS",
"ACCRINT",
"ACCRINTM",
"ACOS",
"ACOSH",
"ACOT",
"ACOTH",
"AGGREGATE",
"ADDRESS",
"AMORDEGRC",
"AMORLINC",
"AND",
"ARABIC",
"AREAS",
"ASC",
"ASIN",
"ASINH",
"ATAN",
"ATAN2",
"ATANH",
"AVEDEV",
"AVERAGE",
"AVERAGEA",
"AVERAGEIF",
"AVERAGEIFS",
"BAHTTEXT",
"BASE",
"BESSELI",
"BESSELJ",
"BESSELK",
"BESSELY",
"BETADIST",
"BETA.DIST",
"BETAINV",
"BETA.INV",
"BIN2DEC",
"BIN2HEX",
"BIN2OCT",
"BINOMDIST",
"BINOM.DIST",
"BINOM.DIST.RANGE",
"BINOM.INV",
"BITAND",
"BITLSHIFT",
"BITOR",
"BITRSHIFT",
"BITXOR",
"CALL",
"CEILING",
"CEILING.MATH",
"CEILING.PRECISE",
"CELL",
"CHAR",
"CHIDIST",
"CHIINV",
"CHITEST",
"CHISQ.DIST",
"CHISQ.DIST.RT",
"CHISQ.INV",
"CHISQ.INV.RT",
"CHISQ.TEST",
"CHOOSE",
"CLEAN",
"CODE",
"COLUMN",
"COLUMNS",
"COMBIN",
"COMBINA",
"COMPLEX",
"CONCAT",
"CONCATENATE",
"CONFIDENCE",
"CONFIDENCE.NORM",
"CONFIDENCE.T",
"CONVERT",
"CORREL",
"COS",
"COSH",
"COT",
"COTH",
"COUNT",
"COUNTA",
"COUNTBLANK",
"COUNTIF",
"COUNTIFS",
"COUPDAYBS",
"COUPDAYS",
"COUPDAYSNC",
"COUPNCD",
"COUPNUM",
"COUPPCD",
"COVAR",
"COVARIANCE.P",
"COVARIANCE.S",
"CRITBINOM",
"CSC",
"CSCH",
"CUBEKPIMEMBER",
"CUBEMEMBER",
"CUBEMEMBERPROPERTY",
"CUBERANKEDMEMBER",
"CUBESET",
"CUBESETCOUNT",
"CUBEVALUE",
"CUMIPMT",
"CUMPRINC",
"DATE",
"DATEDIF",
"DATEVALUE",
"DAVERAGE",
"DAY",
"DAYS",
"DAYS360",
"DB",
"DBCS",
"DCOUNT",
"DCOUNTA",
"DDB",
"DEC2BIN",
"DEC2HEX",
"DEC2OCT",
"DECIMAL",
"DEGREES",
"DELTA",
"DEVSQ",
"DGET",
"DISC",
"DMAX",
"DMIN",
"DOLLAR",
"DOLLARDE",
"DOLLARFR",
"DPRODUCT",
"DSTDEV",
"DSTDEVP",
"DSUM",
"DURATION",
"DVAR",
"DVARP",
"EDATE",
"EFFECT",
"ENCODEURL",
"EOMONTH",
"ERF",
"ERF.PRECISE",
"ERFC",
"ERFC.PRECISE",
"ERROR.TYPE",
"EUROCONVERT",
"EVEN",
"EXACT",
"EXP",
"EXPON.DIST",
"EXPONDIST",
"FACT",
"FACTDOUBLE",
"FALSE|0",
"F.DIST",
"FDIST",
"F.DIST.RT",
"FILTERXML",
"FIND",
"FINDB",
"F.INV",
"F.INV.RT",
"FINV",
"FISHER",
"FISHERINV",
"FIXED",
"FLOOR",
"FLOOR.MATH",
"FLOOR.PRECISE",
"FORECAST",
"FORECAST.ETS",
"FORECAST.ETS.CONFINT",
"FORECAST.ETS.SEASONALITY",
"FORECAST.ETS.STAT",
"FORECAST.LINEAR",
"FORMULATEXT",
"FREQUENCY",
"F.TEST",
"FTEST",
"FV",
"FVSCHEDULE",
"GAMMA",
"GAMMA.DIST",
"GAMMADIST",
"GAMMA.INV",
"GAMMAINV",
"GAMMALN",
"GAMMALN.PRECISE",
"GAUSS",
"GCD",
"GEOMEAN",
"GESTEP",
"GETPIVOTDATA",
"GROWTH",
"HARMEAN",
"HEX2BIN",
"HEX2DEC",
"HEX2OCT",
"HLOOKUP",
"HOUR",
"HYPERLINK",
"HYPGEOM.DIST",
"HYPGEOMDIST",
"IF",
"IFERROR",
"IFNA",
"IFS",
"IMABS",
"IMAGINARY",
"IMARGUMENT",
"IMCONJUGATE",
"IMCOS",
"IMCOSH",
"IMCOT",
"IMCSC",
"IMCSCH",
"IMDIV",
"IMEXP",
"IMLN",
"IMLOG10",
"IMLOG2",
"IMPOWER",
"IMPRODUCT",
"IMREAL",
"IMSEC",
"IMSECH",
"IMSIN",
"IMSINH",
"IMSQRT",
"IMSUB",
"IMSUM",
"IMTAN",
"INDEX",
"INDIRECT",
"INFO",
"INT",
"INTERCEPT",
"INTRATE",
"IPMT",
"IRR",
"ISBLANK",
"ISERR",
"ISERROR",
"ISEVEN",
"ISFORMULA",
"ISLOGICAL",
"ISNA",
"ISNONTEXT",
"ISNUMBER",
"ISODD",
"ISREF",
"ISTEXT",
"ISO.CEILING",
"ISOWEEKNUM",
"ISPMT",
"JIS",
"KURT",
"LARGE",
"LCM",
"LEFT",
"LEFTB",
"LEN",
"LENB",
"LINEST",
"LN",
"LOG",
"LOG10",
"LOGEST",
"LOGINV",
"LOGNORM.DIST",
"LOGNORMDIST",
"LOGNORM.INV",
"LOOKUP",
"LOWER",
"MATCH",
"MAX",
"MAXA",
"MAXIFS",
"MDETERM",
"MDURATION",
"MEDIAN",
"MID",
"MIDBs",
"MIN",
"MINIFS",
"MINA",
"MINUTE",
"MINVERSE",
"MIRR",
"MMULT",
"MOD",
"MODE",
"MODE.MULT",
"MODE.SNGL",
"MONTH",
"MROUND",
"MULTINOMIAL",
"MUNIT",
"N",
"NA",
"NEGBINOM.DIST",
"NEGBINOMDIST",
"NETWORKDAYS",
"NETWORKDAYS.INTL",
"NOMINAL",
"NORM.DIST",
"NORMDIST",
"NORMINV",
"NORM.INV",
"NORM.S.DIST",
"NORMSDIST",
"NORM.S.INV",
"NORMSINV",
"NOT",
"NOW",
"NPER",
"NPV",
"NUMBERVALUE",
"OCT2BIN",
"OCT2DEC",
"OCT2HEX",
"ODD",
"ODDFPRICE",
"ODDFYIELD",
"ODDLPRICE",
"ODDLYIELD",
"OFFSET",
"OR",
"PDURATION",
"PEARSON",
"PERCENTILE.EXC",
"PERCENTILE.INC",
"PERCENTILE",
"PERCENTRANK.EXC",
"PERCENTRANK.INC",
"PERCENTRANK",
"PERMUT",
"PERMUTATIONA",
"PHI",
"PHONETIC",
"PI",
"PMT",
"POISSON.DIST",
"POISSON",
"POWER",
"PPMT",
"PRICE",
"PRICEDISC",
"PRICEMAT",
"PROB",
"PRODUCT",
"PROPER",
"PV",
"QUARTILE",
"QUARTILE.EXC",
"QUARTILE.INC",
"QUOTIENT",
"RADIANS",
"RAND",
"RANDBETWEEN",
"RANK.AVG",
"RANK.EQ",
"RANK",
"RATE",
"RECEIVED",
"REGISTER.ID",
"REPLACE",
"REPLACEB",
"REPT",
"RIGHT",
"RIGHTB",
"ROMAN",
"ROUND",
"ROUNDDOWN",
"ROUNDUP",
"ROW",
"ROWS",
"RRI",
"RSQ",
"RTD",
"SEARCH",
"SEARCHB",
"SEC",
"SECH",
"SECOND",
"SERIESSUM",
"SHEET",
"SHEETS",
"SIGN",
"SIN",
"SINH",
"SKEW",
"SKEW.P",
"SLN",
"SLOPE",
"SMALL",
"SQL.REQUEST",
"SQRT",
"SQRTPI",
"STANDARDIZE",
"STDEV",
"STDEV.P",
"STDEV.S",
"STDEVA",
"STDEVP",
"STDEVPA",
"STEYX",
"SUBSTITUTE",
"SUBTOTAL",
"SUM",
"SUMIF",
"SUMIFS",
"SUMPRODUCT",
"SUMSQ",
"SUMX2MY2",
"SUMX2PY2",
"SUMXMY2",
"SWITCH",
"SYD",
"T",
"TAN",
"TANH",
"TBILLEQ",
"TBILLPRICE",
"TBILLYIELD",
"T.DIST",
"T.DIST.2T",
"T.DIST.RT",
"TDIST",
"TEXT",
"TEXTJOIN",
"TIME",
"TIMEVALUE",
"T.INV",
"T.INV.2T",
"TINV",
"TODAY",
"TRANSPOSE",
"TREND",
"TRIM",
"TRIMMEAN",
"TRUE|0",
"TRUNC",
"T.TEST",
"TTEST",
"TYPE",
"UNICHAR",
"UNICODE",
"UPPER",
"VALUE",
"VAR",
"VAR.P",
"VAR.S",
"VARA",
"VARP",
"VARPA",
"VDB",
"VLOOKUP",
"WEBSERVICE",
"WEEKDAY",
"WEEKNUM",
"WEIBULL",
"WEIBULL.DIST",
"WORKDAY",
"WORKDAY.INTL",
"XIRR",
"XNPV",
"XOR",
"YEAR",
"YEARFRAC",
"YIELD",
"YIELDDISC",
"YIELDMAT",
"Z.TEST",
"ZTEST"
];
return {

@@ -18,6 +499,5 @@ name: 'Excel formulae',

case_insensitive: true,
// built-in functions imported from https://web.archive.org/web/20160513042710/https://support.office.com/en-us/article/Excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188
keywords: {
$pattern: /[a-zA-Z][\w\.]*/,
built_in: 'ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST'
built_in: BUILT_INS
},

@@ -24,0 +504,0 @@ contains: [

@@ -40,4 +40,27 @@ /*

keywords: {
literal: 'true false',
keyword: 'case class def else enum if impl import in lat rel index let match namespace switch type yield with'
keyword: [
"case",
"class",
"def",
"else",
"enum",
"if",
"impl",
"import",
"in",
"lat",
"rel",
"index",
"let",
"match",
"namespace",
"switch",
"type",
"yield",
"with"
],
literal: [
"true",
"false"
]
},

@@ -44,0 +67,0 @@ contains: [

@@ -94,43 +94,491 @@ /**

const KEYWORDS = {
literal: '.False. .True.',
keyword: 'kind do concurrent local shared while private call intrinsic where elsewhere ' +
'type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock endassociate ' +
'public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. ' +
'goto save else use module select case ' +
'access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit ' +
'continue format pause cycle exit ' +
'c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg ' +
'synchronous nopass non_overridable pass protected volatile abstract extends import ' +
'non_intrinsic value deferred generic final enumerator class associate bind enum ' +
'c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t ' +
'c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double ' +
'c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr ' +
'c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer ' +
'c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor ' +
'numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ' +
'ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive ' +
'pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure impure ' +
'integer real character complex logical codimension dimension allocatable|10 parameter ' +
'external implicit|10 none double precision assign intent optional pointer ' +
'target in out common equivalence data',
built_in: 'alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint ' +
'dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl ' +
'algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama ' +
'iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod ' +
'qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log ' +
'log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate ' +
'adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product ' +
'eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul ' +
'maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product ' +
'radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind ' +
'set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer ' +
'dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ' +
'ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode ' +
'is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of ' +
'acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 ' +
'atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits ' +
'bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr ' +
'num_images parity popcnt poppar shifta shiftl shiftr this_image sync change team co_broadcast co_max co_min co_sum co_reduce'
};
const KEYWORDS = [
"kind",
"do",
"concurrent",
"local",
"shared",
"while",
"private",
"call",
"intrinsic",
"where",
"elsewhere",
"type",
"endtype",
"endmodule",
"endselect",
"endinterface",
"end",
"enddo",
"endif",
"if",
"forall",
"endforall",
"only",
"contains",
"default",
"return",
"stop",
"then",
"block",
"endblock",
"endassociate",
"public",
"subroutine|10",
"function",
"program",
".and.",
".or.",
".not.",
".le.",
".eq.",
".ge.",
".gt.",
".lt.",
"goto",
"save",
"else",
"use",
"module",
"select",
"case",
"access",
"blank",
"direct",
"exist",
"file",
"fmt",
"form",
"formatted",
"iostat",
"name",
"named",
"nextrec",
"number",
"opened",
"rec",
"recl",
"sequential",
"status",
"unformatted",
"unit",
"continue",
"format",
"pause",
"cycle",
"exit",
"c_null_char",
"c_alert",
"c_backspace",
"c_form_feed",
"flush",
"wait",
"decimal",
"round",
"iomsg",
"synchronous",
"nopass",
"non_overridable",
"pass",
"protected",
"volatile",
"abstract",
"extends",
"import",
"non_intrinsic",
"value",
"deferred",
"generic",
"final",
"enumerator",
"class",
"associate",
"bind",
"enum",
"c_int",
"c_short",
"c_long",
"c_long_long",
"c_signed_char",
"c_size_t",
"c_int8_t",
"c_int16_t",
"c_int32_t",
"c_int64_t",
"c_int_least8_t",
"c_int_least16_t",
"c_int_least32_t",
"c_int_least64_t",
"c_int_fast8_t",
"c_int_fast16_t",
"c_int_fast32_t",
"c_int_fast64_t",
"c_intmax_t",
"C_intptr_t",
"c_float",
"c_double",
"c_long_double",
"c_float_complex",
"c_double_complex",
"c_long_double_complex",
"c_bool",
"c_char",
"c_null_ptr",
"c_null_funptr",
"c_new_line",
"c_carriage_return",
"c_horizontal_tab",
"c_vertical_tab",
"iso_c_binding",
"c_loc",
"c_funloc",
"c_associated",
"c_f_pointer",
"c_ptr",
"c_funptr",
"iso_fortran_env",
"character_storage_size",
"error_unit",
"file_storage_size",
"input_unit",
"iostat_end",
"iostat_eor",
"numeric_storage_size",
"output_unit",
"c_f_procpointer",
"ieee_arithmetic",
"ieee_support_underflow_control",
"ieee_get_underflow_mode",
"ieee_set_underflow_mode",
"newunit",
"contiguous",
"recursive",
"pad",
"position",
"action",
"delim",
"readwrite",
"eor",
"advance",
"nml",
"interface",
"procedure",
"namelist",
"include",
"sequence",
"elemental",
"pure",
"impure",
"integer",
"real",
"character",
"complex",
"logical",
"codimension",
"dimension",
"allocatable|10",
"parameter",
"external",
"implicit|10",
"none",
"double",
"precision",
"assign",
"intent",
"optional",
"pointer",
"target",
"in",
"out",
"common",
"equivalence",
"data"
];
const LITERALS = [
".False.",
".True."
];
const BUILT_INS = [
"alog",
"alog10",
"amax0",
"amax1",
"amin0",
"amin1",
"amod",
"cabs",
"ccos",
"cexp",
"clog",
"csin",
"csqrt",
"dabs",
"dacos",
"dasin",
"datan",
"datan2",
"dcos",
"dcosh",
"ddim",
"dexp",
"dint",
"dlog",
"dlog10",
"dmax1",
"dmin1",
"dmod",
"dnint",
"dsign",
"dsin",
"dsinh",
"dsqrt",
"dtan",
"dtanh",
"float",
"iabs",
"idim",
"idint",
"idnint",
"ifix",
"isign",
"max0",
"max1",
"min0",
"min1",
"sngl",
"algama",
"cdabs",
"cdcos",
"cdexp",
"cdlog",
"cdsin",
"cdsqrt",
"cqabs",
"cqcos",
"cqexp",
"cqlog",
"cqsin",
"cqsqrt",
"dcmplx",
"dconjg",
"derf",
"derfc",
"dfloat",
"dgamma",
"dimag",
"dlgama",
"iqint",
"qabs",
"qacos",
"qasin",
"qatan",
"qatan2",
"qcmplx",
"qconjg",
"qcos",
"qcosh",
"qdim",
"qerf",
"qerfc",
"qexp",
"qgamma",
"qimag",
"qlgama",
"qlog",
"qlog10",
"qmax1",
"qmin1",
"qmod",
"qnint",
"qsign",
"qsin",
"qsinh",
"qsqrt",
"qtan",
"qtanh",
"abs",
"acos",
"aimag",
"aint",
"anint",
"asin",
"atan",
"atan2",
"char",
"cmplx",
"conjg",
"cos",
"cosh",
"exp",
"ichar",
"index",
"int",
"log",
"log10",
"max",
"min",
"nint",
"sign",
"sin",
"sinh",
"sqrt",
"tan",
"tanh",
"print",
"write",
"dim",
"lge",
"lgt",
"lle",
"llt",
"mod",
"nullify",
"allocate",
"deallocate",
"adjustl",
"adjustr",
"all",
"allocated",
"any",
"associated",
"bit_size",
"btest",
"ceiling",
"count",
"cshift",
"date_and_time",
"digits",
"dot_product",
"eoshift",
"epsilon",
"exponent",
"floor",
"fraction",
"huge",
"iand",
"ibclr",
"ibits",
"ibset",
"ieor",
"ior",
"ishft",
"ishftc",
"lbound",
"len_trim",
"matmul",
"maxexponent",
"maxloc",
"maxval",
"merge",
"minexponent",
"minloc",
"minval",
"modulo",
"mvbits",
"nearest",
"pack",
"present",
"product",
"radix",
"random_number",
"random_seed",
"range",
"repeat",
"reshape",
"rrspacing",
"scale",
"scan",
"selected_int_kind",
"selected_real_kind",
"set_exponent",
"shape",
"size",
"spacing",
"spread",
"sum",
"system_clock",
"tiny",
"transpose",
"trim",
"ubound",
"unpack",
"verify",
"achar",
"iachar",
"transfer",
"dble",
"entry",
"dprod",
"cpu_time",
"command_argument_count",
"get_command",
"get_command_argument",
"get_environment_variable",
"is_iostat_end",
"ieee_arithmetic",
"ieee_support_underflow_control",
"ieee_get_underflow_mode",
"ieee_set_underflow_mode",
"is_iostat_eor",
"move_alloc",
"new_line",
"selected_char_kind",
"same_type_as",
"extends_type_of",
"acosh",
"asinh",
"atanh",
"bessel_j0",
"bessel_j1",
"bessel_jn",
"bessel_y0",
"bessel_y1",
"bessel_yn",
"erf",
"erfc",
"erfc_scaled",
"gamma",
"log_gamma",
"hypot",
"norm2",
"atomic_define",
"atomic_ref",
"execute_command_line",
"leadz",
"trailz",
"storage_size",
"merge_bits",
"bge",
"bgt",
"ble",
"blt",
"dshiftl",
"dshiftr",
"findloc",
"iall",
"iany",
"iparity",
"image_index",
"lcobound",
"ucobound",
"maskl",
"maskr",
"num_images",
"parity",
"popcnt",
"poppar",
"shifta",
"shiftl",
"shiftr",
"this_image",
"sync",
"change",
"team",
"co_broadcast",
"co_max",
"co_min",
"co_sum",
"co_reduce"
];
return {

@@ -143,3 +591,7 @@ name: 'Fortran',

],
keywords: KEYWORDS,
keywords: {
keyword: KEYWORDS,
literal: LITERALS,
built_in: BUILT_INS
},
illegal: /\/\*/,

@@ -146,0 +598,0 @@ contains: [

@@ -21,12 +21,72 @@ /*

const KEYWORDS = [
"abstract",
"and",
"as",
"assert",
"base",
"begin",
"class",
"default",
"delegate",
"do",
"done",
"downcast",
"downto",
"elif",
"else",
"end",
"exception",
"extern",
"false",
"finally",
"for",
"fun",
"function",
"global",
"if",
"in",
"inherit",
"inline",
"interface",
"internal",
"lazy",
"let",
"match",
"member",
"module",
"mutable",
"namespace",
"new",
"null",
"of",
"open",
"or",
"override",
"private",
"public",
"rec",
"return",
"sig",
"static",
"struct",
"then",
"to",
"true",
"try",
"type",
"upcast",
"use",
"val",
"void",
"when",
"while",
"with",
"yield"
];
return {
name: 'F#',
aliases: ['fs'],
keywords:
'abstract and as assert base begin class default delegate do done ' +
'downcast downto elif else end exception extern false finally for ' +
'fun function global if in inherit inline interface internal lazy let ' +
'match member module mutable namespace new null of open or ' +
'override private public rec return sig static struct then to ' +
'true try type upcast use val void when while with yield',
keywords: KEYWORDS,
illegal: /\/\*/,

@@ -33,0 +93,0 @@ contains: [

@@ -11,12 +11,75 @@ /*

function go(hljs) {
const GO_KEYWORDS = {
keyword:
'break default func interface select case map struct chan else goto package switch ' +
'const fallthrough if range type continue for import return var go defer ' +
'bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 ' +
'uint16 uint32 uint64 int uint uintptr rune',
literal:
'true false iota nil',
built_in:
'append cap close complex copy imag len make new panic print println real recover delete'
const LITERALS = [
"true",
"false",
"iota",
"nil"
];
const BUILT_INS = [
"append",
"cap",
"close",
"complex",
"copy",
"imag",
"len",
"make",
"new",
"panic",
"print",
"println",
"real",
"recover",
"delete"
];
const KWS = [
"break",
"default",
"func",
"interface",
"select",
"case",
"map",
"struct",
"chan",
"else",
"goto",
"package",
"switch",
"const",
"fallthrough",
"if",
"range",
"type",
"continue",
"for",
"import",
"return",
"var",
"go",
"defer",
"bool",
"byte",
"complex64",
"complex128",
"float32",
"float64",
"int8",
"int16",
"int32",
"int64",
"string",
"uint8",
"uint16",
"uint32",
"uint64",
"int",
"uint",
"uintptr",
"rune"
];
const KEYWORDS = {
keyword: KWS,
literal: LITERALS,
built_in: BUILT_INS
};

@@ -26,3 +89,3 @@ return {

aliases: ['golang'],
keywords: GO_KEYWORDS,
keywords: KEYWORDS,
illegal: '</',

@@ -67,3 +130,3 @@ contains: [

end: /\)/,
keywords: GO_KEYWORDS,
keywords: KEYWORDS,
illegal: /["']/

@@ -70,0 +133,0 @@ }

@@ -9,13 +9,60 @@ /*

function golo(hljs) {
const KEYWORDS = [
"println",
"readln",
"print",
"import",
"module",
"function",
"local",
"return",
"let",
"var",
"while",
"for",
"foreach",
"times",
"in",
"case",
"when",
"match",
"with",
"break",
"continue",
"augment",
"augmentation",
"each",
"find",
"filter",
"reduce",
"if",
"then",
"else",
"otherwise",
"try",
"catch",
"finally",
"raise",
"throw",
"orIfNull",
"DynamicObject|10",
"DynamicVariable",
"struct",
"Observable",
"map",
"set",
"vector",
"list",
"array"
];
return {
name: 'Golo',
keywords: {
keyword:
'println readln print import module function local return let var ' +
'while for foreach times in case when match with break continue ' +
'augment augmentation each find filter reduce ' +
'if then else otherwise try catch finally raise throw orIfNull ' +
'DynamicObject|10 DynamicVariable struct Observable map set vector list array',
literal:
'true false null'
keyword: KEYWORDS,
literal: [
"true",
"false",
"null"
]
},

@@ -22,0 +69,0 @@ contains: [

@@ -9,25 +9,170 @@ /*

function gradle(hljs) {
const KEYWORDS = [
"task",
"project",
"allprojects",
"subprojects",
"artifacts",
"buildscript",
"configurations",
"dependencies",
"repositories",
"sourceSets",
"description",
"delete",
"from",
"into",
"include",
"exclude",
"source",
"classpath",
"destinationDir",
"includes",
"options",
"sourceCompatibility",
"targetCompatibility",
"group",
"flatDir",
"doLast",
"doFirst",
"flatten",
"todir",
"fromdir",
"ant",
"def",
"abstract",
"break",
"case",
"catch",
"continue",
"default",
"do",
"else",
"extends",
"final",
"finally",
"for",
"if",
"implements",
"instanceof",
"native",
"new",
"private",
"protected",
"public",
"return",
"static",
"switch",
"synchronized",
"throw",
"throws",
"transient",
"try",
"volatile",
"while",
"strictfp",
"package",
"import",
"false",
"null",
"super",
"this",
"true",
"antlrtask",
"checkstyle",
"codenarc",
"copy",
"boolean",
"byte",
"char",
"class",
"double",
"float",
"int",
"interface",
"long",
"short",
"void",
"compile",
"runTime",
"file",
"fileTree",
"abs",
"any",
"append",
"asList",
"asWritable",
"call",
"collect",
"compareTo",
"count",
"div",
"dump",
"each",
"eachByte",
"eachFile",
"eachLine",
"every",
"find",
"findAll",
"flatten",
"getAt",
"getErr",
"getIn",
"getOut",
"getText",
"grep",
"immutable",
"inject",
"inspect",
"intersect",
"invokeMethods",
"isCase",
"join",
"leftShift",
"minus",
"multiply",
"newInputStream",
"newOutputStream",
"newPrintWriter",
"newReader",
"newWriter",
"next",
"plus",
"pop",
"power",
"previous",
"print",
"println",
"push",
"putAt",
"read",
"readBytes",
"readLines",
"reverse",
"reverseEach",
"round",
"size",
"sort",
"splitEachLine",
"step",
"subMap",
"times",
"toInteger",
"toList",
"tokenize",
"upto",
"waitForOrKill",
"withPrintWriter",
"withReader",
"withStream",
"withWriter",
"withWriterAppend",
"write",
"writeLine"
];
return {
name: 'Gradle',
case_insensitive: true,
keywords: {
keyword:
'task project allprojects subprojects artifacts buildscript configurations ' +
'dependencies repositories sourceSets description delete from into include ' +
'exclude source classpath destinationDir includes options sourceCompatibility ' +
'targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant ' +
'def abstract break case catch continue default do else extends final finally ' +
'for if implements instanceof native new private protected public return static ' +
'switch synchronized throw throws transient try volatile while strictfp package ' +
'import false null super this true antlrtask checkstyle codenarc copy boolean ' +
'byte char class double float int interface long short void compile runTime ' +
'file fileTree abs any append asList asWritable call collect compareTo count ' +
'div dump each eachByte eachFile eachLine every find findAll flatten getAt ' +
'getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods ' +
'isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter ' +
'newReader newWriter next plus pop power previous print println push putAt read ' +
'readBytes readLines reverse reverseEach round size sort splitEachLine step subMap ' +
'times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader ' +
'withStream withWriter withWriterAppend write writeLine'
},
keywords: KEYWORDS,
contains: [

@@ -34,0 +179,0 @@ hljs.C_LINE_COMMENT_MODE,

@@ -65,3 +65,4 @@ /**

const BUILT_INS = {
'builtin-name': [
$pattern: /[\w.\/]+/,
built_in: [
'action',

@@ -100,2 +101,3 @@ 'bindattr',

const LITERALS = {
$pattern: /[\w.\/]+/,
literal: [

@@ -143,4 +145,3 @@ 'true',

const HELPER_NAME_OR_PATH_EXPRESSION = {
begin: IDENTIFIER_REGEX,
lexemes: /[\w.\/]+/
begin: IDENTIFIER_REGEX
};

@@ -147,0 +148,0 @@

@@ -30,3 +30,3 @@ /**

Author: Ivan Sagalaev <maniac@softwaremaniacs.org>
Category: common, protocols
Category: protocols
Website: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview

@@ -33,0 +33,0 @@ */

@@ -10,7 +10,7 @@ /*

function hy(hljs) {
var SYMBOLSTART = 'a-zA-Z_\\-!.?+*=<>&#\'';
var SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*';
var keywords = {
const SYMBOLSTART = 'a-zA-Z_\\-!.?+*=<>&#\'';
const SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*';
const keywords = {
$pattern: SYMBOL_RE,
'builtin-name':
built_in:
// keywords

@@ -46,16 +46,19 @@ '!= % %= & &= * ** **= *= *map ' +

'xi xor yield yield-from zero? zip zip-longest | |= ~'
};
};
var SIMPLE_NUMBER_RE = '[-+]?\\d+(\\.\\d+)?';
const SIMPLE_NUMBER_RE = '[-+]?\\d+(\\.\\d+)?';
var SYMBOL = {
const SYMBOL = {
begin: SYMBOL_RE,
relevance: 0
};
var NUMBER = {
className: 'number', begin: SIMPLE_NUMBER_RE,
const NUMBER = {
className: 'number',
begin: SIMPLE_NUMBER_RE,
relevance: 0
};
var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null});
var COMMENT = hljs.COMMENT(
const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {
illegal: null
});
const COMMENT = hljs.COMMENT(
';',

@@ -67,26 +70,28 @@ '$',

);
var LITERAL = {
const LITERAL = {
className: 'literal',
begin: /\b([Tt]rue|[Ff]alse|nil|None)\b/
};
var COLLECTION = {
begin: '[\\[\\{]', end: '[\\]\\}]'
const COLLECTION = {
begin: '[\\[\\{]',
end: '[\\]\\}]'
};
var HINT = {
const HINT = {
className: 'comment',
begin: '\\^' + SYMBOL_RE
};
var HINT_COL = hljs.COMMENT('\\^\\{', '\\}');
var KEY = {
const HINT_COL = hljs.COMMENT('\\^\\{', '\\}');
const KEY = {
className: 'symbol',
begin: '[:]{1,2}' + SYMBOL_RE
};
var LIST = {
begin: '\\(', end: '\\)'
const LIST = {
begin: '\\(',
end: '\\)'
};
var BODY = {
const BODY = {
endsWithParent: true,
relevance: 0
};
var NAME = {
const NAME = {
className: 'name',

@@ -98,5 +103,20 @@ relevance: 0,

};
var DEFAULT_CONTAINS = [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL, SYMBOL];
const DEFAULT_CONTAINS = [
LIST,
STRING,
HINT,
HINT_COL,
COMMENT,
KEY,
COLLECTION,
NUMBER,
LITERAL,
SYMBOL
];
LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY];
LIST.contains = [
hljs.COMMENT('comment', ''),
NAME,
BODY
];
BODY.contains = DEFAULT_CONTAINS;

@@ -107,5 +127,16 @@ COLLECTION.contains = DEFAULT_CONTAINS;

name: 'Hy',
aliases: ['hylang'],
aliases: [ 'hylang' ],
illegal: /\S/,
contains: [hljs.SHEBANG(), LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL]
contains: [
hljs.SHEBANG(),
LIST,
STRING,
HINT,
HINT_COL,
COMMENT,
KEY,
COLLECTION,
NUMBER,
LITERAL
]
};

@@ -112,0 +143,0 @@ }

@@ -43,12 +43,98 @@ // https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10

/**
* Allows recursive regex expressions to a given depth
*
* ie: recurRegex("(abc~~~)", /~~~/g, 2) becomes:
* (abc(abc(abc)))
*
* @param {string} re
* @param {RegExp} substitution (should be a g mode regex)
* @param {number} depth
* @returns {string}``
*/
function recurRegex(re, substitution, depth) {
if (depth === -1) return "";
return re.replace(substitution, _ => {
return recurRegex(re, substitution, depth - 1);
});
}
/** @type LanguageFn */
function java(hljs) {
var JAVA_IDENT_RE = '[\u00C0-\u02B8a-zA-Z_$][\u00C0-\u02B8a-zA-Z_$0-9]*';
var GENERIC_IDENT_RE = JAVA_IDENT_RE + '(<' + JAVA_IDENT_RE + '(\\s*,\\s*' + JAVA_IDENT_RE + ')*>)?';
var KEYWORDS = 'false synchronized int abstract float private char boolean var static null if const ' +
'for true while long strictfp finally protected import native final void ' +
'enum else break transient catch instanceof byte super volatile case assert short ' +
'package default double public try this switch continue throws protected public private ' +
'module requires exports do';
const JAVA_IDENT_RE = '[\u00C0-\u02B8a-zA-Z_$][\u00C0-\u02B8a-zA-Z_$0-9]*';
const GENERIC_IDENT_RE = JAVA_IDENT_RE +
recurRegex('(?:<' + JAVA_IDENT_RE + '~~~(?:\\s*,\\s*' + JAVA_IDENT_RE + '~~~)*>)?', /~~~/g, 2);
const MAIN_KEYWORDS = [
'synchronized',
'abstract',
'private',
'var',
'static',
'if',
'const ',
'for',
'while',
'strictfp',
'finally',
'protected',
'import',
'native',
'final',
'void',
'enum',
'else',
'break',
'transient',
'catch',
'instanceof',
'volatile',
'case',
'assert',
'package',
'default',
'public',
'try',
'switch',
'continue',
'throws',
'protected',
'public',
'private',
'module',
'requires',
'exports',
'do'
];
var ANNOTATION = {
const BUILT_INS = [
'super',
'this'
];
const LITERALS = [
'false',
'true',
'null'
];
const TYPES = [
'char',
'boolean',
'long',
'float',
'int',
'byte',
'short',
'double'
];
const KEYWORDS = {
keyword: MAIN_KEYWORDS,
literal: LITERALS,
type: TYPES,
built_in: BUILT_INS
};
const ANNOTATION = {
className: 'meta',

@@ -60,11 +146,21 @@ begin: '@' + JAVA_IDENT_RE,

end: /\)/,
contains: ["self"] // allow nested () inside our annotation
},
contains: [ "self" ] // allow nested () inside our annotation
}
]
};
const NUMBER = NUMERIC;
const PARAMS = {
className: 'params',
begin: /\(/,
end: /\)/,
keywords: KEYWORDS,
relevance: 0,
contains: [
hljs.C_BLOCK_COMMENT_MODE
],
endsParent: true
};
return {
name: 'Java',
aliases: ['jsp'],
aliases: [ 'jsp' ],
keywords: KEYWORDS,

@@ -81,3 +177,4 @@ illegal: /<\/|#/,

// eat up @'s in emails to prevent them to be recognized as doctags
begin: /\w+@/, relevance: 0
begin: /\w+@/,
relevance: 0
},

@@ -102,14 +199,35 @@ {

{
className: 'class',
beginKeywords: 'class interface enum', end: /[{;=]/, excludeEnd: true,
// TODO: can this be removed somehow?
// an extra boost because Java is more popular than other languages with
// this same syntax feature (this is just to preserve our tests passing
// for now)
relevance: 1,
keywords: 'class interface enum',
illegal: /[:"\[\]]/,
beforeMatch: /\b(class|interface|enum|extends|implements|new)\s+/,
keywords: "class interface enum extends implements new",
match: JAVA_IDENT_RE,
className: "title.class"
},
{
begin: [
JAVA_IDENT_RE,
/\s+/,
JAVA_IDENT_RE,
/\s+/,
/=/
],
className: {
1: "type",
3: "variable",
5: "operator"
}
},
{
begin: [
/record/,
/\s+/,
JAVA_IDENT_RE
],
className: {
1: "keyword",
3: "title.class"
},
contains: [
{ beginKeywords: 'extends implements' },
hljs.UNDERSCORE_TITLE_MODE
PARAMS,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
]

@@ -124,50 +242,23 @@ },

{
className: 'class',
begin: 'record\\s+' + hljs.UNDERSCORE_IDENT_RE + '\\s*\\(',
returnBegin: true,
excludeEnd: true,
end: /[{;=]/,
begin: [
'(?:' + GENERIC_IDENT_RE + '\\s+)',
hljs.UNDERSCORE_IDENT_RE,
/\s*(?=\()/
],
className: {
2: "title.function"
},
keywords: KEYWORDS,
contains: [
{ beginKeywords: "record" },
{
begin: hljs.UNDERSCORE_IDENT_RE + '\\s*\\(',
returnBegin: true,
relevance: 0,
contains: [hljs.UNDERSCORE_TITLE_MODE]
},
{
className: 'params',
begin: /\(/, end: /\)/,
begin: /\(/,
end: /\)/,
keywords: KEYWORDS,
relevance: 0,
contains: [
hljs.C_BLOCK_COMMENT_MODE
]
},
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
]
},
{
className: 'function',
begin: '(' + GENERIC_IDENT_RE + '\\s+)+' + hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', returnBegin: true, end: /[{;=]/,
excludeEnd: true,
keywords: KEYWORDS,
contains: [
{
begin: hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', returnBegin: true,
relevance: 0,
contains: [hljs.UNDERSCORE_TITLE_MODE]
},
{
className: 'params',
begin: /\(/, end: /\)/,
keywords: KEYWORDS,
relevance: 0,
contains: [
ANNOTATION,
hljs.APOS_STRING_MODE,
hljs.QUOTE_STRING_MODE,
NUMBER,
NUMERIC,
hljs.C_BLOCK_COMMENT_MODE

@@ -180,3 +271,3 @@ ]

},
NUMBER,
NUMERIC,
ANNOTATION

@@ -183,0 +274,0 @@ ]

@@ -556,2 +556,15 @@ const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';

},
// catch ... so it won't trigger the property rule below
{
begin: /\.\.\./,
relevance: 0
},
{
begin: concat(/\./, lookahead(IDENT_RE$1)),
end: IDENT_RE$1,
excludeBegin: true,
keywords: "prototype",
className: "property",
relevance: 0
},
// hack: prevents detection of keywords in some circumstances

@@ -558,0 +571,0 @@ // .keyword()

@@ -7,2 +7,4 @@ /*

*/
/** @type LanguageFn */
function ldif(hljs) {

@@ -14,9 +16,3 @@ return {

className: 'attribute',
begin: '^dn',
end: ': ',
excludeEnd: true,
starts: {
end: '$',
relevance: 0
},
match: '^dn(?=:)',
relevance: 10

@@ -26,14 +22,7 @@ },

className: 'attribute',
begin: '^\\w',
end: ': ',
excludeEnd: true,
starts: {
end: '$',
relevance: 0
}
match: '^\\w+(?=:)'
},
{
className: 'literal',
begin: '^-',
end: '$'
match: '^-'
},

@@ -40,0 +29,0 @@ hljs.HASH_COMMENT_MODE

@@ -20,2 +20,15 @@ const MODES = (hljs) => {

]
},
CSS_NUMBER_MODE: {
className: 'number',
begin: hljs.NUMBER_RE + '(' +
'%|em|ex|ch|rem' +
'|vw|vh|vmin|vmax' +
'|cm|mm|in|pt|pc|px' +
'|deg|grad|rad|turn' +
'|s|ms' +
'|Hz|kHz' +
'|dpi|dpcm|dppx' +
')?',
relevance: 0
}

@@ -491,3 +504,3 @@ };

STRING_MODE('"'),
hljs.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(
modes.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(
{

@@ -494,0 +507,0 @@ begin: '(url|data-uri)\\(',

@@ -10,2 +10,315 @@ /*

function n1ql(hljs) {
// Taken from http://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/reservedwords.html
const KEYWORDS = [
"all",
"alter",
"analyze",
"and",
"any",
"array",
"as",
"asc",
"begin",
"between",
"binary",
"boolean",
"break",
"bucket",
"build",
"by",
"call",
"case",
"cast",
"cluster",
"collate",
"collection",
"commit",
"connect",
"continue",
"correlate",
"cover",
"create",
"database",
"dataset",
"datastore",
"declare",
"decrement",
"delete",
"derived",
"desc",
"describe",
"distinct",
"do",
"drop",
"each",
"element",
"else",
"end",
"every",
"except",
"exclude",
"execute",
"exists",
"explain",
"fetch",
"first",
"flatten",
"for",
"force",
"from",
"function",
"grant",
"group",
"gsi",
"having",
"if",
"ignore",
"ilike",
"in",
"include",
"increment",
"index",
"infer",
"inline",
"inner",
"insert",
"intersect",
"into",
"is",
"join",
"key",
"keys",
"keyspace",
"known",
"last",
"left",
"let",
"letting",
"like",
"limit",
"lsm",
"map",
"mapping",
"matched",
"materialized",
"merge",
"minus",
"namespace",
"nest",
"not",
"number",
"object",
"offset",
"on",
"option",
"or",
"order",
"outer",
"over",
"parse",
"partition",
"password",
"path",
"pool",
"prepare",
"primary",
"private",
"privilege",
"procedure",
"public",
"raw",
"realm",
"reduce",
"rename",
"return",
"returning",
"revoke",
"right",
"role",
"rollback",
"satisfies",
"schema",
"select",
"self",
"semi",
"set",
"show",
"some",
"start",
"statistics",
"string",
"system",
"then",
"to",
"transaction",
"trigger",
"truncate",
"under",
"union",
"unique",
"unknown",
"unnest",
"unset",
"update",
"upsert",
"use",
"user",
"using",
"validate",
"value",
"valued",
"values",
"via",
"view",
"when",
"where",
"while",
"with",
"within",
"work",
"xor"
];
// Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/literals.html
const LITERALS = [
"true",
"false",
"null",
"missing|5"
];
// Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/functions.html
const BUILT_INS = [
"array_agg",
"array_append",
"array_concat",
"array_contains",
"array_count",
"array_distinct",
"array_ifnull",
"array_length",
"array_max",
"array_min",
"array_position",
"array_prepend",
"array_put",
"array_range",
"array_remove",
"array_repeat",
"array_replace",
"array_reverse",
"array_sort",
"array_sum",
"avg",
"count",
"max",
"min",
"sum",
"greatest",
"least",
"ifmissing",
"ifmissingornull",
"ifnull",
"missingif",
"nullif",
"ifinf",
"ifnan",
"ifnanorinf",
"naninf",
"neginfif",
"posinfif",
"clock_millis",
"clock_str",
"date_add_millis",
"date_add_str",
"date_diff_millis",
"date_diff_str",
"date_part_millis",
"date_part_str",
"date_trunc_millis",
"date_trunc_str",
"duration_to_str",
"millis",
"str_to_millis",
"millis_to_str",
"millis_to_utc",
"millis_to_zone_name",
"now_millis",
"now_str",
"str_to_duration",
"str_to_utc",
"str_to_zone_name",
"decode_json",
"encode_json",
"encoded_size",
"poly_length",
"base64",
"base64_encode",
"base64_decode",
"meta",
"uuid",
"abs",
"acos",
"asin",
"atan",
"atan2",
"ceil",
"cos",
"degrees",
"e",
"exp",
"ln",
"log",
"floor",
"pi",
"power",
"radians",
"random",
"round",
"sign",
"sin",
"sqrt",
"tan",
"trunc",
"object_length",
"object_names",
"object_pairs",
"object_inner_pairs",
"object_values",
"object_inner_values",
"object_add",
"object_put",
"object_remove",
"object_unwrap",
"regexp_contains",
"regexp_like",
"regexp_position",
"regexp_replace",
"contains",
"initcap",
"length",
"lower",
"ltrim",
"position",
"repeat",
"replace",
"rtrim",
"split",
"substr",
"title",
"trim",
"upper",
"isarray",
"isatom",
"isboolean",
"isnumber",
"isobject",
"isstring",
"type",
"toarray",
"toatom",
"toboolean",
"tonumber",
"toobject",
"tostring"
];
return {

@@ -20,33 +333,5 @@ name: 'N1QL',

keywords: {
// Taken from http://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/reservedwords.html
keyword:
'all alter analyze and any array as asc begin between binary boolean break bucket build by call ' +
'case cast cluster collate collection commit connect continue correlate cover create database ' +
'dataset datastore declare decrement delete derived desc describe distinct do drop each element ' +
'else end every except exclude execute exists explain fetch first flatten for force from ' +
'function grant group gsi having if ignore ilike in include increment index infer inline inner ' +
'insert intersect into is join key keys keyspace known last left let letting like limit lsm map ' +
'mapping matched materialized merge minus namespace nest not number object offset on ' +
'option or order outer over parse partition password path pool prepare primary private privilege ' +
'procedure public raw realm reduce rename return returning revoke right role rollback satisfies ' +
'schema select self semi set show some start statistics string system then to transaction trigger ' +
'truncate under union unique unknown unnest unset update upsert use user using validate value ' +
'valued values via view when where while with within work xor',
// Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/literals.html
literal:
'true false null missing|5',
// Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/functions.html
built_in:
'array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length ' +
'array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace ' +
'array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull ' +
'missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis ' +
'date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str ' +
'duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str ' +
'str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode ' +
'base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random ' +
'round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values ' +
'object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position ' +
'regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper ' +
'isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring'
keyword: KEYWORDS,
literal: LITERALS,
built_in: BUILT_INS
},

@@ -53,0 +338,0 @@ contains: [

@@ -0,1 +1,34 @@

/**
* @param {string} value
* @returns {RegExp}
* */
/**
* @param {RegExp | string } re
* @returns {string}
*/
function source(re) {
if (!re) return null;
if (typeof re === "string") return re;
return re.source;
}
/**
* @param {RegExp | string } re
* @returns {string}
*/
function lookahead(re) {
return concat('(?=', re, ')');
}
/**
* @param {...(RegExp | string) } args
* @returns {string}
*/
function concat(...args) {
const joined = args.map((x) => source(x)).join("");
return joined;
}
/*

@@ -5,6 +38,7 @@ Language: Nginx config

Contributors: Ivan Sagalaev <maniac@softwaremaniacs.org>
Category: common, config
Category: config
Website: https://www.nginx.com
*/
/** @type LanguageFn */
function nginx(hljs) {

@@ -18,17 +52,40 @@ const VAR = {

{
begin: /\$\{/,
end: /\}/
begin: /\$\{\w+\}/
},
{
begin: /[$@]/ + hljs.UNDERSCORE_IDENT_RE
begin: concat(/[$@]/, hljs.UNDERSCORE_IDENT_RE)
}
]
};
const LITERALS = [
"on",
"off",
"yes",
"no",
"true",
"false",
"none",
"blocked",
"debug",
"info",
"notice",
"warn",
"error",
"crit",
"select",
"break",
"last",
"permanent",
"redirect",
"kqueue",
"rtsig",
"epoll",
"poll",
"/dev/poll"
];
const DEFAULT = {
endsWithParent: true,
keywords: {
$pattern: '[a-z/_]+',
literal:
'on off yes no true false none blocked debug info notice warn error crit ' +
'select break last permanent redirect kqueue rtsig epoll poll /dev/poll'
$pattern: /[a-z_]{2,}|\/dev\/poll/,
literal: LITERALS
},

@@ -100,3 +157,3 @@ relevance: 0,

className: 'number',
begin: '\\b\\d+[kKmMgGdshdwy]*\\b',
begin: '\\b\\d+[kKmMgGdshdwy]?\\b',
relevance: 0

@@ -114,17 +171,17 @@ },

{
begin: hljs.UNDERSCORE_IDENT_RE + '\\s+\\{',
returnBegin: true,
end: /\{/,
contains: [
{
className: 'section',
begin: hljs.UNDERSCORE_IDENT_RE
}
],
beginKeywords: "upstream location",
end: /;|\{/,
contains: DEFAULT.contains,
keywords: {
section: "upstream location"
}
},
{
className: 'section',
begin: concat(hljs.UNDERSCORE_IDENT_RE + lookahead(/\s+\{/)),
relevance: 0
},
{
begin: hljs.UNDERSCORE_IDENT_RE + '\\s',
begin: lookahead(hljs.UNDERSCORE_IDENT_RE + '\\s'),
end: ';|\\{',
returnBegin: true,
contains: [

@@ -140,3 +197,3 @@ {

],
illegal: '[^\\s\\}]'
illegal: '[^\\s\\}\\{]'
};

@@ -143,0 +200,0 @@ }

@@ -9,20 +9,138 @@ /*

function nim(hljs) {
const TYPES = [
"int",
"int8",
"int16",
"int32",
"int64",
"uint",
"uint8",
"uint16",
"uint32",
"uint64",
"float",
"float32",
"float64",
"bool",
"char",
"string",
"cstring",
"pointer",
"expr",
"stmt",
"void",
"auto",
"any",
"range",
"array",
"openarray",
"varargs",
"seq",
"set",
"clong",
"culong",
"cchar",
"cschar",
"cshort",
"cint",
"csize",
"clonglong",
"cfloat",
"cdouble",
"clongdouble",
"cuchar",
"cushort",
"cuint",
"culonglong",
"cstringarray",
"semistatic"
];
const KEYWORDS = [
"addr",
"and",
"as",
"asm",
"bind",
"block",
"break",
"case",
"cast",
"const",
"continue",
"converter",
"discard",
"distinct",
"div",
"do",
"elif",
"else",
"end",
"enum",
"except",
"export",
"finally",
"for",
"from",
"func",
"generic",
"guarded",
"if",
"import",
"in",
"include",
"interface",
"is",
"isnot",
"iterator",
"let",
"macro",
"method",
"mixin",
"mod",
"nil",
"not",
"notin",
"object",
"of",
"or",
"out",
"proc",
"ptr",
"raise",
"ref",
"return",
"shared",
"shl",
"shr",
"static",
"template",
"try",
"tuple",
"type",
"using",
"var",
"when",
"while",
"with",
"without",
"xor",
"yield"
];
const BUILT_INS = [
"stdin",
"stdout",
"stderr",
"result"
];
const LITERALS = [
"true",
"false"
];
return {
name: 'Nim',
keywords: {
keyword:
'addr and as asm bind block break case cast const continue converter ' +
'discard distinct div do elif else end enum except export finally ' +
'for from func generic if import in include interface is isnot iterator ' +
'let macro method mixin mod nil not notin object of or out proc ptr ' +
'raise ref return shl shr static template try tuple type using var ' +
'when while with without xor yield',
literal:
'shared guarded stdin stdout stderr result true false',
built_in:
'int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float ' +
'float32 float64 bool char string cstring pointer expr stmt void ' +
'auto any range array openarray varargs seq set clong culong cchar ' +
'cschar cshort cint csize clonglong cfloat cdouble clongdouble ' +
'cuchar cushort cuint culonglong cstringarray semistatic'
keyword: KEYWORDS,
literal: LITERALS,
type: TYPES,
built_in: BUILT_INS
},

@@ -29,0 +147,0 @@ contains: [

@@ -9,10 +9,34 @@ /*

function nix(hljs) {
const NIX_KEYWORDS = {
keyword:
'rec with let in inherit assert if else then',
literal:
'true false or and null',
built_in:
'import abort baseNameOf dirOf isNull builtins map removeAttrs throw ' +
'toString derivation'
const KEYWORDS = {
keyword: [
"rec",
"with",
"let",
"in",
"inherit",
"assert",
"if",
"else",
"then"
],
literal: [
"true",
"false",
"or",
"and",
"null"
],
built_in: [
"import",
"abort",
"baseNameOf",
"dirOf",
"isNull",
"builtins",
"map",
"removeAttrs",
"throw",
"toString",
"derivation"
]
};

@@ -23,3 +47,3 @@ const ANTIQUOTE = {

end: /\}/,
keywords: NIX_KEYWORDS
keywords: KEYWORDS
};

@@ -62,3 +86,3 @@ const ATTRS = {

aliases: [ "nixos" ],
keywords: NIX_KEYWORDS,
keywords: KEYWORDS,
contains: EXPRESSIONS

@@ -65,0 +89,0 @@ };

@@ -15,35 +15,164 @@ /*

const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;
const OBJC_KEYWORDS = {
const KWS = [
"int",
"float",
"while",
"char",
"export",
"sizeof",
"typedef",
"const",
"struct",
"for",
"union",
"unsigned",
"long",
"volatile",
"static",
"bool",
"mutable",
"if",
"do",
"return",
"goto",
"void",
"enum",
"else",
"break",
"extern",
"asm",
"case",
"short",
"default",
"double",
"register",
"explicit",
"signed",
"typename",
"this",
"switch",
"continue",
"wchar_t",
"inline",
"readonly",
"assign",
"readwrite",
"self",
"@synchronized",
"id",
"typeof",
"nonatomic",
"super",
"unichar",
"IBOutlet",
"IBAction",
"strong",
"weak",
"copy",
"in",
"out",
"inout",
"bycopy",
"byref",
"oneway",
"__strong",
"__weak",
"__block",
"__autoreleasing",
"@private",
"@protected",
"@public",
"@try",
"@property",
"@end",
"@throw",
"@catch",
"@finally",
"@autoreleasepool",
"@synthesize",
"@dynamic",
"@selector",
"@optional",
"@required",
"@encode",
"@package",
"@import",
"@defs",
"@compatibility_alias",
"__bridge",
"__bridge_transfer",
"__bridge_retained",
"__bridge_retain",
"__covariant",
"__contravariant",
"__kindof",
"_Nonnull",
"_Nullable",
"_Null_unspecified",
"__FUNCTION__",
"__PRETTY_FUNCTION__",
"__attribute__",
"getter",
"setter",
"retain",
"unsafe_unretained",
"nonnull",
"nullable",
"null_unspecified",
"null_resettable",
"class",
"instancetype",
"NS_DESIGNATED_INITIALIZER",
"NS_UNAVAILABLE",
"NS_REQUIRES_SUPER",
"NS_RETURNS_INNER_POINTER",
"NS_INLINE",
"NS_AVAILABLE",
"NS_DEPRECATED",
"NS_ENUM",
"NS_OPTIONS",
"NS_SWIFT_UNAVAILABLE",
"NS_ASSUME_NONNULL_BEGIN",
"NS_ASSUME_NONNULL_END",
"NS_REFINED_FOR_SWIFT",
"NS_SWIFT_NAME",
"NS_SWIFT_NOTHROW",
"NS_DURING",
"NS_HANDLER",
"NS_ENDHANDLER",
"NS_VALUERETURN",
"NS_VOIDRETURN"
];
const LITERALS = [
"false",
"true",
"FALSE",
"TRUE",
"nil",
"YES",
"NO",
"NULL"
];
const BUILT_INS = [
"BOOL",
"dispatch_once_t",
"dispatch_queue_t",
"dispatch_sync",
"dispatch_async",
"dispatch_once"
];
const KEYWORDS = {
$pattern: IDENTIFIER_RE,
keyword:
'int float while char export sizeof typedef const struct for union ' +
'unsigned long volatile static bool mutable if do return goto void ' +
'enum else break extern asm case short default double register explicit ' +
'signed typename this switch continue wchar_t inline readonly assign ' +
'readwrite self @synchronized id typeof ' +
'nonatomic super unichar IBOutlet IBAction strong weak copy ' +
'in out inout bycopy byref oneway __strong __weak __block __autoreleasing ' +
'@private @protected @public @try @property @end @throw @catch @finally ' +
'@autoreleasepool @synthesize @dynamic @selector @optional @required ' +
'@encode @package @import @defs @compatibility_alias ' +
'__bridge __bridge_transfer __bridge_retained __bridge_retain ' +
'__covariant __contravariant __kindof ' +
'_Nonnull _Nullable _Null_unspecified ' +
'__FUNCTION__ __PRETTY_FUNCTION__ __attribute__ ' +
'getter setter retain unsafe_unretained ' +
'nonnull nullable null_unspecified null_resettable class instancetype ' +
'NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER ' +
'NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED ' +
'NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE ' +
'NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END ' +
'NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW ' +
'NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN',
literal:
'false true FALSE TRUE nil YES NO NULL',
built_in:
'BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once'
keyword: KWS,
literal: LITERALS,
built_in: BUILT_INS
};
const CLASS_KEYWORDS = {
$pattern: IDENTIFIER_RE,
keyword: '@interface @class @protocol @implementation'
keyword: [
"@interface",
"@class",
"@protocol",
"@implementation"
]
};

@@ -59,3 +188,3 @@ return {

],
keywords: OBJC_KEYWORDS,
keywords: KEYWORDS,
illegal: '</',

@@ -109,3 +238,3 @@ contains: [

className: 'class',
begin: '(' + CLASS_KEYWORDS.keyword.split(' ').join('|') + ')\\b',
begin: '(' + CLASS_KEYWORDS.keyword.join('|') + ')\\b',
end: /(\{|$)/,

@@ -112,0 +241,0 @@ excludeEnd: true,

@@ -296,2 +296,3 @@ /*

],
supersetOf: "sql",
case_insensitive: true,

@@ -298,0 +299,0 @@ keywords: {

@@ -106,3 +106,2 @@ /*

return {
aliases: ['php3', 'php4', 'php5', 'php6', 'php7', 'php8'],
case_insensitive: true,

@@ -109,0 +108,0 @@ keywords: KEYWORDS,

@@ -5,35 +5,39 @@ /*

Website: https://en.wikipedia.org/wiki/.properties
Category: common, config
Category: config
*/
/** @type LanguageFn */
function properties(hljs) {
// whitespaces: space, tab, formfeed
var WS0 = '[ \\t\\f]*';
var WS1 = '[ \\t\\f]+';
const WS0 = '[ \\t\\f]*';
const WS1 = '[ \\t\\f]+';
// delimiter
var EQUAL_DELIM = WS0+'[:=]'+WS0;
var WS_DELIM = WS1;
var DELIM = '(' + EQUAL_DELIM + '|' + WS_DELIM + ')';
var KEY_ALPHANUM = '([^\\\\\\W:= \\t\\f\\n]|\\\\.)+';
var KEY_OTHER = '([^\\\\:= \\t\\f\\n]|\\\\.)+';
const EQUAL_DELIM = WS0 + '[:=]' + WS0;
const WS_DELIM = WS1;
const DELIM = '(' + EQUAL_DELIM + '|' + WS_DELIM + ')';
const KEY = '([^\\\\:= \\t\\f\\n]|\\\\.)+';
var DELIM_AND_VALUE = {
// skip DELIM
end: DELIM,
relevance: 0,
starts: {
// value: everything until end of line (again, taking into account backslashes)
className: 'string',
end: /$/,
relevance: 0,
contains: [
{ begin: '\\\\\\\\'},
{ begin: '\\\\\\n' }
]
}
};
const DELIM_AND_VALUE = {
// skip DELIM
end: DELIM,
relevance: 0,
starts: {
// value: everything until end of line (again, taking into account backslashes)
className: 'string',
end: /$/,
relevance: 0,
contains: [
{
begin: '\\\\\\\\'
},
{
begin: '\\\\\\n'
}
]
}
};
return {
name: '.properties',
disableAutodetect: true,
case_insensitive: true,

@@ -44,30 +48,18 @@ illegal: /\S/,

// key: everything until whitespace or = or : (taking into account backslashes)
// case of a "normal" key
// case of a key-value pair
{
returnBegin: true,
variants: [
{ begin: KEY_ALPHANUM + EQUAL_DELIM, relevance: 1 },
{ begin: KEY_ALPHANUM + WS_DELIM, relevance: 0 }
],
contains: [
{
className: 'attr',
begin: KEY_ALPHANUM,
endsParent: true,
relevance: 0
begin: KEY + EQUAL_DELIM
},
{
begin: KEY + WS_DELIM
}
],
starts: DELIM_AND_VALUE
},
// case of key containing non-alphanumeric chars => relevance = 0
{
begin: KEY_OTHER + DELIM,
returnBegin: true,
relevance: 0,
contains: [
{
className: 'meta',
begin: KEY_OTHER,
endsParent: true,
relevance: 0
className: 'attr',
begin: KEY,
endsParent: true
}

@@ -80,4 +72,3 @@ ],

className: 'attr',
relevance: 0,
begin: KEY_OTHER + WS0 + '$'
begin: KEY + WS0 + '$'
}

@@ -84,0 +75,0 @@ ]

@@ -18,10 +18,2 @@ /**

/**
* @param {RegExp | string } re
* @returns {string}
*/
function lookahead(re) {
return concat('(?=', re, ')');
}
/**
* @param {...(RegExp | string) } args

@@ -91,26 +83,2 @@ * @returns {string}

},
compilerExtensions: [
// allow beforeMatch to act as a "qualifier" for the match
// the full match begin must be [beforeMatch][begin]
(mode, parent) => {
if (!mode.beforeMatch) return;
// starts conflicts with endsParent which we need to make sure the child
// rule is not matched multiple times
if (mode.starts) throw new Error("beforeMatch cannot be used with starts");
const originalMode = Object.assign({}, mode);
Object.keys(mode).forEach((key) => { delete mode[key]; });
mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));
mode.starts = {
relevance: 0,
contains: [
Object.assign(originalMode, { endsParent: true })
]
};
mode.relevance = 0;
delete originalMode.beforeMatch;
}
],
contains: [

@@ -117,0 +85,0 @@ // Roxygen comments

@@ -151,3 +151,3 @@ /*

{
className: 'builtin-name', // 'function',
className: 'built_in', // 'function',
begin: /\w+/

@@ -154,0 +154,0 @@ }

@@ -0,1 +1,34 @@

/**
* @param {string} value
* @returns {RegExp}
* */
/**
* @param {RegExp | string } re
* @returns {string}
*/
function source(re) {
if (!re) return null;
if (typeof re === "string") return re;
return re.source;
}
/**
* @param {RegExp | string } re
* @returns {string}
*/
function lookahead(re) {
return concat('(?=', re, ')');
}
/**
* @param {...(RegExp | string) } args
* @returns {string}
*/
function concat(...args) {
const joined = args.map((x) => source(x)).join("");
return joined;
}
/*

@@ -9,29 +42,166 @@ Language: Rust

/** @type LanguageFn */
function rust(hljs) {
const NUM_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\?';
const KEYWORDS =
'abstract as async await become box break const continue crate do dyn ' +
'else enum extern false final fn for if impl in let loop macro match mod ' +
'move mut override priv pub ref return self Self static struct super ' +
'trait true try type typeof unsafe unsized use virtual where while yield';
const BUILTINS =
const FUNCTION_INVOKE = {
className: "title.function.invoke",
relevance: 0,
begin: concat(
/\b/,
/(?!let\b)/,
hljs.IDENT_RE,
lookahead(/\s*\(/))
};
const NUMBER_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\?';
const KEYWORDS = [
"abstract",
"as",
"async",
"await",
"become",
"box",
"break",
"const",
"continue",
"crate",
"do",
"dyn",
"else",
"enum",
"extern",
"false",
"final",
"fn",
"for",
"if",
"impl",
"in",
"let",
"loop",
"macro",
"match",
"mod",
"move",
"mut",
"override",
"priv",
"pub",
"ref",
"return",
"self",
"Self",
"static",
"struct",
"super",
"trait",
"true",
"try",
"type",
"typeof",
"unsafe",
"unsized",
"use",
"virtual",
"where",
"while",
"yield"
];
const LITERALS = [
"true",
"false",
"Some",
"None",
"Ok",
"Err"
];
const BUILTINS = [
// functions
'drop ' +
// types
'i8 i16 i32 i64 i128 isize ' +
'u8 u16 u32 u64 u128 usize ' +
'f32 f64 ' +
'str char bool ' +
'Box Option Result String Vec ' +
'drop ',
// traits
'Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug ' +
'PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator ' +
'Extend IntoIterator DoubleEndedIterator ExactSizeIterator ' +
'SliceConcatExt ToString ' +
"Copy",
"Send",
"Sized",
"Sync",
"Drop",
"Fn",
"FnMut",
"FnOnce",
"ToOwned",
"Clone",
"Debug",
"PartialEq",
"PartialOrd",
"Eq",
"Ord",
"AsRef",
"AsMut",
"Into",
"From",
"Default",
"Iterator",
"Extend",
"IntoIterator",
"DoubleEndedIterator",
"ExactSizeIterator",
"SliceConcatExt",
"ToString",
// macros
'assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! ' +
'debug_assert! debug_assert_eq! env! panic! file! format! format_args! ' +
'include_bin! include_str! line! local_data_key! module_path! ' +
'option_env! print! println! select! stringify! try! unimplemented! ' +
'unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!';
"assert!",
"assert_eq!",
"bitflags!",
"bytes!",
"cfg!",
"col!",
"concat!",
"concat_idents!",
"debug_assert!",
"debug_assert_eq!",
"env!",
"panic!",
"file!",
"format!",
"format_args!",
"include_bin!",
"include_str!",
"line!",
"local_data_key!",
"module_path!",
"option_env!",
"print!",
"println!",
"select!",
"stringify!",
"try!",
"unimplemented!",
"unreachable!",
"vec!",
"write!",
"writeln!",
"macro_rules!",
"assert_ne!",
"debug_assert_ne!"
];
const TYPES = [
"i8",
"i16",
"i32",
"i64",
"i128",
"isize",
"u8",
"u16",
"u32",
"u64",
"u128",
"usize",
"f32",
"f64",
"str",
"char",
"bool",
"Box",
"Option",
"Result",
"String",
"Vec"
];
return {

@@ -42,8 +212,6 @@ name: 'Rust',

$pattern: hljs.IDENT_RE + '!?',
keyword:
KEYWORDS,
literal:
'true false Some None Ok Err',
built_in:
BUILTINS
type: TYPES,
keyword: KEYWORDS,
literal: LITERALS,
built_in: BUILTINS
},

@@ -79,13 +247,13 @@ illegal: '</',

{
begin: '\\b0b([01_]+)' + NUM_SUFFIX
begin: '\\b0b([01_]+)' + NUMBER_SUFFIX
},
{
begin: '\\b0o([0-7_]+)' + NUM_SUFFIX
begin: '\\b0o([0-7_]+)' + NUMBER_SUFFIX
},
{
begin: '\\b0x([A-Fa-f0-9_]+)' + NUM_SUFFIX
begin: '\\b0x([A-Fa-f0-9_]+)' + NUMBER_SUFFIX
},
{
begin: '\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)' +
NUM_SUFFIX
NUMBER_SUFFIX
}

@@ -96,7 +264,11 @@ ],

{
className: 'function',
beginKeywords: 'fn',
end: '(\\(|<)',
excludeEnd: true,
contains: [ hljs.UNDERSCORE_TITLE_MODE ]
begin: [
/fn/,
/\s+/,
hljs.UNDERSCORE_IDENT_RE
],
className: {
1: "keyword",
3: "title.function"
}
},

@@ -116,26 +288,54 @@ {

{
className: 'class',
beginKeywords: 'type',
end: ';',
contains: [
hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, {
endsParent: true
})
begin: [
/let/, /\s+/,
/(?:mut\s+)?/,
hljs.UNDERSCORE_IDENT_RE
],
illegal: '\\S'
className: {
1: "keyword",
3: "keyword",
4: "variable"
}
},
// must come before impl/for rule later
{
className: 'class',
beginKeywords: 'trait enum struct union',
end: /\{/,
contains: [
hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, {
endsParent: true
})
begin: [
/for/,
/\s+/,
hljs.UNDERSCORE_IDENT_RE,
/\s+/,
/in/
],
illegal: '[\\w\\d]'
className: {
1: "keyword",
3: "variable",
5: "keyword"
}
},
{
begin: [
/type/,
/\s+/,
hljs.UNDERSCORE_IDENT_RE
],
className: {
1: "keyword",
3: "title.class"
}
},
{
begin: [
/(?:trait|enum|struct|union|impl|for)/,
/\s+/,
hljs.UNDERSCORE_IDENT_RE
],
className: {
1: "keyword",
3: "title.class"
}
},
{
begin: hljs.IDENT_RE + '::',
keywords: {
keyword: "Self",
built_in: BUILTINS

@@ -145,4 +345,6 @@ }

{
className: "punctuation",
begin: '->'
}
},
FUNCTION_INVOKE
]

@@ -149,0 +351,0 @@ };

@@ -0,1 +1,29 @@

/**
* @param {string} value
* @returns {RegExp}
* */
/**
* @param {RegExp | string } re
* @returns {string}
*/
function source(re) {
if (!re) return null;
if (typeof re === "string") return re;
return re.source;
}
/**
* Any of the passed expresssions may match
*
* Creates a huge this | this | that | that match
* @param {(RegExp | string)[] } args
* @returns {string}
*/
function either(...args) {
const joined = '(' + args.map((x) => source(x)).join("|") + ")";
return joined;
}
/*

@@ -7,84 +35,486 @@ Language: SAS

/** @type LanguageFn */
function sas(hljs) {
// Data step and PROC SQL statements
const SAS_KEYWORDS =
'do if then else end until while ' +
'' +
'abort array attrib by call cards cards4 catname continue ' +
'datalines datalines4 delete delim delimiter display dm drop ' +
'endsas error file filename footnote format goto in infile ' +
'informat input keep label leave length libname link list ' +
'lostcard merge missing modify options output out page put ' +
'redirect remove rename replace retain return select set skip ' +
'startsas stop title update waitsas where window x systask ' +
'' +
'add and alter as cascade check create delete describe ' +
'distinct drop foreign from group having index insert into in ' +
'key like message modify msgtype not null on or order primary ' +
'references reset restrict select set table unique update ' +
'validate view where';
const SAS_KEYWORDS = [
"do",
"if",
"then",
"else",
"end",
"until",
"while",
"abort",
"array",
"attrib",
"by",
"call",
"cards",
"cards4",
"catname",
"continue",
"datalines",
"datalines4",
"delete",
"delim",
"delimiter",
"display",
"dm",
"drop",
"endsas",
"error",
"file",
"filename",
"footnote",
"format",
"goto",
"in",
"infile",
"informat",
"input",
"keep",
"label",
"leave",
"length",
"libname",
"link",
"list",
"lostcard",
"merge",
"missing",
"modify",
"options",
"output",
"out",
"page",
"put",
"redirect",
"remove",
"rename",
"replace",
"retain",
"return",
"select",
"set",
"skip",
"startsas",
"stop",
"title",
"update",
"waitsas",
"where",
"window",
"x|0",
"systask",
"add",
"and",
"alter",
"as",
"cascade",
"check",
"create",
"delete",
"describe",
"distinct",
"drop",
"foreign",
"from",
"group",
"having",
"index",
"insert",
"into",
"in",
"key",
"like",
"message",
"modify",
"msgtype",
"not",
"null",
"on",
"or",
"order",
"primary",
"references",
"reset",
"restrict",
"select",
"set",
"table",
"unique",
"update",
"validate",
"view",
"where"
];
// Built-in SAS functions
const SAS_FUN =
'abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|' +
'betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|' +
'cexist|cinv|close|cnonct|collate|compbl|compound|' +
'compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|' +
'daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|' +
'datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|' +
'depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|' +
'digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|' +
'dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|' +
'fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|' +
'filename|fileref|finfo|finv|fipname|fipnamel|' +
'fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|' +
'fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|' +
'fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|' +
'hms|hosthelp|hour|ibessel|index|indexc|indexw|input|' +
'inputc|inputn|int|intck|intnx|intrr|irr|jbessel|' +
'juldate|kurtosis|lag|lbound|left|length|lgamma|' +
'libname|libref|log|log10|log2|logpdf|logpmf|logsdf|' +
'lowcase|max|mdy|mean|min|minute|mod|month|mopen|' +
'mort|n|netpv|nmiss|normal|note|npv|open|ordinal|' +
'pathname|pdf|peek|peekc|pmf|point|poisson|poke|' +
'probbeta|probbnml|probchi|probf|probgam|probhypr|' +
'probit|probnegb|probnorm|probt|put|putc|putn|qtr|' +
'quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|' +
'ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|' +
'rewind|right|round|saving|scan|sdf|second|sign|' +
'sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|' +
'stfips|stname|stnamel|substr|sum|symget|sysget|' +
'sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|' +
'tinv|tnonct|today|translate|tranwrd|trigamma|' +
'trim|trimn|trunc|uniform|upcase|uss|var|varfmt|' +
'varinfmt|varlabel|varlen|varname|varnum|varray|' +
'varrayx|vartype|verify|vformat|vformatd|vformatdx|' +
'vformatn|vformatnx|vformatw|vformatwx|vformatx|' +
'vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|' +
'vinformatn|vinformatnx|vinformatw|vinformatwx|' +
'vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|' +
'vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|' +
'zipnamel|zipstate';
const FUNCTIONS = [
"abs",
"addr",
"airy",
"arcos",
"arsin",
"atan",
"attrc",
"attrn",
"band",
"betainv",
"blshift",
"bnot",
"bor",
"brshift",
"bxor",
"byte",
"cdf",
"ceil",
"cexist",
"cinv",
"close",
"cnonct",
"collate",
"compbl",
"compound",
"compress",
"cos",
"cosh",
"css",
"curobs",
"cv",
"daccdb",
"daccdbsl",
"daccsl",
"daccsyd",
"dacctab",
"dairy",
"date",
"datejul",
"datepart",
"datetime",
"day",
"dclose",
"depdb",
"depdbsl",
"depdbsl",
"depsl",
"depsl",
"depsyd",
"depsyd",
"deptab",
"deptab",
"dequote",
"dhms",
"dif",
"digamma",
"dim",
"dinfo",
"dnum",
"dopen",
"doptname",
"doptnum",
"dread",
"dropnote",
"dsname",
"erf",
"erfc",
"exist",
"exp",
"fappend",
"fclose",
"fcol",
"fdelete",
"fetch",
"fetchobs",
"fexist",
"fget",
"fileexist",
"filename",
"fileref",
"finfo",
"finv",
"fipname",
"fipnamel",
"fipstate",
"floor",
"fnonct",
"fnote",
"fopen",
"foptname",
"foptnum",
"fpoint",
"fpos",
"fput",
"fread",
"frewind",
"frlen",
"fsep",
"fuzz",
"fwrite",
"gaminv",
"gamma",
"getoption",
"getvarc",
"getvarn",
"hbound",
"hms",
"hosthelp",
"hour",
"ibessel",
"index",
"indexc",
"indexw",
"input",
"inputc",
"inputn",
"int",
"intck",
"intnx",
"intrr",
"irr",
"jbessel",
"juldate",
"kurtosis",
"lag",
"lbound",
"left",
"length",
"lgamma",
"libname",
"libref",
"log",
"log10",
"log2",
"logpdf",
"logpmf",
"logsdf",
"lowcase",
"max",
"mdy",
"mean",
"min",
"minute",
"mod",
"month",
"mopen",
"mort",
"n",
"netpv",
"nmiss",
"normal",
"note",
"npv",
"open",
"ordinal",
"pathname",
"pdf",
"peek",
"peekc",
"pmf",
"point",
"poisson",
"poke",
"probbeta",
"probbnml",
"probchi",
"probf",
"probgam",
"probhypr",
"probit",
"probnegb",
"probnorm",
"probt",
"put",
"putc",
"putn",
"qtr",
"quote",
"ranbin",
"rancau",
"ranexp",
"rangam",
"range",
"rank",
"rannor",
"ranpoi",
"rantbl",
"rantri",
"ranuni",
"repeat",
"resolve",
"reverse",
"rewind",
"right",
"round",
"saving",
"scan",
"sdf",
"second",
"sign",
"sin",
"sinh",
"skewness",
"soundex",
"spedis",
"sqrt",
"std",
"stderr",
"stfips",
"stname",
"stnamel",
"substr",
"sum",
"symget",
"sysget",
"sysmsg",
"sysprod",
"sysrc",
"system",
"tan",
"tanh",
"time",
"timepart",
"tinv",
"tnonct",
"today",
"translate",
"tranwrd",
"trigamma",
"trim",
"trimn",
"trunc",
"uniform",
"upcase",
"uss",
"var",
"varfmt",
"varinfmt",
"varlabel",
"varlen",
"varname",
"varnum",
"varray",
"varrayx",
"vartype",
"verify",
"vformat",
"vformatd",
"vformatdx",
"vformatn",
"vformatnx",
"vformatw",
"vformatwx",
"vformatx",
"vinarray",
"vinarrayx",
"vinformat",
"vinformatd",
"vinformatdx",
"vinformatn",
"vinformatnx",
"vinformatw",
"vinformatwx",
"vinformatx",
"vlabel",
"vlabelx",
"vlength",
"vlengthx",
"vname",
"vnamex",
"vtype",
"vtypex",
"weekday",
"year",
"yyq",
"zipfips",
"zipname",
"zipnamel",
"zipstate"
];
// Built-in macro functions
const SAS_MACRO_FUN =
'bquote|nrbquote|cmpres|qcmpres|compstor|' +
'datatyp|display|do|else|end|eval|global|goto|' +
'if|index|input|keydef|label|left|length|let|' +
'local|lowcase|macro|mend|nrbquote|nrquote|' +
'nrstr|put|qcmpres|qleft|qlowcase|qscan|' +
'qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|' +
'substr|superq|syscall|sysevalf|sysexec|sysfunc|' +
'sysget|syslput|sysprod|sysrc|sysrput|then|to|' +
'trim|unquote|until|upcase|verify|while|window';
const MACRO_FUNCTIONS = [
"bquote",
"nrbquote",
"cmpres",
"qcmpres",
"compstor",
"datatyp",
"display",
"do",
"else",
"end",
"eval",
"global",
"goto",
"if",
"index",
"input",
"keydef",
"label",
"left",
"length",
"let",
"local",
"lowcase",
"macro",
"mend",
"nrbquote",
"nrquote",
"nrstr",
"put",
"qcmpres",
"qleft",
"qlowcase",
"qscan",
"qsubstr",
"qsysfunc",
"qtrim",
"quote",
"qupcase",
"scan",
"str",
"substr",
"superq",
"syscall",
"sysevalf",
"sysexec",
"sysfunc",
"sysget",
"syslput",
"sysprod",
"sysrc",
"sysrput",
"then",
"to",
"trim",
"unquote",
"until",
"upcase",
"verify",
"while",
"window"
];
const LITERALS = [
"null",
"missing",
"_all_",
"_automatic_",
"_character_",
"_infile_",
"_n_",
"_name_",
"_null_",
"_numeric_",
"_user_",
"_webout_"
];
return {
name: 'SAS',
case_insensitive: true, // SAS is case-insensitive
case_insensitive: true,
keywords: {
literal:
'null missing _all_ _automatic_ _character_ _infile_ ' +
'_n_ _name_ _null_ _numeric_ _user_ _webout_',
meta:
SAS_KEYWORDS
literal: LITERALS,
keyword: SAS_KEYWORDS
},

@@ -103,19 +533,39 @@ contains: [

{
// Special emphasis for datalines|cards
className: 'emphasis',
begin: /^\s*datalines|cards.*;/,
end: /^\s*;\s*$/
begin: [
/^\s*/,
/datalines;|cards;/,
/(?:.*\n)+/,
/^\s*;\s*$/
],
className: {
2: "keyword",
3: "string"
}
},
{ // Built-in macro variables take precedence
{
begin: [
/%mend|%macro/,
/\s+/,
/[a-zA-Z_&][a-zA-Z0-9_]*/
],
className: {
1: "built_in",
3: "title.function"
}
},
{ // Built-in macro variables
className: 'built_in',
begin: '%(' + SAS_MACRO_FUN + ')'
begin: '%' + either(...MACRO_FUNCTIONS)
},
{
// User-defined macro functions highlighted after
className: 'name',
// User-defined macro functions
className: 'title.function',
begin: /%[a-zA-Z_][a-zA-Z_0-9]*/
},
{
// TODO: this is most likely an incorrect classification
// built_in may need more nuance
// https://github.com/highlightjs/highlight.js/issues/2521
className: 'meta',
begin: '[^%](' + SAS_FUN + ')[\(]'
begin: either(...FUNCTIONS) + '(?=\\()'
},

@@ -122,0 +572,0 @@ {

@@ -18,3 +18,3 @@ /*

$pattern: SCHEME_IDENT_RE,
'builtin-name':
built_in:
'case-lambda call/cc class define-class exit-handler field import ' +

@@ -21,0 +21,0 @@ 'inherit init-field interface let*-values let-values let/ec mixin ' +

@@ -20,2 +20,15 @@ const MODES = (hljs) => {

]
},
CSS_NUMBER_MODE: {
className: 'number',
begin: hljs.NUMBER_RE + '(' +
'%|em|ex|ch|rem' +
'|vw|vh|vmin|vmax' +
'|cm|mm|in|pt|pc|px' +
'|deg|grad|rad|turn' +
'|s|ms' +
'|Hz|kHz' +
'|dpi|dpcm|dppx' +
')?',
relevance: 0
}

@@ -488,3 +501,3 @@ };

end: /\)/,
contains: [ hljs.CSS_NUMBER_MODE ]
contains: [ modes.CSS_NUMBER_MODE ]
},

@@ -504,3 +517,3 @@ {

modes.HEXCOLOR,
hljs.CSS_NUMBER_MODE,
modes.CSS_NUMBER_MODE,
hljs.QUOTE_STRING_MODE,

@@ -516,4 +529,6 @@ hljs.APOS_STRING_MODE,

begin: '@(page|font-face)',
lexemes: AT_IDENTIFIER,
keywords: '@page @font-face'
keywords: {
$pattern: AT_IDENTIFIER,
keyword: '@page @font-face'
}
},

@@ -542,3 +557,3 @@ {

modes.HEXCOLOR,
hljs.CSS_NUMBER_MODE
modes.CSS_NUMBER_MODE
]

@@ -545,0 +560,0 @@ }

@@ -13,3 +13,3 @@ /*

name: 'Shell Session',
aliases: [ 'console' ],
aliases: [ 'console', 'shellsession' ],
contains: [

@@ -21,3 +21,3 @@ {

// echo /path/to/home > t.exe
begin: /^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/,
begin: /^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,
starts: {

@@ -24,0 +24,0 @@ end: /[^\\](?=\s*$)/,

@@ -21,3 +21,10 @@ /*

aliases: [ 'st' ],
keywords: 'self super nil true false thisContext', // only 6
keywords: [
"self",
"super",
"nil",
"true",
"false",
"thisContext"
],
contains: [

@@ -24,0 +31,0 @@ hljs.COMMENT('"', '"'),

@@ -8,2 +8,3 @@ /*

Category: scripting
Last update: 28.03.2021, Arma 3 v2.02
*/

@@ -49,2 +50,2412 @@

const KEYWORDS = [
'case', 'catch',
'default', 'do',
'else', 'exit', 'exitWith',
'for', 'forEach', 'from',
'if',
'private',
'switch',
'then', 'throw', 'to', 'try',
'waitUntil', 'while', 'with'
];
const LITERAL = [
'blufor',
'civilian', 'configNull', 'controlNull',
'displayNull',
'east', 'endl',
'false',
'grpNull',
'independent',
'lineBreak', 'locationNull',
'nil',
'objNull', 'opfor',
'pi',
'resistance',
'scriptNull', 'sideAmbientLife', 'sideEmpty', 'sideLogic', 'sideUnknown',
'taskNull', 'teamMemberNull', 'true',
'west'
];
const BUILT_IN = [
'abs',
'accTime',
'acos',
'action',
'actionIDs',
'actionKeys',
'actionKeysImages',
'actionKeysNames',
'actionKeysNamesArray',
'actionName',
'actionParams',
'activateAddons',
'activatedAddons',
'activateKey',
'add3DENConnection',
'add3DENEventHandler',
'add3DENLayer',
'addAction',
'addBackpack',
'addBackpackCargo',
'addBackpackCargoGlobal',
'addBackpackGlobal',
'addBinocularItem',
'addCamShake',
'addCuratorAddons',
'addCuratorCameraArea',
'addCuratorEditableObjects',
'addCuratorEditingArea',
'addCuratorPoints',
'addEditorObject',
'addEventHandler',
'addForce',
'addForceGeneratorRTD',
'addGoggles',
'addGroupIcon',
'addHandgunItem',
'addHeadgear',
'addItem',
'addItemCargo',
'addItemCargoGlobal',
'addItemPool',
'addItemToBackpack',
'addItemToUniform',
'addItemToVest',
'addLiveStats',
'addMagazine',
'addMagazineAmmoCargo',
'addMagazineCargo',
'addMagazineCargoGlobal',
'addMagazineGlobal',
'addMagazinePool',
'addMagazines',
'addMagazineTurret',
'addMenu',
'addMenuItem',
'addMissionEventHandler',
'addMPEventHandler',
'addMusicEventHandler',
'addonFiles',
'addOwnedMine',
'addPlayerScores',
'addPrimaryWeaponItem',
'addPublicVariableEventHandler',
'addRating',
'addResources',
'addScore',
'addScoreSide',
'addSecondaryWeaponItem',
'addSwitchableUnit',
'addTeamMember',
'addToRemainsCollector',
'addTorque',
'addUniform',
'addVehicle',
'addVest',
'addWaypoint',
'addWeapon',
'addWeaponCargo',
'addWeaponCargoGlobal',
'addWeaponGlobal',
'addWeaponItem',
'addWeaponPool',
'addWeaponTurret',
'addWeaponWithAttachmentsCargo',
'addWeaponWithAttachmentsCargoGlobal',
'admin',
'agent',
'agents',
'AGLToASL',
'aimedAtTarget',
'aimPos',
'airDensityCurveRTD',
'airDensityRTD',
'airplaneThrottle',
'airportSide',
'AISFinishHeal',
'alive',
'all3DENEntities',
'allActiveTitleEffects',
'allAddonsInfo',
'allAirports',
'allControls',
'allCurators',
'allCutLayers',
'allDead',
'allDeadMen',
'allDiarySubjects',
'allDisplays',
'allGroups',
'allMapMarkers',
'allMines',
'allMissionObjects',
'allow3DMode',
'allowCrewInImmobile',
'allowCuratorLogicIgnoreAreas',
'allowDamage',
'allowDammage',
'allowFileOperations',
'allowFleeing',
'allowGetIn',
'allowSprint',
'allPlayers',
'allSimpleObjects',
'allSites',
'allTurrets',
'allUnits',
'allUnitsUAV',
'allVariables',
'ammo',
'ammoOnPylon',
'and',
'animate',
'animateBay',
'animateDoor',
'animatePylon',
'animateSource',
'animationNames',
'animationPhase',
'animationSourcePhase',
'animationState',
'apertureParams',
'append',
'apply',
'armoryPoints',
'arrayIntersect',
'asin',
'ASLToAGL',
'ASLToATL',
'assert',
'assignAsCargo',
'assignAsCargoIndex',
'assignAsCommander',
'assignAsDriver',
'assignAsGunner',
'assignAsTurret',
'assignCurator',
'assignedCargo',
'assignedCommander',
'assignedDriver',
'assignedGunner',
'assignedItems',
'assignedTarget',
'assignedTeam',
'assignedVehicle',
'assignedVehicleRole',
'assignItem',
'assignTeam',
'assignToAirport',
'atan',
'atan2',
'atg',
'ATLToASL',
'attachedObject',
'attachedObjects',
'attachedTo',
'attachObject',
'attachTo',
'attackEnabled',
'backpack',
'backpackCargo',
'backpackContainer',
'backpackItems',
'backpackMagazines',
'backpackSpaceFor',
'batteryChargeRTD',
'behaviour',
'benchmark',
'bezierInterpolation',
'binocular',
'binocularItems',
'binocularMagazine',
'boundingBox',
'boundingBoxReal',
'boundingCenter',
'break',
'breakOut',
'breakTo',
'breakWith',
'briefingName',
'buildingExit',
'buildingPos',
'buldozer_EnableRoadDiag',
'buldozer_IsEnabledRoadDiag',
'buldozer_LoadNewRoads',
'buldozer_reloadOperMap',
'buttonAction',
'buttonSetAction',
'cadetMode',
'calculatePath',
'calculatePlayerVisibilityByFriendly',
'call',
'callExtension',
'camCommand',
'camCommit',
'camCommitPrepared',
'camCommitted',
'camConstuctionSetParams',
'camCreate',
'camDestroy',
'cameraEffect',
'cameraEffectEnableHUD',
'cameraInterest',
'cameraOn',
'cameraView',
'campaignConfigFile',
'camPreload',
'camPreloaded',
'camPrepareBank',
'camPrepareDir',
'camPrepareDive',
'camPrepareFocus',
'camPrepareFov',
'camPrepareFovRange',
'camPreparePos',
'camPrepareRelPos',
'camPrepareTarget',
'camSetBank',
'camSetDir',
'camSetDive',
'camSetFocus',
'camSetFov',
'camSetFovRange',
'camSetPos',
'camSetRelPos',
'camSetTarget',
'camTarget',
'camUseNVG',
'canAdd',
'canAddItemToBackpack',
'canAddItemToUniform',
'canAddItemToVest',
'cancelSimpleTaskDestination',
'canFire',
'canMove',
'canSlingLoad',
'canStand',
'canSuspend',
'canTriggerDynamicSimulation',
'canUnloadInCombat',
'canVehicleCargo',
'captive',
'captiveNum',
'cbChecked',
'cbSetChecked',
'ceil',
'channelEnabled',
'cheatsEnabled',
'checkAIFeature',
'checkVisibility',
'className',
'clear3DENAttribute',
'clear3DENInventory',
'clearAllItemsFromBackpack',
'clearBackpackCargo',
'clearBackpackCargoGlobal',
'clearForcesRTD',
'clearGroupIcons',
'clearItemCargo',
'clearItemCargoGlobal',
'clearItemPool',
'clearMagazineCargo',
'clearMagazineCargoGlobal',
'clearMagazinePool',
'clearOverlay',
'clearRadio',
'clearVehicleInit',
'clearWeaponCargo',
'clearWeaponCargoGlobal',
'clearWeaponPool',
'clientOwner',
'closeDialog',
'closeDisplay',
'closeOverlay',
'collapseObjectTree',
'collect3DENHistory',
'collectiveRTD',
'combatBehaviour',
'combatMode',
'commandArtilleryFire',
'commandChat',
'commander',
'commandFire',
'commandFollow',
'commandFSM',
'commandGetOut',
'commandingMenu',
'commandMove',
'commandRadio',
'commandStop',
'commandSuppressiveFire',
'commandTarget',
'commandWatch',
'comment',
'commitOverlay',
'compile',
'compileFinal',
'compileScript',
'completedFSM',
'composeText',
'configClasses',
'configFile',
'configHierarchy',
'configName',
'configOf',
'configProperties',
'configSourceAddonList',
'configSourceMod',
'configSourceModList',
'confirmSensorTarget',
'connectTerminalToUAV',
'connectToServer',
'continue',
'continueWith',
'controlsGroupCtrl',
'copyFromClipboard',
'copyToClipboard',
'copyWaypoints',
'cos',
'count',
'countEnemy',
'countFriendly',
'countSide',
'countType',
'countUnknown',
'create3DENComposition',
'create3DENEntity',
'createAgent',
'createCenter',
'createDialog',
'createDiaryLink',
'createDiaryRecord',
'createDiarySubject',
'createDisplay',
'createGearDialog',
'createGroup',
'createGuardedPoint',
'createHashMap',
'createHashMapFromArray',
'createLocation',
'createMarker',
'createMarkerLocal',
'createMenu',
'createMine',
'createMissionDisplay',
'createMPCampaignDisplay',
'createSimpleObject',
'createSimpleTask',
'createSite',
'createSoundSource',
'createTarget',
'createTask',
'createTeam',
'createTrigger',
'createUnit',
'createVehicle',
'createVehicleCrew',
'createVehicleLocal',
'crew',
'ctAddHeader',
'ctAddRow',
'ctClear',
'ctCurSel',
'ctData',
'ctFindHeaderRows',
'ctFindRowHeader',
'ctHeaderControls',
'ctHeaderCount',
'ctRemoveHeaders',
'ctRemoveRows',
'ctrlActivate',
'ctrlAddEventHandler',
'ctrlAngle',
'ctrlAnimateModel',
'ctrlAnimationPhaseModel',
'ctrlAutoScrollDelay',
'ctrlAutoScrollRewind',
'ctrlAutoScrollSpeed',
'ctrlChecked',
'ctrlClassName',
'ctrlCommit',
'ctrlCommitted',
'ctrlCreate',
'ctrlDelete',
'ctrlEnable',
'ctrlEnabled',
'ctrlFade',
'ctrlFontHeight',
'ctrlHTMLLoaded',
'ctrlIDC',
'ctrlIDD',
'ctrlMapAnimAdd',
'ctrlMapAnimClear',
'ctrlMapAnimCommit',
'ctrlMapAnimDone',
'ctrlMapCursor',
'ctrlMapMouseOver',
'ctrlMapScale',
'ctrlMapScreenToWorld',
'ctrlMapWorldToScreen',
'ctrlModel',
'ctrlModelDirAndUp',
'ctrlModelScale',
'ctrlMousePosition',
'ctrlParent',
'ctrlParentControlsGroup',
'ctrlPosition',
'ctrlRemoveAllEventHandlers',
'ctrlRemoveEventHandler',
'ctrlScale',
'ctrlScrollValues',
'ctrlSetActiveColor',
'ctrlSetAngle',
'ctrlSetAutoScrollDelay',
'ctrlSetAutoScrollRewind',
'ctrlSetAutoScrollSpeed',
'ctrlSetBackgroundColor',
'ctrlSetChecked',
'ctrlSetDisabledColor',
'ctrlSetEventHandler',
'ctrlSetFade',
'ctrlSetFocus',
'ctrlSetFont',
'ctrlSetFontH1',
'ctrlSetFontH1B',
'ctrlSetFontH2',
'ctrlSetFontH2B',
'ctrlSetFontH3',
'ctrlSetFontH3B',
'ctrlSetFontH4',
'ctrlSetFontH4B',
'ctrlSetFontH5',
'ctrlSetFontH5B',
'ctrlSetFontH6',
'ctrlSetFontH6B',
'ctrlSetFontHeight',
'ctrlSetFontHeightH1',
'ctrlSetFontHeightH2',
'ctrlSetFontHeightH3',
'ctrlSetFontHeightH4',
'ctrlSetFontHeightH5',
'ctrlSetFontHeightH6',
'ctrlSetFontHeightSecondary',
'ctrlSetFontP',
'ctrlSetFontPB',
'ctrlSetFontSecondary',
'ctrlSetForegroundColor',
'ctrlSetModel',
'ctrlSetModelDirAndUp',
'ctrlSetModelScale',
'ctrlSetMousePosition',
'ctrlSetPixelPrecision',
'ctrlSetPosition',
'ctrlSetPositionH',
'ctrlSetPositionW',
'ctrlSetPositionX',
'ctrlSetPositionY',
'ctrlSetScale',
'ctrlSetScrollValues',
'ctrlSetStructuredText',
'ctrlSetText',
'ctrlSetTextColor',
'ctrlSetTextColorSecondary',
'ctrlSetTextSecondary',
'ctrlSetTextSelection',
'ctrlSetTooltip',
'ctrlSetTooltipColorBox',
'ctrlSetTooltipColorShade',
'ctrlSetTooltipColorText',
'ctrlSetURL',
'ctrlShow',
'ctrlShown',
'ctrlStyle',
'ctrlText',
'ctrlTextColor',
'ctrlTextHeight',
'ctrlTextSecondary',
'ctrlTextSelection',
'ctrlTextWidth',
'ctrlTooltip',
'ctrlType',
'ctrlURL',
'ctrlVisible',
'ctRowControls',
'ctRowCount',
'ctSetCurSel',
'ctSetData',
'ctSetHeaderTemplate',
'ctSetRowTemplate',
'ctSetValue',
'ctValue',
'curatorAddons',
'curatorCamera',
'curatorCameraArea',
'curatorCameraAreaCeiling',
'curatorCoef',
'curatorEditableObjects',
'curatorEditingArea',
'curatorEditingAreaType',
'curatorMouseOver',
'curatorPoints',
'curatorRegisteredObjects',
'curatorSelected',
'curatorWaypointCost',
'current3DENOperation',
'currentChannel',
'currentCommand',
'currentMagazine',
'currentMagazineDetail',
'currentMagazineDetailTurret',
'currentMagazineTurret',
'currentMuzzle',
'currentNamespace',
'currentPilot',
'currentTask',
'currentTasks',
'currentThrowable',
'currentVisionMode',
'currentWaypoint',
'currentWeapon',
'currentWeaponMode',
'currentWeaponTurret',
'currentZeroing',
'cursorObject',
'cursorTarget',
'customChat',
'customRadio',
'customWaypointPosition',
'cutFadeOut',
'cutObj',
'cutRsc',
'cutText',
'damage',
'date',
'dateToNumber',
'daytime',
'deActivateKey',
'debriefingText',
'debugFSM',
'debugLog',
'decayGraphValues',
'deg',
'delete3DENEntities',
'deleteAt',
'deleteCenter',
'deleteCollection',
'deleteEditorObject',
'deleteGroup',
'deleteGroupWhenEmpty',
'deleteIdentity',
'deleteLocation',
'deleteMarker',
'deleteMarkerLocal',
'deleteRange',
'deleteResources',
'deleteSite',
'deleteStatus',
'deleteTarget',
'deleteTeam',
'deleteVehicle',
'deleteVehicleCrew',
'deleteWaypoint',
'detach',
'detectedMines',
'diag_activeMissionFSMs',
'diag_activeScripts',
'diag_activeSQSScripts',
'diag_captureFrameToFile',
'diag_captureSlowFrame',
'diag_deltaTime',
'diag_drawMode',
'diag_enable',
'diag_enabled',
'diag_fps',
'diag_fpsMin',
'diag_frameNo',
'diag_list',
'diag_mergeConfigFile',
'diag_scope',
'diag_activeSQFScripts',
'diag_allMissionEventHandlers',
'diag_captureFrame',
'diag_codePerformance',
'diag_dumpCalltraceToLog',
'diag_dumpTerrainSynth',
'diag_dynamicSimulationEnd',
'diag_exportConfig',
'diag_exportTerrainSVG',
'diag_lightNewLoad',
'diag_localized',
'diag_log',
'diag_logSlowFrame',
'diag_recordTurretLimits',
'diag_resetShapes',
'diag_setLightNew',
'diag_tickTime',
'diag_toggle',
'dialog',
'diaryRecordNull',
'diarySubjectExists',
'didJIP',
'didJIPOwner',
'difficulty',
'difficultyEnabled',
'difficultyEnabledRTD',
'difficultyOption',
'direction',
'directSay',
'disableAI',
'disableCollisionWith',
'disableConversation',
'disableDebriefingStats',
'disableMapIndicators',
'disableNVGEquipment',
'disableRemoteSensors',
'disableSerialization',
'disableTIEquipment',
'disableUAVConnectability',
'disableUserInput',
'displayAddEventHandler',
'displayCtrl',
'displayParent',
'displayRemoveAllEventHandlers',
'displayRemoveEventHandler',
'displaySetEventHandler',
'dissolveTeam',
'distance',
'distance2D',
'distanceSqr',
'distributionRegion',
'do3DENAction',
'doArtilleryFire',
'doFire',
'doFollow',
'doFSM',
'doGetOut',
'doMove',
'doorPhase',
'doStop',
'doSuppressiveFire',
'doTarget',
'doWatch',
'drawArrow',
'drawEllipse',
'drawIcon',
'drawIcon3D',
'drawLine',
'drawLine3D',
'drawLink',
'drawLocation',
'drawPolygon',
'drawRectangle',
'drawTriangle',
'driver',
'drop',
'dynamicSimulationDistance',
'dynamicSimulationDistanceCoef',
'dynamicSimulationEnabled',
'dynamicSimulationSystemEnabled',
'echo',
'edit3DENMissionAttributes',
'editObject',
'editorSetEventHandler',
'effectiveCommander',
'elevatePeriscope',
'emptyPositions',
'enableAI',
'enableAIFeature',
'enableAimPrecision',
'enableAttack',
'enableAudioFeature',
'enableAutoStartUpRTD',
'enableAutoTrimRTD',
'enableCamShake',
'enableCaustics',
'enableChannel',
'enableCollisionWith',
'enableCopilot',
'enableDebriefingStats',
'enableDiagLegend',
'enableDynamicSimulation',
'enableDynamicSimulationSystem',
'enableEndDialog',
'enableEngineArtillery',
'enableEnvironment',
'enableFatigue',
'enableGunLights',
'enableInfoPanelComponent',
'enableIRLasers',
'enableMimics',
'enablePersonTurret',
'enableRadio',
'enableReload',
'enableRopeAttach',
'enableSatNormalOnDetail',
'enableSaving',
'enableSentences',
'enableSimulation',
'enableSimulationGlobal',
'enableStamina',
'enableStressDamage',
'enableTeamSwitch',
'enableTraffic',
'enableUAVConnectability',
'enableUAVWaypoints',
'enableVehicleCargo',
'enableVehicleSensor',
'enableWeaponDisassembly',
'endLoadingScreen',
'endMission',
'enemy',
'engineOn',
'enginesIsOnRTD',
'enginesPowerRTD',
'enginesRpmRTD',
'enginesTorqueRTD',
'entities',
'environmentEnabled',
'environmentVolume',
'estimatedEndServerTime',
'estimatedTimeLeft',
'evalObjectArgument',
'everyBackpack',
'everyContainer',
'exec',
'execEditorScript',
'execFSM',
'execVM',
'exp',
'expectedDestination',
'exportJIPMessages',
'exportLandscapeXYZ',
'eyeDirection',
'eyePos',
'face',
'faction',
'fadeEnvironment',
'fadeMusic',
'fadeRadio',
'fadeSound',
'fadeSpeech',
'failMission',
'fileExists',
'fillWeaponsFromPool',
'find',
'findCover',
'findDisplay',
'findEditorObject',
'findEmptyPosition',
'findEmptyPositionReady',
'findIf',
'findNearestEnemy',
'finishMissionInit',
'finite',
'fire',
'fireAtTarget',
'firstBackpack',
'flag',
'flagAnimationPhase',
'flagOwner',
'flagSide',
'flagTexture',
'flatten',
'fleeing',
'floor',
'flyInHeight',
'flyInHeightASL',
'focusedCtrl',
'fog',
'fogForecast',
'fogParams',
'forceAddUniform',
'forceAtPositionRTD',
'forceCadetDifficulty',
'forcedMap',
'forceEnd',
'forceFlagTexture',
'forceFollowRoad',
'forceGeneratorRTD',
'forceMap',
'forceRespawn',
'forceSpeed',
'forceUnicode',
'forceWalk',
'forceWeaponFire',
'forceWeatherChange',
'forEachMember',
'forEachMemberAgent',
'forEachMemberTeam',
'forgetTarget',
'format',
'formation',
'formationDirection',
'formationLeader',
'formationMembers',
'formationPosition',
'formationTask',
'formatText',
'formLeader',
'freeLook',
'friendly',
'fromEditor',
'fuel',
'fullCrew',
'gearIDCAmmoCount',
'gearSlotAmmoCount',
'gearSlotData',
'get',
'get3DENActionState',
'get3DENAttribute',
'get3DENCamera',
'get3DENConnections',
'get3DENEntity',
'get3DENEntityID',
'get3DENGrid',
'get3DENIconsVisible',
'get3DENLayerEntities',
'get3DENLinesVisible',
'get3DENMissionAttribute',
'get3DENMouseOver',
'get3DENSelected',
'getAimingCoef',
'getAllEnvSoundControllers',
'getAllHitPointsDamage',
'getAllOwnedMines',
'getAllPylonsInfo',
'getAllSoundControllers',
'getAllUnitTraits',
'getAmmoCargo',
'getAnimAimPrecision',
'getAnimSpeedCoef',
'getArray',
'getArtilleryAmmo',
'getArtilleryComputerSettings',
'getArtilleryETA',
'getAssetDLCInfo',
'getAssignedCuratorLogic',
'getAssignedCuratorUnit',
'getAttackTarget',
'getAudioOptionVolumes',
'getBackpackCargo',
'getBleedingRemaining',
'getBurningValue',
'getCalculatePlayerVisibilityByFriendly',
'getCameraViewDirection',
'getCargoIndex',
'getCenterOfMass',
'getClientState',
'getClientStateNumber',
'getCompatiblePylonMagazines',
'getConnectedUAV',
'getContainerMaxLoad',
'getCursorObjectParams',
'getCustomAimCoef',
'getCustomSoundController',
'getCustomSoundControllerCount',
'getDammage',
'getDescription',
'getDir',
'getDirVisual',
'getDiverState',
'getDLCAssetsUsage',
'getDLCAssetsUsageByName',
'getDLCs',
'getDLCUsageTime',
'getEditorCamera',
'getEditorMode',
'getEditorObjectScope',
'getElevationOffset',
'getEnvSoundController',
'getFatigue',
'getFieldManualStartPage',
'getForcedFlagTexture',
'getFriend',
'getFSMVariable',
'getFuelCargo',
'getGraphValues',
'getGroupIcon',
'getGroupIconParams',
'getGroupIcons',
'getHideFrom',
'getHit',
'getHitIndex',
'getHitPointDamage',
'getItemCargo',
'getLighting',
'getLightingAt',
'getLoadedModsInfo',
'getMagazineCargo',
'getMarkerColor',
'getMarkerPos',
'getMarkerSize',
'getMarkerType',
'getMass',
'getMissionConfig',
'getMissionConfigValue',
'getMissionDLCs',
'getMissionLayerEntities',
'getMissionLayers',
'getMissionPath',
'getModelInfo',
'getMousePosition',
'getMusicPlayedTime',
'getNumber',
'getObjectArgument',
'getObjectChildren',
'getObjectDLC',
'getObjectFOV',
'getObjectMaterials',
'getObjectProxy',
'getObjectScale',
'getObjectTextures',
'getObjectType',
'getObjectViewDistance',
'getOrDefault',
'getOxygenRemaining',
'getPersonUsedDLCs',
'getPilotCameraDirection',
'getPilotCameraPosition',
'getPilotCameraRotation',
'getPilotCameraTarget',
'getPlateNumber',
'getPlayerChannel',
'getPlayerID',
'getPlayerScores',
'getPlayerUID',
'getPlayerUIDOld',
'getPlayerVoNVolume',
'getPos',
'getPosASL',
'getPosASLVisual',
'getPosASLW',
'getPosATL',
'getPosATLVisual',
'getPosVisual',
'getPosWorld',
'getPosWorldVisual',
'getPylonMagazines',
'getRelDir',
'getRelPos',
'getRemoteSensorsDisabled',
'getRepairCargo',
'getResolution',
'getRoadInfo',
'getRotorBrakeRTD',
'getShadowDistance',
'getShotParents',
'getSlingLoad',
'getSoundController',
'getSoundControllerResult',
'getSpeed',
'getStamina',
'getStatValue',
'getSteamFriendsServers',
'getSubtitleOptions',
'getSuppression',
'getTerrainGrid',
'getTerrainHeightASL',
'getText',
'getTextRaw',
'getTextWidth',
'getTotalDLCUsageTime',
'getTrimOffsetRTD',
'getUnitLoadout',
'getUnitTrait',
'getUserMFDText',
'getUserMFDValue',
'getVariable',
'getVehicleCargo',
'getVehicleTIPars',
'getWeaponCargo',
'getWeaponSway',
'getWingsOrientationRTD',
'getWingsPositionRTD',
'getWorld',
'getWPPos',
'glanceAt',
'globalChat',
'globalRadio',
'goggles',
'goto',
'group',
'groupChat',
'groupFromNetId',
'groupIconSelectable',
'groupIconsVisible',
'groupId',
'groupOwner',
'groupRadio',
'groupSelectedUnits',
'groupSelectUnit',
'gunner',
'gusts',
'halt',
'handgunItems',
'handgunMagazine',
'handgunWeapon',
'handsHit',
'hasInterface',
'hasPilotCamera',
'hasWeapon',
'hcAllGroups',
'hcGroupParams',
'hcLeader',
'hcRemoveAllGroups',
'hcRemoveGroup',
'hcSelected',
'hcSelectGroup',
'hcSetGroup',
'hcShowBar',
'hcShownBar',
'headgear',
'hideBehindScripted',
'hideBody',
'hideObject',
'hideObjectGlobal',
'hideSelection',
'hierarchyObjectsCount',
'hint',
'hintC',
'hintCadet',
'hintSilent',
'hmd',
'hostMission',
'htmlLoad',
'HUDMovementLevels',
'humidity',
'image',
'importAllGroups',
'importance',
'in',
'inArea',
'inAreaArray',
'incapacitatedState',
'inflame',
'inflamed',
'infoPanel',
'infoPanelComponentEnabled',
'infoPanelComponents',
'infoPanels',
'inGameUISetEventHandler',
'inheritsFrom',
'initAmbientLife',
'inPolygon',
'inputAction',
'inRangeOfArtillery',
'insert',
'insertEditorObject',
'intersect',
'is3DEN',
'is3DENMultiplayer',
'is3DENPreview',
'isAbleToBreathe',
'isActionMenuVisible',
'isAgent',
'isAimPrecisionEnabled',
'isArray',
'isAutoHoverOn',
'isAutonomous',
'isAutoStartUpEnabledRTD',
'isAutotest',
'isAutoTrimOnRTD',
'isBleeding',
'isBurning',
'isClass',
'isCollisionLightOn',
'isCopilotEnabled',
'isDamageAllowed',
'isDedicated',
'isDLCAvailable',
'isEngineOn',
'isEqualTo',
'isEqualType',
'isEqualTypeAll',
'isEqualTypeAny',
'isEqualTypeArray',
'isEqualTypeParams',
'isFilePatchingEnabled',
'isFinal',
'isFlashlightOn',
'isFlatEmpty',
'isForcedWalk',
'isFormationLeader',
'isGameFocused',
'isGamePaused',
'isGroupDeletedWhenEmpty',
'isHidden',
'isHideBehindScripted',
'isInRemainsCollector',
'isInstructorFigureEnabled',
'isIRLaserOn',
'isKeyActive',
'isKindOf',
'isLaserOn',
'isLightOn',
'isLocalized',
'isManualFire',
'isMarkedForCollection',
'isMultiplayer',
'isMultiplayerSolo',
'isNil',
'isNotEqualTo',
'isNull',
'isNumber',
'isObjectHidden',
'isObjectRTD',
'isOnRoad',
'isPiPEnabled',
'isPlayer',
'isRealTime',
'isRemoteExecuted',
'isRemoteExecutedJIP',
'isSensorTargetConfirmed',
'isServer',
'isShowing3DIcons',
'isSimpleObject',
'isSprintAllowed',
'isStaminaEnabled',
'isSteamMission',
'isStreamFriendlyUIEnabled',
'isStressDamageEnabled',
'isText',
'isTouchingGround',
'isTurnedOut',
'isTutHintsEnabled',
'isUAVConnectable',
'isUAVConnected',
'isUIContext',
'isUniformAllowed',
'isVehicleCargo',
'isVehicleRadarOn',
'isVehicleSensorEnabled',
'isWalking',
'isWeaponDeployed',
'isWeaponRested',
'itemCargo',
'items',
'itemsWithMagazines',
'join',
'joinAs',
'joinAsSilent',
'joinSilent',
'joinString',
'kbAddDatabase',
'kbAddDatabaseTargets',
'kbAddTopic',
'kbHasTopic',
'kbReact',
'kbRemoveTopic',
'kbTell',
'kbWasSaid',
'keyImage',
'keyName',
'keys',
'knowsAbout',
'land',
'landAt',
'landResult',
'language',
'laserTarget',
'lbAdd',
'lbClear',
'lbColor',
'lbColorRight',
'lbCurSel',
'lbData',
'lbDelete',
'lbIsSelected',
'lbPicture',
'lbPictureRight',
'lbSelection',
'lbSetColor',
'lbSetColorRight',
'lbSetCurSel',
'lbSetData',
'lbSetPicture',
'lbSetPictureColor',
'lbSetPictureColorDisabled',
'lbSetPictureColorSelected',
'lbSetPictureRight',
'lbSetPictureRightColor',
'lbSetPictureRightColorDisabled',
'lbSetPictureRightColorSelected',
'lbSetSelectColor',
'lbSetSelectColorRight',
'lbSetSelected',
'lbSetText',
'lbSetTextRight',
'lbSetTooltip',
'lbSetValue',
'lbSize',
'lbSort',
'lbSortByValue',
'lbText',
'lbTextRight',
'lbValue',
'leader',
'leaderboardDeInit',
'leaderboardGetRows',
'leaderboardInit',
'leaderboardRequestRowsFriends',
'leaderboardRequestRowsGlobal',
'leaderboardRequestRowsGlobalAroundUser',
'leaderboardsRequestUploadScore',
'leaderboardsRequestUploadScoreKeepBest',
'leaderboardState',
'leaveVehicle',
'libraryCredits',
'libraryDisclaimers',
'lifeState',
'lightAttachObject',
'lightDetachObject',
'lightIsOn',
'lightnings',
'limitSpeed',
'linearConversion',
'lineIntersects',
'lineIntersectsObjs',
'lineIntersectsSurfaces',
'lineIntersectsWith',
'linkItem',
'list',
'listObjects',
'listRemoteTargets',
'listVehicleSensors',
'ln',
'lnbAddArray',
'lnbAddColumn',
'lnbAddRow',
'lnbClear',
'lnbColor',
'lnbColorRight',
'lnbCurSelRow',
'lnbData',
'lnbDeleteColumn',
'lnbDeleteRow',
'lnbGetColumnsPosition',
'lnbPicture',
'lnbPictureRight',
'lnbSetColor',
'lnbSetColorRight',
'lnbSetColumnsPos',
'lnbSetCurSelRow',
'lnbSetData',
'lnbSetPicture',
'lnbSetPictureColor',
'lnbSetPictureColorRight',
'lnbSetPictureColorSelected',
'lnbSetPictureColorSelectedRight',
'lnbSetPictureRight',
'lnbSetText',
'lnbSetTextRight',
'lnbSetTooltip',
'lnbSetValue',
'lnbSize',
'lnbSort',
'lnbSortByValue',
'lnbText',
'lnbTextRight',
'lnbValue',
'load',
'loadAbs',
'loadBackpack',
'loadFile',
'loadGame',
'loadIdentity',
'loadMagazine',
'loadOverlay',
'loadStatus',
'loadUniform',
'loadVest',
'local',
'localize',
'localNamespace',
'locationPosition',
'lock',
'lockCameraTo',
'lockCargo',
'lockDriver',
'locked',
'lockedCargo',
'lockedDriver',
'lockedInventory',
'lockedTurret',
'lockIdentity',
'lockInventory',
'lockTurret',
'lockWP',
'log',
'logEntities',
'logNetwork',
'logNetworkTerminate',
'lookAt',
'lookAtPos',
'magazineCargo',
'magazines',
'magazinesAllTurrets',
'magazinesAmmo',
'magazinesAmmoCargo',
'magazinesAmmoFull',
'magazinesDetail',
'magazinesDetailBackpack',
'magazinesDetailUniform',
'magazinesDetailVest',
'magazinesTurret',
'magazineTurretAmmo',
'mapAnimAdd',
'mapAnimClear',
'mapAnimCommit',
'mapAnimDone',
'mapCenterOnCamera',
'mapGridPosition',
'markAsFinishedOnSteam',
'markerAlpha',
'markerBrush',
'markerChannel',
'markerColor',
'markerDir',
'markerPolyline',
'markerPos',
'markerShadow',
'markerShape',
'markerSize',
'markerText',
'markerType',
'matrixMultiply',
'matrixTranspose',
'max',
'members',
'menuAction',
'menuAdd',
'menuChecked',
'menuClear',
'menuCollapse',
'menuData',
'menuDelete',
'menuEnable',
'menuEnabled',
'menuExpand',
'menuHover',
'menuPicture',
'menuSetAction',
'menuSetCheck',
'menuSetData',
'menuSetPicture',
'menuSetShortcut',
'menuSetText',
'menuSetURL',
'menuSetValue',
'menuShortcut',
'menuShortcutText',
'menuSize',
'menuSort',
'menuText',
'menuURL',
'menuValue',
'merge',
'min',
'mineActive',
'mineDetectedBy',
'missileTarget',
'missileTargetPos',
'missionConfigFile',
'missionDifficulty',
'missionName',
'missionNameSource',
'missionNamespace',
'missionStart',
'missionVersion',
'mod',
'modelToWorld',
'modelToWorldVisual',
'modelToWorldVisualWorld',
'modelToWorldWorld',
'modParams',
'moonIntensity',
'moonPhase',
'morale',
'move',
'move3DENCamera',
'moveInAny',
'moveInCargo',
'moveInCommander',
'moveInDriver',
'moveInGunner',
'moveInTurret',
'moveObjectToEnd',
'moveOut',
'moveTarget',
'moveTime',
'moveTo',
'moveToCompleted',
'moveToFailed',
'musicVolume',
'name',
'namedProperties',
'nameSound',
'nearEntities',
'nearestBuilding',
'nearestLocation',
'nearestLocations',
'nearestLocationWithDubbing',
'nearestObject',
'nearestObjects',
'nearestTerrainObjects',
'nearObjects',
'nearObjectsReady',
'nearRoads',
'nearSupplies',
'nearTargets',
'needReload',
'netId',
'netObjNull',
'newOverlay',
'nextMenuItemIndex',
'nextWeatherChange',
'nMenuItems',
'not',
'numberOfEnginesRTD',
'numberToDate',
'object',
'objectCurators',
'objectFromNetId',
'objectParent',
'objStatus',
'onBriefingGear',
'onBriefingGroup',
'onBriefingNotes',
'onBriefingPlan',
'onBriefingTeamSwitch',
'onCommandModeChanged',
'onDoubleClick',
'onEachFrame',
'onGroupIconClick',
'onGroupIconOverEnter',
'onGroupIconOverLeave',
'onHCGroupSelectionChanged',
'onMapSingleClick',
'onPlayerConnected',
'onPlayerDisconnected',
'onPreloadFinished',
'onPreloadStarted',
'onShowNewObject',
'onTeamSwitch',
'openCuratorInterface',
'openDLCPage',
'openDSInterface',
'openGPS',
'openMap',
'openSteamApp',
'openYoutubeVideo',
'or',
'orderGetIn',
'overcast',
'overcastForecast',
'owner',
'param',
'params',
'parseNumber',
'parseSimpleArray',
'parseText',
'parsingNamespace',
'particlesQuality',
'periscopeElevation',
'pickWeaponPool',
'pitch',
'pixelGrid',
'pixelGridBase',
'pixelGridNoUIScale',
'pixelH',
'pixelW',
'playableSlotsNumber',
'playableUnits',
'playAction',
'playActionNow',
'player',
'playerRespawnTime',
'playerSide',
'playersNumber',
'playGesture',
'playMission',
'playMove',
'playMoveNow',
'playMusic',
'playScriptedMission',
'playSound',
'playSound3D',
'position',
'positionCameraToWorld',
'posScreenToWorld',
'posWorldToScreen',
'ppEffectAdjust',
'ppEffectCommit',
'ppEffectCommitted',
'ppEffectCreate',
'ppEffectDestroy',
'ppEffectEnable',
'ppEffectEnabled',
'ppEffectForceInNVG',
'precision',
'preloadCamera',
'preloadObject',
'preloadSound',
'preloadTitleObj',
'preloadTitleRsc',
'preprocessFile',
'preprocessFileLineNumbers',
'primaryWeapon',
'primaryWeaponItems',
'primaryWeaponMagazine',
'priority',
'processDiaryLink',
'processInitCommands',
'productVersion',
'profileName',
'profileNamespace',
'profileNameSteam',
'progressLoadingScreen',
'progressPosition',
'progressSetPosition',
'publicVariable',
'publicVariableClient',
'publicVariableServer',
'pushBack',
'pushBackUnique',
'putWeaponPool',
'queryItemsPool',
'queryMagazinePool',
'queryWeaponPool',
'rad',
'radioChannelAdd',
'radioChannelCreate',
'radioChannelInfo',
'radioChannelRemove',
'radioChannelSetCallSign',
'radioChannelSetLabel',
'radioVolume',
'rain',
'rainbow',
'random',
'rank',
'rankId',
'rating',
'rectangular',
'registeredTasks',
'registerTask',
'reload',
'reloadEnabled',
'remoteControl',
'remoteExec',
'remoteExecCall',
'remoteExecutedOwner',
'remove3DENConnection',
'remove3DENEventHandler',
'remove3DENLayer',
'removeAction',
'removeAll3DENEventHandlers',
'removeAllActions',
'removeAllAssignedItems',
'removeAllBinocularItems',
'removeAllContainers',
'removeAllCuratorAddons',
'removeAllCuratorCameraAreas',
'removeAllCuratorEditingAreas',
'removeAllEventHandlers',
'removeAllHandgunItems',
'removeAllItems',
'removeAllItemsWithMagazines',
'removeAllMissionEventHandlers',
'removeAllMPEventHandlers',
'removeAllMusicEventHandlers',
'removeAllOwnedMines',
'removeAllPrimaryWeaponItems',
'removeAllSecondaryWeaponItems',
'removeAllWeapons',
'removeBackpack',
'removeBackpackGlobal',
'removeBinocularItem',
'removeClothing',
'removeCuratorAddons',
'removeCuratorCameraArea',
'removeCuratorEditableObjects',
'removeCuratorEditingArea',
'removeDiaryRecord',
'removeDiarySubject',
'removeDrawIcon',
'removeDrawLinks',
'removeEventHandler',
'removeFromRemainsCollector',
'removeGoggles',
'removeGroupIcon',
'removeHandgunItem',
'removeHeadgear',
'removeItem',
'removeItemFromBackpack',
'removeItemFromUniform',
'removeItemFromVest',
'removeItems',
'removeMagazine',
'removeMagazineGlobal',
'removeMagazines',
'removeMagazinesTurret',
'removeMagazineTurret',
'removeMenuItem',
'removeMissionEventHandler',
'removeMPEventHandler',
'removeMusicEventHandler',
'removeOwnedMine',
'removePrimaryWeaponItem',
'removeSecondaryWeaponItem',
'removeSimpleTask',
'removeSwitchableUnit',
'removeTeamMember',
'removeUniform',
'removeVest',
'removeWeapon',
'removeWeaponAttachmentCargo',
'removeWeaponCargo',
'removeWeaponGlobal',
'removeWeaponTurret',
'reportRemoteTarget',
'requiredVersion',
'resetCamShake',
'resetSubgroupDirection',
'resize',
'resources',
'respawnVehicle',
'restartEditorCamera',
'reveal',
'revealMine',
'reverse',
'reversedMouseY',
'roadAt',
'roadsConnectedTo',
'roleDescription',
'ropeAttachedObjects',
'ropeAttachedTo',
'ropeAttachEnabled',
'ropeAttachTo',
'ropeCreate',
'ropeCut',
'ropeDestroy',
'ropeDetach',
'ropeEndPosition',
'ropeLength',
'ropes',
'ropeSegments',
'ropeSetCargoMass',
'ropeUnwind',
'ropeUnwound',
'rotorsForcesRTD',
'rotorsRpmRTD',
'round',
'runInitScript',
'safeZoneH',
'safeZoneW',
'safeZoneWAbs',
'safeZoneX',
'safeZoneXAbs',
'safeZoneY',
'save3DENInventory',
'saveGame',
'saveIdentity',
'saveJoysticks',
'saveOverlay',
'saveProfileNamespace',
'saveStatus',
'saveVar',
'savingEnabled',
'say',
'say2D',
'say3D',
'scopeName',
'score',
'scoreSide',
'screenshot',
'screenToWorld',
'scriptDone',
'scriptName',
'scudState',
'secondaryWeapon',
'secondaryWeaponItems',
'secondaryWeaponMagazine',
'select',
'selectBestPlaces',
'selectDiarySubject',
'selectedEditorObjects',
'selectEditorObject',
'selectionNames',
'selectionPosition',
'selectLeader',
'selectMax',
'selectMin',
'selectNoPlayer',
'selectPlayer',
'selectRandom',
'selectRandomWeighted',
'selectWeapon',
'selectWeaponTurret',
'sendAUMessage',
'sendSimpleCommand',
'sendTask',
'sendTaskResult',
'sendUDPMessage',
'serverCommand',
'serverCommandAvailable',
'serverCommandExecutable',
'serverName',
'serverTime',
'set',
'set3DENAttribute',
'set3DENAttributes',
'set3DENGrid',
'set3DENIconsVisible',
'set3DENLayer',
'set3DENLinesVisible',
'set3DENLogicType',
'set3DENMissionAttribute',
'set3DENMissionAttributes',
'set3DENModelsVisible',
'set3DENObjectType',
'set3DENSelected',
'setAccTime',
'setActualCollectiveRTD',
'setAirplaneThrottle',
'setAirportSide',
'setAmmo',
'setAmmoCargo',
'setAmmoOnPylon',
'setAnimSpeedCoef',
'setAperture',
'setApertureNew',
'setAPURTD',
'setArmoryPoints',
'setAttributes',
'setAutonomous',
'setBatteryChargeRTD',
'setBatteryRTD',
'setBehaviour',
'setBehaviourStrong',
'setBleedingRemaining',
'setBrakesRTD',
'setCameraEffect',
'setCameraInterest',
'setCamShakeDefParams',
'setCamShakeParams',
'setCamUseTI',
'setCaptive',
'setCenterOfMass',
'setCollisionLight',
'setCombatBehaviour',
'setCombatMode',
'setCompassOscillation',
'setConvoySeparation',
'setCuratorCameraAreaCeiling',
'setCuratorCoef',
'setCuratorEditingAreaType',
'setCuratorWaypointCost',
'setCurrentChannel',
'setCurrentTask',
'setCurrentWaypoint',
'setCustomAimCoef',
'setCustomMissionData',
'setCustomSoundController',
'setCustomWeightRTD',
'setDamage',
'setDammage',
'setDate',
'setDebriefingText',
'setDefaultCamera',
'setDestination',
'setDetailMapBlendPars',
'setDiaryRecordText',
'setDiarySubjectPicture',
'setDir',
'setDirection',
'setDrawIcon',
'setDriveOnPath',
'setDropInterval',
'setDynamicSimulationDistance',
'setDynamicSimulationDistanceCoef',
'setEditorMode',
'setEditorObjectScope',
'setEffectCondition',
'setEffectiveCommander',
'setEngineRPMRTD',
'setEngineRpmRTD',
'setFace',
'setFaceAnimation',
'setFatigue',
'setFeatureType',
'setFlagAnimationPhase',
'setFlagOwner',
'setFlagSide',
'setFlagTexture',
'setFog',
'setForceGeneratorRTD',
'setFormation',
'setFormationTask',
'setFormDir',
'setFriend',
'setFromEditor',
'setFSMVariable',
'setFuel',
'setFuelCargo',
'setGroupIcon',
'setGroupIconParams',
'setGroupIconsSelectable',
'setGroupIconsVisible',
'setGroupId',
'setGroupIdGlobal',
'setGroupOwner',
'setGusts',
'setHideBehind',
'setHit',
'setHitIndex',
'setHitPointDamage',
'setHorizonParallaxCoef',
'setHUDMovementLevels',
'setIdentity',
'setImportance',
'setInfoPanel',
'setLeader',
'setLightAmbient',
'setLightAttenuation',
'setLightBrightness',
'setLightColor',
'setLightDayLight',
'setLightFlareMaxDistance',
'setLightFlareSize',
'setLightIntensity',
'setLightnings',
'setLightUseFlare',
'setLocalWindParams',
'setMagazineTurretAmmo',
'setMarkerAlpha',
'setMarkerAlphaLocal',
'setMarkerBrush',
'setMarkerBrushLocal',
'setMarkerColor',
'setMarkerColorLocal',
'setMarkerDir',
'setMarkerDirLocal',
'setMarkerPolyline',
'setMarkerPolylineLocal',
'setMarkerPos',
'setMarkerPosLocal',
'setMarkerShadow',
'setMarkerShadowLocal',
'setMarkerShape',
'setMarkerShapeLocal',
'setMarkerSize',
'setMarkerSizeLocal',
'setMarkerText',
'setMarkerTextLocal',
'setMarkerType',
'setMarkerTypeLocal',
'setMass',
'setMimic',
'setMissileTarget',
'setMissileTargetPos',
'setMousePosition',
'setMusicEffect',
'setMusicEventHandler',
'setName',
'setNameSound',
'setObjectArguments',
'setObjectMaterial',
'setObjectMaterialGlobal',
'setObjectProxy',
'setObjectScale',
'setObjectTexture',
'setObjectTextureGlobal',
'setObjectViewDistance',
'setOvercast',
'setOwner',
'setOxygenRemaining',
'setParticleCircle',
'setParticleClass',
'setParticleFire',
'setParticleParams',
'setParticleRandom',
'setPilotCameraDirection',
'setPilotCameraRotation',
'setPilotCameraTarget',
'setPilotLight',
'setPiPEffect',
'setPitch',
'setPlateNumber',
'setPlayable',
'setPlayerRespawnTime',
'setPlayerVoNVolume',
'setPos',
'setPosASL',
'setPosASL2',
'setPosASLW',
'setPosATL',
'setPosition',
'setPosWorld',
'setPylonLoadout',
'setPylonsPriority',
'setRadioMsg',
'setRain',
'setRainbow',
'setRandomLip',
'setRank',
'setRectangular',
'setRepairCargo',
'setRotorBrakeRTD',
'setShadowDistance',
'setShotParents',
'setSide',
'setSimpleTaskAlwaysVisible',
'setSimpleTaskCustomData',
'setSimpleTaskDescription',
'setSimpleTaskDestination',
'setSimpleTaskTarget',
'setSimpleTaskType',
'setSimulWeatherLayers',
'setSize',
'setSkill',
'setSlingLoad',
'setSoundEffect',
'setSpeaker',
'setSpeech',
'setSpeedMode',
'setStamina',
'setStaminaScheme',
'setStarterRTD',
'setStatValue',
'setSuppression',
'setSystemOfUnits',
'setTargetAge',
'setTaskMarkerOffset',
'setTaskResult',
'setTaskState',
'setTerrainGrid',
'setText',
'setThrottleRTD',
'setTimeMultiplier',
'setTitleEffect',
'setToneMapping',
'setToneMappingParams',
'setTrafficDensity',
'setTrafficDistance',
'setTrafficGap',
'setTrafficSpeed',
'setTriggerActivation',
'setTriggerArea',
'setTriggerInterval',
'setTriggerStatements',
'setTriggerText',
'setTriggerTimeout',
'setTriggerType',
'setType',
'setUnconscious',
'setUnitAbility',
'setUnitCombatMode',
'setUnitLoadout',
'setUnitPos',
'setUnitPosWeak',
'setUnitRank',
'setUnitRecoilCoefficient',
'setUnitTrait',
'setUnloadInCombat',
'setUserActionText',
'setUserMFDText',
'setUserMFDValue',
'setVariable',
'setVectorDir',
'setVectorDirAndUp',
'setVectorUp',
'setVehicleAmmo',
'setVehicleAmmoDef',
'setVehicleArmor',
'setVehicleCargo',
'setVehicleId',
'setVehicleInit',
'setVehicleLock',
'setVehiclePosition',
'setVehicleRadar',
'setVehicleReceiveRemoteTargets',
'setVehicleReportOwnPosition',
'setVehicleReportRemoteTargets',
'setVehicleTIPars',
'setVehicleVarName',
'setVelocity',
'setVelocityModelSpace',
'setVelocityTransformation',
'setViewDistance',
'setVisibleIfTreeCollapsed',
'setWantedRPMRTD',
'setWaves',
'setWaypointBehaviour',
'setWaypointCombatMode',
'setWaypointCompletionRadius',
'setWaypointDescription',
'setWaypointForceBehaviour',
'setWaypointFormation',
'setWaypointHousePosition',
'setWaypointLoiterAltitude',
'setWaypointLoiterRadius',
'setWaypointLoiterType',
'setWaypointName',
'setWaypointPosition',
'setWaypointScript',
'setWaypointSpeed',
'setWaypointStatements',
'setWaypointTimeout',
'setWaypointType',
'setWaypointVisible',
'setWeaponReloadingTime',
'setWeaponZeroing',
'setWind',
'setWindDir',
'setWindForce',
'setWindStr',
'setWingForceScaleRTD',
'setWPPos',
'show3DIcons',
'showChat',
'showCinemaBorder',
'showCommandingMenu',
'showCompass',
'showCuratorCompass',
'showGPS',
'showHUD',
'showLegend',
'showMap',
'shownArtilleryComputer',
'shownChat',
'shownCompass',
'shownCuratorCompass',
'showNewEditorObject',
'shownGPS',
'shownHUD',
'shownMap',
'shownPad',
'shownRadio',
'shownScoretable',
'shownUAVFeed',
'shownWarrant',
'shownWatch',
'showPad',
'showRadio',
'showScoretable',
'showSubtitles',
'showUAVFeed',
'showWarrant',
'showWatch',
'showWaypoint',
'showWaypoints',
'side',
'sideChat',
'sideEmpty',
'sideEnemy',
'sideFriendly',
'sideRadio',
'simpleTasks',
'simulationEnabled',
'simulCloudDensity',
'simulCloudOcclusion',
'simulInClouds',
'simulSetHumidity',
'simulWeatherSync',
'sin',
'size',
'sizeOf',
'skill',
'skillFinal',
'skipTime',
'sleep',
'sliderPosition',
'sliderRange',
'sliderSetPosition',
'sliderSetRange',
'sliderSetSpeed',
'sliderSpeed',
'slingLoadAssistantShown',
'soldierMagazines',
'someAmmo',
'sort',
'soundVolume',
'spawn',
'speaker',
'speechVolume',
'speed',
'speedMode',
'splitString',
'sqrt',
'squadParams',
'stance',
'startLoadingScreen',
'step',
'stop',
'stopEngineRTD',
'stopped',
'str',
'sunOrMoon',
'supportInfo',
'suppressFor',
'surfaceIsWater',
'surfaceNormal',
'surfaceTexture',
'surfaceType',
'swimInDepth',
'switchableUnits',
'switchAction',
'switchCamera',
'switchGesture',
'switchLight',
'switchMove',
'synchronizedObjects',
'synchronizedTriggers',
'synchronizedWaypoints',
'synchronizeObjectsAdd',
'synchronizeObjectsRemove',
'synchronizeTrigger',
'synchronizeWaypoint',
'systemChat',
'systemOfUnits',
'systemTime',
'systemTimeUTC',
'tan',
'targetKnowledge',
'targets',
'targetsAggregate',
'targetsQuery',
'taskAlwaysVisible',
'taskChildren',
'taskCompleted',
'taskCustomData',
'taskDescription',
'taskDestination',
'taskHint',
'taskMarkerOffset',
'taskName',
'taskParent',
'taskResult',
'taskState',
'taskType',
'teamMember',
'teamName',
'teams',
'teamSwitch',
'teamSwitchEnabled',
'teamType',
'terminate',
'terrainIntersect',
'terrainIntersectASL',
'terrainIntersectAtASL',
'text',
'textLog',
'textLogFormat',
'tg',
'throttleRTD',
'time',
'timeMultiplier',
'titleCut',
'titleFadeOut',
'titleObj',
'titleRsc',
'titleText',
'toArray',
'toFixed',
'toLower',
'toLowerANSI',
'toString',
'toUpper',
'toUpperANSI',
'triggerActivated',
'triggerActivation',
'triggerAmmo',
'triggerArea',
'triggerAttachedVehicle',
'triggerAttachObject',
'triggerAttachVehicle',
'triggerDynamicSimulation',
'triggerInterval',
'triggerStatements',
'triggerText',
'triggerTimeout',
'triggerTimeoutCurrent',
'triggerType',
'trim',
'turretLocal',
'turretOwner',
'turretUnit',
'tvAdd',
'tvClear',
'tvCollapse',
'tvCollapseAll',
'tvCount',
'tvCurSel',
'tvData',
'tvDelete',
'tvExpand',
'tvExpandAll',
'tvIsSelected',
'tvPicture',
'tvPictureRight',
'tvSelection',
'tvSetColor',
'tvSetCurSel',
'tvSetData',
'tvSetPicture',
'tvSetPictureColor',
'tvSetPictureColorDisabled',
'tvSetPictureColorSelected',
'tvSetPictureRight',
'tvSetPictureRightColor',
'tvSetPictureRightColorDisabled',
'tvSetPictureRightColorSelected',
'tvSetSelectColor',
'tvSetSelected',
'tvSetText',
'tvSetTooltip',
'tvSetValue',
'tvSort',
'tvSortAll',
'tvSortByValue',
'tvSortByValueAll',
'tvText',
'tvTooltip',
'tvValue',
'type',
'typeName',
'typeOf',
'UAVControl',
'uiNamespace',
'uiSleep',
'unassignCurator',
'unassignItem',
'unassignTeam',
'unassignVehicle',
'underwater',
'uniform',
'uniformContainer',
'uniformItems',
'uniformMagazines',
'unitAddons',
'unitAimPosition',
'unitAimPositionVisual',
'unitBackpack',
'unitCombatMode',
'unitIsUAV',
'unitPos',
'unitReady',
'unitRecoilCoefficient',
'units',
'unitsBelowHeight',
'unitTurret',
'unlinkItem',
'unlockAchievement',
'unregisterTask',
'updateDrawIcon',
'updateMenuItem',
'updateObjectTree',
'useAIOperMapObstructionTest',
'useAISteeringComponent',
'useAudioTimeForMoves',
'userInputDisabled',
'vectorAdd',
'vectorCos',
'vectorCrossProduct',
'vectorDiff',
'vectorDir',
'vectorDirVisual',
'vectorDistance',
'vectorDistanceSqr',
'vectorDotProduct',
'vectorFromTo',
'vectorLinearConversion',
'vectorMagnitude',
'vectorMagnitudeSqr',
'vectorModelToWorld',
'vectorModelToWorldVisual',
'vectorMultiply',
'vectorNormalized',
'vectorUp',
'vectorUpVisual',
'vectorWorldToModel',
'vectorWorldToModelVisual',
'vehicle',
'vehicleCargoEnabled',
'vehicleChat',
'vehicleMoveInfo',
'vehicleRadio',
'vehicleReceiveRemoteTargets',
'vehicleReportOwnPosition',
'vehicleReportRemoteTargets',
'vehicles',
'vehicleVarName',
'velocity',
'velocityModelSpace',
'verifySignature',
'vest',
'vestContainer',
'vestItems',
'vestMagazines',
'viewDistance',
'visibleCompass',
'visibleGPS',
'visibleMap',
'visiblePosition',
'visiblePositionASL',
'visibleScoretable',
'visibleWatch',
'waves',
'waypointAttachedObject',
'waypointAttachedVehicle',
'waypointAttachObject',
'waypointAttachVehicle',
'waypointBehaviour',
'waypointCombatMode',
'waypointCompletionRadius',
'waypointDescription',
'waypointForceBehaviour',
'waypointFormation',
'waypointHousePosition',
'waypointLoiterAltitude',
'waypointLoiterRadius',
'waypointLoiterType',
'waypointName',
'waypointPosition',
'waypoints',
'waypointScript',
'waypointsEnabledUAV',
'waypointShow',
'waypointSpeed',
'waypointStatements',
'waypointTimeout',
'waypointTimeoutCurrent',
'waypointType',
'waypointVisible',
'weaponAccessories',
'weaponAccessoriesCargo',
'weaponCargo',
'weaponDirection',
'weaponInertia',
'weaponLowered',
'weapons',
'weaponsItems',
'weaponsItemsCargo',
'weaponState',
'weaponsTurret',
'weightRTD',
'WFSideText',
'wind',
'windDir',
'windRTD',
'windStr',
'wingsForcesRTD',
'worldName',
'worldSize',
'worldToModel',
'worldToModelVisual',
'worldToScreen',
];
// list of keywords from:

@@ -83,355 +2494,5 @@ // https://community.bistudio.com/wiki/PreProcessor_Commands

keywords: {
keyword:
'case catch default do else exit exitWith for forEach from if ' +
'private switch then throw to try waitUntil while with',
built_in:
'abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames ' +
'actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey ' +
'add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo ' +
'addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea ' +
'addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler ' +
'addForce addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo ' +
'addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats ' +
'addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal ' +
'addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler ' +
'addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem ' +
'addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem ' +
'addSwitchableUnit addTeamMember addToRemainsCollector addTorque addUniform addVehicle addVest ' +
'addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem ' +
'addWeaponPool addWeaponTurret admin agent agents AGLToASL aimedAtTarget aimPos airDensityRTD ' +
'airplaneThrottle airportSide AISFinishHeal alive all3DENEntities allAirports allControls ' +
'allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines ' +
'allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage ' +
'allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSimpleObjects ' +
'allSites allTurrets allUnits allUnitsUAV allVariables ammo ammoOnPylon and animate animateBay ' +
'animateDoor animatePylon animateSource animationNames animationPhase animationSourcePhase ' +
'animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert ' +
'assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret ' +
'assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems ' +
'assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam ' +
'assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject ' +
'attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines ' +
'backpackSpaceFor behaviour benchmark binocular boundingBox boundingBoxReal boundingCenter ' +
'breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode ' +
'call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams ' +
'camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView ' +
'campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive ' +
'camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget ' +
'camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos ' +
'camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest ' +
'cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend ' +
'canTriggerDynamicSimulation canUnloadInCombat canVehicleCargo captive captiveNum cbChecked ' +
'cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility className ' +
'clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons ' +
'clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal ' +
'clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool ' +
'clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory ' +
'collectiveRTD combatMode commandArtilleryFire commandChat commander commandFire commandFollow ' +
'commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop ' +
'commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal ' +
'completedFSM composeText configClasses configFile configHierarchy configName configProperties ' +
'configSourceAddonList configSourceMod configSourceModList confirmSensorTarget ' +
'connectTerminalToUAV controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count ' +
'countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity ' +
'createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject ' +
'createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker ' +
'createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay ' +
'createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam ' +
'createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctAddHeader ' +
'ctAddRow ctClear ctCurSel ctData ctFindHeaderRows ctFindRowHeader ctHeaderControls ctHeaderCount ' +
'ctRemoveHeaders ctRemoveRows ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ' +
'ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ' +
'ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ' +
'ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ' +
'ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ' +
'ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ' +
'ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ' +
'ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ' +
'ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ' +
'ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ' +
'ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ' +
'ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ' +
'ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ' +
'ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPixelPrecision ctrlSetPosition ctrlSetScale ' +
'ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ' +
'ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ' +
'ctrlTextWidth ctrlType ctrlVisible ctRowControls ctRowCount ctSetCurSel ctSetData ' +
'ctSetHeaderTemplate ctSetRowTemplate ctSetValue ctValue curatorAddons curatorCamera ' +
'curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea ' +
'curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected ' +
'curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine ' +
'currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle ' +
'currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint ' +
'currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget ' +
'customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime ' +
'deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter ' +
'deleteCollection deleteEditorObject deleteGroup deleteGroupWhenEmpty deleteIdentity ' +
'deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus ' +
'deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines ' +
'diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts ' +
'diag_captureFrame diag_captureFrameToFile diag_captureSlowFrame diag_codePerformance ' +
'diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_lightNewLoad ' +
'diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits ' +
'diag_setLightNew diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner ' +
'difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI ' +
'disableCollisionWith disableConversation disableDebriefingStats disableMapIndicators ' +
'disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment ' +
'disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayParent ' +
'displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam ' +
'distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow ' +
'doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse ' +
'drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle ' +
'drawTriangle driver drop dynamicSimulationDistance dynamicSimulationDistanceCoef ' +
'dynamicSimulationEnabled dynamicSimulationSystemEnabled echo edit3DENMissionAttributes editObject ' +
'editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature ' +
'enableAimPrecision enableAttack enableAudioFeature enableAutoStartUpRTD enableAutoTrimRTD ' +
'enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot ' +
'enableDebriefingStats enableDiagLegend enableDynamicSimulation enableDynamicSimulationSystem ' +
'enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights ' +
'enableInfoPanelComponent enableIRLasers enableMimics enablePersonTurret enableRadio enableReload ' +
'enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation ' +
'enableSimulationGlobal enableStamina enableTeamSwitch enableTraffic enableUAVConnectability ' +
'enableUAVWaypoints enableVehicleCargo enableVehicleSensor enableWeaponDisassembly ' +
'endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities ' +
'environmentEnabled estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack ' +
'everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages ' +
'eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission ' +
'fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition ' +
'findEmptyPositionReady findIf findNearestEnemy finishMissionInit finite fire fireAtTarget ' +
'firstBackpack flag flagAnimationPhase flagOwner flagSide flagTexture fleeing floor flyInHeight ' +
'flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceFlagTexture ' +
'forceFollowRoad forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange ' +
'forEachMember forEachMemberAgent forEachMemberTeam forgetTarget format formation ' +
'formationDirection formationLeader formationMembers formationPosition formationTask formatText ' +
'formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData ' +
'get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity ' +
'get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible ' +
'get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllEnvSoundControllers ' +
'getAllHitPointsDamage getAllOwnedMines getAllSoundControllers getAmmoCargo getAnimAimPrecision ' +
'getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA ' +
'getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining ' +
'getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState ' +
'getClientStateNumber getCompatiblePylonMagazines getConnectedUAV getContainerMaxLoad ' +
'getCursorObjectParams getCustomAimCoef getDammage getDescription getDir getDirVisual ' +
'getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getEditorCamera getEditorMode ' +
'getEditorObjectScope getElevationOffset getEnvSoundController getFatigue getForcedFlagTexture ' +
'getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom ' +
'getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos ' +
'getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs ' +
'getMissionLayerEntities getModelInfo getMousePosition getMusicPlayedTime getNumber ' +
'getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy ' +
'getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs ' +
'getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget ' +
'getPlateNumber getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual ' +
'getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getPylonMagazines getRelDir ' +
'getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents ' +
'getSlingLoad getSoundController getSoundControllerResult getSpeed getStamina getStatValue ' +
'getSuppression getTerrainGrid getTerrainHeightASL getText getTotalDLCUsageTime getUnitLoadout ' +
'getUnitTrait getUserMFDText getUserMFDvalue getVariable getVehicleCargo getWeaponCargo ' +
'getWeaponSway getWingsOrientationRTD getWingsPositionRTD getWPPos glanceAt globalChat globalRadio ' +
'goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId ' +
'groupOwner groupRadio groupSelectedUnits groupSelectUnit gunner gusts halt handgunItems ' +
'handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups ' +
'hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup ' +
'hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC ' +
'hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups ' +
'importance in inArea inAreaArray incapacitatedState inflame inflamed infoPanel ' +
'infoPanelComponentEnabled infoPanelComponents infoPanels inGameUISetEventHandler inheritsFrom ' +
'initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN ' +
'is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest ' +
'isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDamageAllowed isDedicated ' +
'isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray ' +
'isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader ' +
'isGroupDeletedWhenEmpty isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn ' +
'isKeyActive isKindOf isLaserOn isLightOn isLocalized isManualFire isMarkedForCollection ' +
'isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad ' +
'isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons ' +
'isSimpleObject isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText ' +
'isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUIContext ' +
'isUniformAllowed isVehicleCargo isVehicleRadarOn isVehicleSensorEnabled isWalking ' +
'isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent ' +
'joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact ' +
'kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language ' +
'laserTarget lbAdd lbClear lbColor lbColorRight lbCurSel lbData lbDelete lbIsSelected lbPicture ' +
'lbPictureRight lbSelection lbSetColor lbSetColorRight lbSetCurSel lbSetData lbSetPicture ' +
'lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight ' +
'lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected ' +
'lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetText lbSetTextRight lbSetTooltip ' +
'lbSetValue lbSize lbSort lbSortByValue lbText lbTextRight lbValue leader leaderboardDeInit ' +
'leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardsRequestUploadScore ' +
'leaderboardsRequestUploadScoreKeepBest leaderboardState leaveVehicle libraryCredits ' +
'libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed ' +
'linearConversion lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith ' +
'linkItem list listObjects listRemoteTargets listVehicleSensors ln lnbAddArray lnbAddColumn ' +
'lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow ' +
'lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData ' +
'lnbSetPicture lnbSetText lnbSetValue lnbSize lnbSort lnbSortByValue lnbText lnbValue load loadAbs ' +
'loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform ' +
'loadVest local localize locationPosition lock lockCameraTo lockCargo lockDriver locked ' +
'lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork ' +
'logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo ' +
'magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack ' +
'magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd ' +
'mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam ' +
'markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText ' +
'markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete ' +
'menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData ' +
'menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL ' +
'menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName ' +
'missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual ' +
'modelToWorldVisualWorld modelToWorldWorld modParams moonIntensity moonPhase morale move ' +
'move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret ' +
'moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound ' +
'nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing ' +
'nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads ' +
'nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex ' +
'nextWeatherChange nMenuItems not numberOfEnginesRTD numberToDate objectCurators objectFromNetId ' +
'objectParent objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch ' +
'onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter ' +
'onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected ' +
'onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch ' +
'openCuratorInterface openDLCPage openMap openSteamApp openYoutubeVideo or orderGetIn overcast ' +
'overcastForecast owner param params parseNumber parseSimpleArray parseText parsingNamespace ' +
'particlesQuality pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW ' +
'playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide ' +
'playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission ' +
'playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ' +
'ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ' +
'ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound ' +
'preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon ' +
'primaryWeaponItems primaryWeaponMagazine priority processDiaryLink productVersion profileName ' +
'profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition ' +
'publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool ' +
'queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate ' +
'radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random ' +
'rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl ' +
'remoteExec remoteExecCall remoteExecutedOwner remove3DENConnection remove3DENEventHandler ' +
'remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems ' +
'removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas ' +
'removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems ' +
'removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers ' +
'removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons ' +
'removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea ' +
'removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks ' +
'removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem ' +
'removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest ' +
'removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret ' +
'removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler ' +
'removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem ' +
'removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon ' +
'removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret ' +
'reportRemoteTarget requiredVersion resetCamShake resetSubgroupDirection resize resources ' +
'respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt ' +
'roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ' +
'ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ' +
'ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW ' +
'safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity ' +
'saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D ' +
'scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scudState ' +
'secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces ' +
'selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition ' +
'selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectRandomWeighted ' +
'selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult ' +
'sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime ' +
'set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer ' +
'set3DENLinesVisible set3DENLogicType set3DENMissionAttribute set3DENMissionAttributes ' +
'set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setActualCollectiveRTD ' +
'setAirplaneThrottle setAirportSide setAmmo setAmmoCargo setAmmoOnPylon setAnimSpeedCoef ' +
'setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour ' +
'setBleedingRemaining setBrakesRTD setCameraInterest setCamShakeDefParams setCamShakeParams ' +
'setCamUseTI setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation ' +
'setConvoySeparation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType ' +
'setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef ' +
'setCustomWeightRTD setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination ' +
'setDetailMapBlendPars setDir setDirection setDrawIcon setDriveOnPath setDropInterval ' +
'setDynamicSimulationDistance setDynamicSimulationDistanceCoef setEditorMode setEditorObjectScope ' +
'setEffectCondition setEngineRPMRTD setFace setFaceAnimation setFatigue setFeatureType ' +
'setFlagAnimationPhase setFlagOwner setFlagSide setFlagTexture setFog setFormation ' +
'setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo ' +
'setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId ' +
'setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage ' +
'setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setInfoPanel setLeader ' +
'setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight ' +
'setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare ' +
'setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush ' +
'setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal ' +
'setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize ' +
'setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass ' +
'setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound ' +
'setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture ' +
'setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining ' +
'setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom ' +
'setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect ' +
'setPitch setPlateNumber setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW ' +
'setPosATL setPosition setPosWorld setPylonLoadOut setPylonsPriority setRadioMsg setRain ' +
'setRainbow setRandomLip setRank setRectangular setRepairCargo setRotorBrakeRTD setShadowDistance ' +
'setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData ' +
'setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType ' +
'setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech ' +
'setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits ' +
'setTargetAge setTaskMarkerOffset setTaskResult setTaskState setTerrainGrid setText ' +
'setTimeMultiplier setTitleEffect setTrafficDensity setTrafficDistance setTrafficGap ' +
'setTrafficSpeed setTriggerActivation setTriggerArea setTriggerStatements setTriggerText ' +
'setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos ' +
'setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat ' +
'setUserActionText setUserMFDText setUserMFDvalue setVariable setVectorDir setVectorDirAndUp ' +
'setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId ' +
'setVehicleLock setVehiclePosition setVehicleRadar setVehicleReceiveRemoteTargets ' +
'setVehicleReportOwnPosition setVehicleReportRemoteTargets setVehicleTIPars setVehicleVarName ' +
'setVelocity setVelocityModelSpace setVelocityTransformation setViewDistance ' +
'setVisibleIfTreeCollapsed setWantedRPMRTD setWaves setWaypointBehaviour setWaypointCombatMode ' +
'setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation ' +
'setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName ' +
'setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout ' +
'setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce ' +
'setWindStr setWingForceScaleRTD setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu ' +
'showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer ' +
'shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap ' +
'shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio ' +
'showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side ' +
'sideChat sideEnemy sideFriendly sideRadio simpleTasks simulationEnabled simulCloudDensity ' +
'simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime ' +
'sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed ' +
'slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode ' +
'splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str ' +
'sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth ' +
'switchableUnits switchAction switchCamera switchGesture switchLight switchMove ' +
'synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd ' +
'synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan ' +
'targetKnowledge targets targetsAggregate targetsQuery taskAlwaysVisible taskChildren ' +
'taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskParent ' +
'taskResult taskState taskType teamMember teamName teams teamSwitch teamSwitchEnabled teamType ' +
'terminate terrainIntersect terrainIntersectASL terrainIntersectAtASL text textLog textLogFormat ' +
'tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower ' +
'toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle ' +
'triggerAttachObject triggerAttachVehicle triggerDynamicSimulation triggerStatements triggerText ' +
'triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear ' +
'tvCollapse tvCollapseAll tvCount tvCurSel tvData tvDelete tvExpand tvExpandAll tvPicture ' +
'tvSetColor tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled ' +
'tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled ' +
'tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText ' +
'tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator ' +
'unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems ' +
'uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos ' +
'unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement ' +
'unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent ' +
'useAudioTimeForMoves userInputDisabled vectorAdd vectorCos vectorCrossProduct vectorDiff ' +
'vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo ' +
'vectorMagnitude vectorMagnitudeSqr vectorModelToWorld vectorModelToWorldVisual vectorMultiply ' +
'vectorNormalized vectorUp vectorUpVisual vectorWorldToModel vectorWorldToModelVisual vehicle ' +
'vehicleCargoEnabled vehicleChat vehicleRadio vehicleReceiveRemoteTargets vehicleReportOwnPosition ' +
'vehicleReportRemoteTargets vehicles vehicleVarName velocity velocityModelSpace verifySignature ' +
'vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap ' +
'visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject ' +
'waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour ' +
'waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour ' +
'waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName ' +
'waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed ' +
'waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible ' +
'weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered ' +
'weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD WFSideText wind ',
literal:
'blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak ' +
'locationNull nil objNull opfor pi resistance scriptNull sideAmbientLife sideEmpty sideLogic ' +
'sideUnknown taskNull teamMemberNull true west'
keyword: KEYWORDS,
built_in: BUILT_IN,
literal: LITERAL
},

@@ -438,0 +2499,0 @@ contains: [

@@ -466,3 +466,3 @@ /**

"unnest",
"update ",
"update",
"upper",

@@ -641,2 +641,3 @@ "user",

begin: concat(/\b/, either(...FUNCTIONS), /\s*\(/),
relevance: 0,
keywords: {

@@ -678,2 +679,3 @@ built_in: FUNCTIONS

begin: either(...COMBOS),
relevance: 0,
keywords: {

@@ -680,0 +682,0 @@ $pattern: /[\w\.]+/,

@@ -12,3 +12,7 @@ /*

$pattern: STEP21_IDENT_RE,
keyword: 'HEADER ENDSEC DATA'
keyword: [
"HEADER",
"ENDSEC",
"DATA"
]
};

@@ -15,0 +19,0 @@ const STEP21_START = {

@@ -20,2 +20,15 @@ const MODES = (hljs) => {

]
},
CSS_NUMBER_MODE: {
className: 'number',
begin: hljs.NUMBER_RE + '(' +
'%|em|ex|ch|rem' +
'|vw|vh|vmin|vmax' +
'|cm|mm|in|pt|pc|px' +
'|deg|grad|rad|turn' +
'|s|ms' +
'|Hz|kHz' +
'|dpi|dpcm|dppx' +
')?',
relevance: 0
}

@@ -541,3 +554,3 @@ };

},
contains: [ hljs.CSS_NUMBER_MODE ]
contains: [ modes.CSS_NUMBER_MODE ]
}

@@ -556,3 +569,3 @@ },

// dimension
hljs.CSS_NUMBER_MODE,
modes.CSS_NUMBER_MODE,

@@ -579,3 +592,3 @@ // functions

hljs.APOS_STRING_MODE,
hljs.CSS_NUMBER_MODE,
modes.CSS_NUMBER_MODE,
hljs.QUOTE_STRING_MODE

@@ -601,3 +614,3 @@ ]

hljs.QUOTE_STRING_MODE,
hljs.CSS_NUMBER_MODE,
modes.CSS_NUMBER_MODE,
hljs.C_BLOCK_COMMENT_MODE,

@@ -604,0 +617,0 @@ modes.IMPORTANT

@@ -49,17 +49,127 @@ /**

const KEYWORDS = [
"after",
"append",
"apply",
"array",
"auto_execok",
"auto_import",
"auto_load",
"auto_mkindex",
"auto_mkindex_old",
"auto_qualify",
"auto_reset",
"bgerror",
"binary",
"break",
"catch",
"cd",
"chan",
"clock",
"close",
"concat",
"continue",
"dde",
"dict",
"encoding",
"eof",
"error",
"eval",
"exec",
"exit",
"expr",
"fblocked",
"fconfigure",
"fcopy",
"file",
"fileevent",
"filename",
"flush",
"for",
"foreach",
"format",
"gets",
"glob",
"global",
"history",
"http",
"if",
"incr",
"info",
"interp",
"join",
"lappend|10",
"lassign|10",
"lindex|10",
"linsert|10",
"list",
"llength|10",
"load",
"lrange|10",
"lrepeat|10",
"lreplace|10",
"lreverse|10",
"lsearch|10",
"lset|10",
"lsort|10",
"mathfunc",
"mathop",
"memory",
"msgcat",
"namespace",
"open",
"package",
"parray",
"pid",
"pkg::create",
"pkg_mkIndex",
"platform",
"platform::shell",
"proc",
"puts",
"pwd",
"read",
"refchan",
"regexp",
"registry",
"regsub|10",
"rename",
"return",
"safe",
"scan",
"seek",
"set",
"socket",
"source",
"split",
"string",
"subst",
"switch",
"tcl_endOfWord",
"tcl_findLibrary",
"tcl_startOfNextWord",
"tcl_startOfPreviousWord",
"tcl_wordBreakAfter",
"tcl_wordBreakBefore",
"tcltest",
"tclvars",
"tell",
"time",
"tm",
"trace",
"unknown",
"unload",
"unset",
"update",
"uplevel",
"upvar",
"variable",
"vwait",
"while"
];
return {
name: 'Tcl',
aliases: ['tk'],
keywords: 'after append apply array auto_execok auto_import auto_load auto_mkindex ' +
'auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock ' +
'close concat continue dde dict encoding eof error eval exec exit expr fblocked ' +
'fconfigure fcopy file fileevent filename flush for foreach format gets glob global ' +
'history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list ' +
'llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 '+
'mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex '+
'platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename '+
'return safe scan seek set socket source split string subst switch tcl_endOfWord '+
'tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter '+
'tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update '+
'uplevel upvar variable vwait while',
keywords: KEYWORDS,
contains: [

@@ -66,0 +176,0 @@ hljs.COMMENT(';[ \\t]*#', '$'),

@@ -10,12 +10,34 @@ /*

function thrift(hljs) {
const BUILT_IN_TYPES = 'bool byte i16 i32 i64 double string binary';
const TYPES = [
"bool",
"byte",
"i16",
"i32",
"i64",
"double",
"string",
"binary"
];
const KEYWORDS = [
"namespace",
"const",
"typedef",
"struct",
"enum",
"service",
"exception",
"void",
"oneway",
"set",
"list",
"map",
"required",
"optional"
];
return {
name: 'Thrift',
keywords: {
keyword:
'namespace const typedef struct enum service exception void oneway set list map required optional',
built_in:
BUILT_IN_TYPES,
literal:
'true false'
keyword: KEYWORDS,
type: TYPES,
literal: 'true false'
},

@@ -44,4 +66,6 @@ contains: [

begin: '\\b(set|list|map)\\s*<',
keywords: {
type: [...TYPES, "set", "list", "map"]
},
end: '>',
keywords: BUILT_IN_TYPES,
contains: [ 'self' ]

@@ -48,0 +72,0 @@ }

@@ -40,14 +40,90 @@ /*

const KEYWORDS = [
"ABORT",
"ACC",
"ADJUST",
"AND",
"AP_LD",
"BREAK",
"CALL",
"CNT",
"COL",
"CONDITION",
"CONFIG",
"DA",
"DB",
"DIV",
"DETECT",
"ELSE",
"END",
"ENDFOR",
"ERR_NUM",
"ERROR_PROG",
"FINE",
"FOR",
"GP",
"GUARD",
"INC",
"IF",
"JMP",
"LINEAR_MAX_SPEED",
"LOCK",
"MOD",
"MONITOR",
"OFFSET",
"Offset",
"OR",
"OVERRIDE",
"PAUSE",
"PREG",
"PTH",
"RT_LD",
"RUN",
"SELECT",
"SKIP",
"Skip",
"TA",
"TB",
"TO",
"TOOL_OFFSET",
"Tool_Offset",
"UF",
"UT",
"UFRAME_NUM",
"UTOOL_NUM",
"UNLOCK",
"WAIT",
"X",
"Y",
"Z",
"W",
"P",
"R",
"STRLEN",
"SUBSTR",
"FINDSTR",
"VOFFSET",
"PROG",
"ATTR",
"MN",
"POS"
];
const LITERALS = [
"ON",
"OFF",
"max_speed",
"LPOS",
"JPOS",
"ENABLE",
"DISABLE",
"START",
"STOP",
"RESET"
];
return {
name: 'TP',
keywords: {
keyword:
'ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB ' +
'DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC ' +
'IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE ' +
'PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET ' +
'Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN ' +
'SUBSTR FINDSTR VOFFSET PROG ATTR MN POS',
literal:
'ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET'
keyword: KEYWORDS,
literal: LITERALS
},

@@ -54,0 +130,0 @@ contains: [

@@ -556,2 +556,15 @@ const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';

},
// catch ... so it won't trigger the property rule below
{
begin: /\.\.\./,
relevance: 0
},
{
begin: concat(/\./, lookahead(IDENT_RE$1)),
end: IDENT_RE$1,
excludeBegin: true,
keywords: "prototype",
className: "property",
relevance: 0
},
// hack: prevents detection of keywords in some circumstances

@@ -558,0 +571,0 @@ // .keyword()

@@ -49,12 +49,100 @@ /**

function vbscript(hljs) {
const BUILT_IN_FUNCTIONS = ('lcase month vartype instrrev ubound setlocale getobject rgb getref string ' +
'weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency ' +
'conversions csng timevalue second year space abs clng timeserial fixs len asc ' +
'isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate ' +
'instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex ' +
'chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim ' +
'strcomp int createobject loadpicture tan formatnumber mid ' +
'split cint sin datepart ltrim sqr ' +
'time derived eval date formatpercent exp inputbox left ascw ' +
'chrw regexp cstr err').split(" ");
const BUILT_IN_FUNCTIONS = [
"lcase",
"month",
"vartype",
"instrrev",
"ubound",
"setlocale",
"getobject",
"rgb",
"getref",
"string",
"weekdayname",
"rnd",
"dateadd",
"monthname",
"now",
"day",
"minute",
"isarray",
"cbool",
"round",
"formatcurrency",
"conversions",
"csng",
"timevalue",
"second",
"year",
"space",
"abs",
"clng",
"timeserial",
"fixs",
"len",
"asc",
"isempty",
"maths",
"dateserial",
"atn",
"timer",
"isobject",
"filter",
"weekday",
"datevalue",
"ccur",
"isdate",
"instr",
"datediff",
"formatdatetime",
"replace",
"isnull",
"right",
"sgn",
"array",
"snumeric",
"log",
"cdbl",
"hex",
"chr",
"lbound",
"msgbox",
"ucase",
"getlocale",
"cos",
"cdate",
"cbyte",
"rtrim",
"join",
"hour",
"oct",
"typename",
"trim",
"strcomp",
"int",
"createobject",
"loadpicture",
"tan",
"formatnumber",
"mid",
"split",
"cint",
"sin",
"datepart",
"ltrim",
"sqr",
"time",
"derived",
"eval",
"date",
"formatpercent",
"exp",
"inputbox",
"left",
"ascw",
"chrw",
"regexp",
"cstr",
"err"
];
const BUILT_IN_OBJECTS = [

@@ -74,3 +162,3 @@ "server",

// relevance 0 because this is acting as a beginKeywords really
relevance:0,
relevance: 0,
keywords: {

@@ -81,2 +169,70 @@ built_in: BUILT_IN_FUNCTIONS

const LITERALS = [
"true",
"false",
"null",
"nothing",
"empty"
];
const KEYWORDS = [
"call",
"class",
"const",
"dim",
"do",
"loop",
"erase",
"execute",
"executeglobal",
"exit",
"for",
"each",
"next",
"function",
"if",
"then",
"else",
"on",
"error",
"option",
"explicit",
"new",
"private",
"property",
"let",
"get",
"public",
"randomize",
"redim",
"rem",
"select",
"case",
"set",
"stop",
"sub",
"while",
"wend",
"with",
"end",
"to",
"elseif",
"is",
"or",
"xor",
"and",
"not",
"class_initialize",
"class_terminate",
"default",
"preserve",
"in",
"me",
"byval",
"byref",
"step",
"resume",
"goto"
];
return {

@@ -87,10 +243,5 @@ name: 'VBScript',

keywords: {
keyword:
'call class const dim do loop erase execute executeglobal exit for each next function ' +
'if then else on error option explicit new private property let get public randomize ' +
'redim rem select case set stop sub while wend with end to elseif is or xor and not ' +
'class_initialize class_terminate default preserve in me byval byref step resume goto',
keyword: KEYWORDS,
built_in: BUILT_IN_OBJECTS,
literal:
'true false null nothing empty'
literal: LITERALS
},

@@ -97,0 +248,0 @@ illegal: '//',

@@ -22,2 +22,163 @@ /*

const KEYWORDS = [
"abs",
"access",
"after",
"alias",
"all",
"and",
"architecture",
"array",
"assert",
"assume",
"assume_guarantee",
"attribute",
"begin",
"block",
"body",
"buffer",
"bus",
"case",
"component",
"configuration",
"constant",
"context",
"cover",
"disconnect",
"downto",
"default",
"else",
"elsif",
"end",
"entity",
"exit",
"fairness",
"file",
"for",
"force",
"function",
"generate",
"generic",
"group",
"guarded",
"if",
"impure",
"in",
"inertial",
"inout",
"is",
"label",
"library",
"linkage",
"literal",
"loop",
"map",
"mod",
"nand",
"new",
"next",
"nor",
"not",
"null",
"of",
"on",
"open",
"or",
"others",
"out",
"package",
"parameter",
"port",
"postponed",
"procedure",
"process",
"property",
"protected",
"pure",
"range",
"record",
"register",
"reject",
"release",
"rem",
"report",
"restrict",
"restrict_guarantee",
"return",
"rol",
"ror",
"select",
"sequence",
"severity",
"shared",
"signal",
"sla",
"sll",
"sra",
"srl",
"strong",
"subtype",
"then",
"to",
"transport",
"type",
"unaffected",
"units",
"until",
"use",
"variable",
"view",
"vmode",
"vprop",
"vunit",
"wait",
"when",
"while",
"with",
"xnor",
"xor"
];
const BUILT_INS = [
"boolean",
"bit",
"character",
"integer",
"time",
"delay_length",
"natural",
"positive",
"string",
"bit_vector",
"file_open_kind",
"file_open_status",
"std_logic",
"std_logic_vector",
"unsigned",
"signed",
"boolean_vector",
"integer_vector",
"std_ulogic",
"std_ulogic_vector",
"unresolved_unsigned",
"u_unsigned",
"unresolved_signed",
"u_signed",
"real_vector",
"time_vector"
];
const LITERALS = [
// severity_level
"false",
"true",
"note",
"warning",
"error",
"failure",
// textio
"line",
"text",
"side",
"width"
];
return {

@@ -27,22 +188,5 @@ name: 'VHDL',

keywords: {
keyword:
'abs access after alias all and architecture array assert assume assume_guarantee attribute ' +
'begin block body buffer bus case component configuration constant context cover disconnect ' +
'downto default else elsif end entity exit fairness file for force function generate ' +
'generic group guarded if impure in inertial inout is label library linkage literal ' +
'loop map mod nand new next nor not null of on open or others out package parameter port ' +
'postponed procedure process property protected pure range record register reject ' +
'release rem report restrict restrict_guarantee return rol ror select sequence ' +
'severity shared signal sla sll sra srl strong subtype then to transport type ' +
'unaffected units until use variable view vmode vprop vunit wait when while with xnor xor',
built_in:
'boolean bit character ' +
'integer time delay_length natural positive ' +
'string bit_vector file_open_kind file_open_status ' +
'std_logic std_logic_vector unsigned signed boolean_vector integer_vector ' +
'std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signed ' +
'real_vector time_vector',
literal:
'false true note warning error failure ' + // severity_level
'line text side width' // textio
keyword: KEYWORDS,
built_in: BUILT_INS,
literal: LITERALS
},

@@ -49,0 +193,0 @@ illegal: /\{/,

@@ -99,11 +99,17 @@ /*

className: 'variable',
begin: /[bwtglsav]:[\w\d_]*/
begin: /[bwtglsav]:[\w\d_]+/
},
{
className: 'function',
beginKeywords: 'function function!',
begin: [
/\b(?:function|function!)/,
/\s+/,
hljs.IDENT_RE
],
className: {
1: "keyword",
3: "title"
},
end: '$',
relevance: 0,
contains: [
hljs.TITLE_MODE,
{

@@ -110,0 +116,0 @@ className: 'params',

@@ -9,24 +9,139 @@ /*

function xl(hljs) {
const BUILTIN_MODULES =
'ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo ' +
'StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts';
const XL_KEYWORDS = {
const KWS = [
"if",
"then",
"else",
"do",
"while",
"until",
"for",
"loop",
"import",
"with",
"is",
"as",
"where",
"when",
"by",
"data",
"constant",
"integer",
"real",
"text",
"name",
"boolean",
"symbol",
"infix",
"prefix",
"postfix",
"block",
"tree"
];
const BUILT_INS = [
"in",
"mod",
"rem",
"and",
"or",
"xor",
"not",
"abs",
"sign",
"floor",
"ceil",
"sqrt",
"sin",
"cos",
"tan",
"asin",
"acos",
"atan",
"exp",
"expm1",
"log",
"log2",
"log10",
"log1p",
"pi",
"at",
"text_length",
"text_range",
"text_find",
"text_replace",
"contains",
"page",
"slide",
"basic_slide",
"title_slide",
"title",
"subtitle",
"fade_in",
"fade_out",
"fade_at",
"clear_color",
"color",
"line_color",
"line_width",
"texture_wrap",
"texture_transform",
"texture",
"scale_?x",
"scale_?y",
"scale_?z?",
"translate_?x",
"translate_?y",
"translate_?z?",
"rotate_?x",
"rotate_?y",
"rotate_?z?",
"rectangle",
"circle",
"ellipse",
"sphere",
"path",
"line_to",
"move_to",
"quad_to",
"curve_to",
"theme",
"background",
"contents",
"locally",
"time",
"mouse_?x",
"mouse_?y",
"mouse_buttons"
];
const BUILTIN_MODULES = [
"ObjectLoader",
"Animate",
"MovieCredits",
"Slides",
"Filters",
"Shading",
"Materials",
"LensFlare",
"Mapping",
"VLCAudioVideo",
"StereoDecoder",
"PointCloud",
"NetworkAccess",
"RemoteControl",
"RegExp",
"ChromaKey",
"Snowfall",
"NodeJS",
"Speech",
"Charts"
];
const LITERALS = [
"true",
"false",
"nil"
];
const KEYWORDS = {
$pattern: /[a-zA-Z][a-zA-Z0-9_?]*/,
keyword:
'if then else do while until for loop import with is as where when by data constant ' +
'integer real text name boolean symbol infix prefix postfix block tree',
literal:
'true false nil',
built_in:
'in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin ' +
'acos atan exp expm1 log log2 log10 log1p pi at text_length text_range ' +
'text_find text_replace contains page slide basic_slide title_slide ' +
'title subtitle fade_in fade_out fade_at clear_color color line_color ' +
'line_width texture_wrap texture_transform texture scale_?x scale_?y ' +
'scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y ' +
'rotate_?z? rectangle circle ellipse sphere path line_to move_to ' +
'quad_to curve_to theme background contents locally time mouse_?x ' +
'mouse_?y mouse_buttons ' +
BUILTIN_MODULES
keyword: KWS,
literal: LITERALS,
built_in: BUILT_INS.concat(BUILTIN_MODULES)
};

@@ -58,3 +173,3 @@

end: '$',
keywords: XL_KEYWORDS,
keywords: KEYWORDS,
contains: [ DOUBLE_QUOTE_TEXT ]

@@ -71,3 +186,3 @@ };

endsWithParent: true,
keywords: XL_KEYWORDS
keywords: KEYWORDS
}

@@ -80,3 +195,3 @@ })

aliases: [ 'tao' ],
keywords: XL_KEYWORDS,
keywords: KEYWORDS,
contains: [

@@ -83,0 +198,0 @@ hljs.C_LINE_COMMENT_MODE,

@@ -15,21 +15,185 @@ /*

// see https://www.w3.org/TR/xquery/#id-terminal-delimitation
const KEYWORDS =
'module schema namespace boundary-space preserve no-preserve strip default collation base-uri ordering context decimal-format decimal-separator copy-namespaces empty-sequence except exponent-separator external grouping-separator inherit no-inherit lax minus-sign per-mille percent schema-attribute schema-element strict unordered zero-digit ' +
'declare import option function validate variable ' +
'for at in let where order group by return if then else ' +
'tumbling sliding window start when only end previous next stable ' +
'ascending descending allowing empty greatest least some every satisfies switch case typeswitch try catch ' +
'and or to union intersect instance of treat as castable cast map array ' +
'delete insert into replace value rename copy modify update';
const KEYWORDS = [
"module",
"schema",
"namespace",
"boundary-space",
"preserve",
"no-preserve",
"strip",
"default",
"collation",
"base-uri",
"ordering",
"context",
"decimal-format",
"decimal-separator",
"copy-namespaces",
"empty-sequence",
"except",
"exponent-separator",
"external",
"grouping-separator",
"inherit",
"no-inherit",
"lax",
"minus-sign",
"per-mille",
"percent",
"schema-attribute",
"schema-element",
"strict",
"unordered",
"zero-digit",
"declare",
"import",
"option",
"function",
"validate",
"variable",
"for",
"at",
"in",
"let",
"where",
"order",
"group",
"by",
"return",
"if",
"then",
"else",
"tumbling",
"sliding",
"window",
"start",
"when",
"only",
"end",
"previous",
"next",
"stable",
"ascending",
"descending",
"allowing",
"empty",
"greatest",
"least",
"some",
"every",
"satisfies",
"switch",
"case",
"typeswitch",
"try",
"catch",
"and",
"or",
"to",
"union",
"intersect",
"instance",
"of",
"treat",
"as",
"castable",
"cast",
"map",
"array",
"delete",
"insert",
"into",
"replace",
"value",
"rename",
"copy",
"modify",
"update"
];
// Node Types (sorted by inheritance)
// atomic types (sorted by inheritance)
const TYPE =
'item document-node node attribute document element comment namespace namespace-node processing-instruction text construction ' +
'xs:anyAtomicType xs:untypedAtomic xs:duration xs:time xs:decimal xs:float xs:double xs:gYearMonth xs:gYear xs:gMonthDay xs:gMonth xs:gDay xs:boolean xs:base64Binary xs:hexBinary xs:anyURI xs:QName xs:NOTATION xs:dateTime xs:dateTimeStamp xs:date xs:string xs:normalizedString xs:token xs:language xs:NMTOKEN xs:Name xs:NCName xs:ID xs:IDREF xs:ENTITY xs:integer xs:nonPositiveInteger xs:negativeInteger xs:long xs:int xs:short xs:byte xs:nonNegativeInteger xs:unisignedLong xs:unsignedInt xs:unsignedShort xs:unsignedByte xs:positiveInteger xs:yearMonthDuration xs:dayTimeDuration';
const TYPES = [
"item",
"document-node",
"node",
"attribute",
"document",
"element",
"comment",
"namespace",
"namespace-node",
"processing-instruction",
"text",
"construction",
"xs:anyAtomicType",
"xs:untypedAtomic",
"xs:duration",
"xs:time",
"xs:decimal",
"xs:float",
"xs:double",
"xs:gYearMonth",
"xs:gYear",
"xs:gMonthDay",
"xs:gMonth",
"xs:gDay",
"xs:boolean",
"xs:base64Binary",
"xs:hexBinary",
"xs:anyURI",
"xs:QName",
"xs:NOTATION",
"xs:dateTime",
"xs:dateTimeStamp",
"xs:date",
"xs:string",
"xs:normalizedString",
"xs:token",
"xs:language",
"xs:NMTOKEN",
"xs:Name",
"xs:NCName",
"xs:ID",
"xs:IDREF",
"xs:ENTITY",
"xs:integer",
"xs:nonPositiveInteger",
"xs:negativeInteger",
"xs:long",
"xs:int",
"xs:short",
"xs:byte",
"xs:nonNegativeInteger",
"xs:unisignedLong",
"xs:unsignedInt",
"xs:unsignedShort",
"xs:unsignedByte",
"xs:positiveInteger",
"xs:yearMonthDuration",
"xs:dayTimeDuration"
];
const LITERAL =
'eq ne lt le gt ge is ' +
'self:: child:: descendant:: descendant-or-self:: attribute:: following:: following-sibling:: parent:: ancestor:: ancestor-or-self:: preceding:: preceding-sibling:: ' +
'NaN';
const LITERALS = [
"eq",
"ne",
"lt",
"le",
"gt",
"ge",
"is",
"self::",
"child::",
"descendant::",
"descendant-or-self::",
"attribute::",
"following::",
"following-sibling::",
"parent::",
"ancestor::",
"ancestor-or-self::",
"preceding::",
"preceding-sibling::",
"NaN"
];

@@ -191,4 +355,4 @@ // functions (TODO: find regex for op: without breaking build)

keyword: KEYWORDS,
type: TYPE,
literal: LITERAL
type: TYPES,
literal: LITERALS
},

@@ -195,0 +359,0 @@ contains: CONTAINS

@@ -11,6 +11,6 @@ /*

function yaml(hljs) {
var LITERALS = 'true false yes no null';
const LITERALS = 'true false yes no null';
// YAML spec allows non-reserved URI characters in tags.
var URI_CHARACTERS = '[\\w#;/?:@&=+$,.~*\'()[\\]]+';
const URI_CHARACTERS = '[\\w#;/?:@&=+$,.~*\'()[\\]]+';

@@ -21,25 +21,45 @@ // Define keys as starting with a word character

// The YAML spec allows for much more than this, but this covers most use-cases.
var KEY = {
const KEY = {
className: 'attr',
variants: [
{ begin: '\\w[\\w :\\/.-]*:(?=[ \t]|$)' },
{ begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)' }, // double quoted keys
{ begin: '\'\\w[\\w :\\/.-]*\':(?=[ \t]|$)' } // single quoted keys
{
begin: '\\w[\\w :\\/.-]*:(?=[ \t]|$)'
},
{ // double quoted keys
begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)'
},
{ // single quoted keys
begin: '\'\\w[\\w :\\/.-]*\':(?=[ \t]|$)'
}
]
};
var TEMPLATE_VARIABLES = {
const TEMPLATE_VARIABLES = {
className: 'template-variable',
variants: [
{ begin: /\{\{/, end: /\}\}/ }, // jinja templates Ansible
{ begin: /%\{/, end: /\}/ } // Ruby i18n
{ // jinja templates Ansible
begin: /\{\{/,
end: /\}\}/
},
{ // Ruby i18n
begin: /%\{/,
end: /\}/
}
]
};
var STRING = {
const STRING = {
className: 'string',
relevance: 0,
variants: [
{ begin: /'/, end: /'/ },
{ begin: /"/, end: /"/ },
{ begin: /\S+/ }
{
begin: /'/,
end: /'/
},
{
begin: /"/,
end: /"/
},
{
begin: /\S+/
}
],

@@ -54,15 +74,23 @@ contains: [

// brackets, or commas
var CONTAINER_STRING = hljs.inherit(STRING, {
const CONTAINER_STRING = hljs.inherit(STRING, {
variants: [
{ begin: /'/, end: /'/ },
{ begin: /"/, end: /"/ },
{ begin: /[^\s,{}[\]]+/ }
{
begin: /'/,
end: /'/
},
{
begin: /"/,
end: /"/
},
{
begin: /[^\s,{}[\]]+/
}
]
});
var DATE_RE = '[0-9]{4}(-[0-9][0-9]){0,2}';
var TIME_RE = '([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?';
var FRACTION_RE = '(\\.[0-9]*)?';
var ZONE_RE = '([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?';
var TIMESTAMP = {
const DATE_RE = '[0-9]{4}(-[0-9][0-9]){0,2}';
const TIME_RE = '([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?';
const FRACTION_RE = '(\\.[0-9]*)?';
const ZONE_RE = '([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?';
const TIMESTAMP = {
className: 'number',

@@ -72,3 +100,3 @@ begin: '\\b' + DATE_RE + TIME_RE + FRACTION_RE + ZONE_RE + '\\b'

var VALUE_CONTAINER = {
const VALUE_CONTAINER = {
end: ',',

@@ -80,13 +108,13 @@ endsWithParent: true,

};
var OBJECT = {
const OBJECT = {
begin: /\{/,
end: /\}/,
contains: [VALUE_CONTAINER],
contains: [ VALUE_CONTAINER ],
illegal: '\\n',
relevance: 0
};
var ARRAY = {
const ARRAY = {
begin: '\\[',
end: '\\]',
contains: [VALUE_CONTAINER],
contains: [ VALUE_CONTAINER ],
illegal: '\\n',

@@ -96,3 +124,3 @@ relevance: 0

var MODES = [
const MODES = [
KEY,

@@ -154,3 +182,5 @@ {

beginKeywords: LITERALS,
keywords: { literal: LITERALS }
keywords: {
literal: LITERALS
}
},

@@ -170,3 +200,3 @@ TIMESTAMP,

var VALUE_MODES = [...MODES];
const VALUE_MODES = [ ...MODES ];
VALUE_MODES.pop();

@@ -173,0 +203,0 @@ VALUE_MODES.push(CONTAINER_STRING);

@@ -9,3 +9,3 @@ {

"homepage": "https://highlightjs.org/",
"version": "10.7.2",
"version": "11.0.0-alpha0",
"author": {

@@ -40,5 +40,6 @@ "name": "Ivan Sagalaev",

"mocha": "mocha",
"lint": "eslint src/*.js src/lib/*.js src/plugins/*.js demo/*.js",
"lint": "eslint src/*.js src/lib/*.js demo/*.js",
"lint-languages": "eslint --no-eslintrc -c .eslintrc.lang.js src/languages/**/*.js",
"build_and_test": "npm run build && npm run test",
"build_and_test_browser": "npm run build-browser && npm run test-browser",
"build": "node ./tools/build.js -t node",

@@ -54,6 +55,6 @@ "build-cdn": "node ./tools/build.js -t cdn",

"engines": {
"node": "*"
"node": ">=12.0.0"
},
"devDependencies": {
"@rollup/plugin-commonjs": "^17.0.0",
"@rollup/plugin-commonjs": "^18.0.0",
"@rollup/plugin-json": "^4.1.0",

@@ -68,2 +69,3 @@ "@rollup/plugin-node-resolve": "^11.1.0",

"commander": "^7.0.0",
"css": "^3.0.0",
"deep-freeze-es6": "^1.4.1",

@@ -70,0 +72,0 @@ "del": "^6.0.0",

# Highlight.js
[![latest version](https://badgen.net/npm/v/highlight.js?label=latest)](https://www.npmjs.com/package/highlight.js)
[![slack](https://badgen.net/badge/icon/slack?icon=slack&label&color=pink)](https://join.slack.com/t/highlightjs/shared_invite/zt-mj0utgqp-TNFf4VQICnDnPg4zMHChFw)
[![discord](https://badgen.net/badge/icon/discord?icon=discord&label&color=pink)](https://discord.gg/M24EbU7ja9)
[![license](https://badgen.net/github/license/highlightjs/highlight.js?color=cyan)](https://github.com/highlightjs/highlight.js/blob/main/LICENSE)

@@ -11,10 +9,14 @@ [![install size](https://badgen.net/packagephobia/install/highlight.js?label=npm+install)](https://packagephobia.now.sh/result?p=highlight.js)

[![jsDelivr CDN downloads](https://badgen.net/jsdelivr/hits/gh/highlightjs/cdn-release?label=jsDelivr+CDN&color=purple)](https://www.jsdelivr.com/package/gh/highlightjs/cdn-release)
<!-- [![build and CI status](https://badgen.net/github/checks/highlightjs/highlight.js?label=build)](https://github.com/highlightjs/highlight.js/actions?query=workflow%3A%22Node.js+CI%22) -->
![build and CI status](https://badgen.net/github/checks/highlightjs/highlight.js/main?label=build)
[![code quality](https://badgen.net/lgtm/grade/g/highlightjs/highlight.js/js?label=code+quality)](https://lgtm.com/projects/g/highlightjs/highlight.js/?mode=list)
[![vulnerabilities](https://badgen.net/snyk/highlightjs/highlight.js)](https://snyk.io/test/github/highlightjs/highlight.js?targetFile=package.json)
![dev deps](https://badgen.net/david/dev/highlightjs/highlight.js?label=dev+deps)
[![code quality](https://badgen.net/lgtm/grade/g/highlightjs/highlight.js/js)](https://lgtm.com/projects/g/highlightjs/highlight.js/?mode=list)
[![build and CI status](https://badgen.net/github/checks/highlightjs/highlight.js?label=build)](https://github.com/highlightjs/highlight.js/actions?query=workflow%3A%22Node.js+CI%22)
[![discord](https://badgen.net/badge/icon/discord?icon=discord&label&color=pink)](https://discord.gg/M24EbU7ja9)
[![open issues](https://badgen.net/github/open-issues/highlightjs/highlight.js?label=issues)](https://github.com/highlightjs/highlight.js/issues)
[![help welcome issues](https://badgen.net/github/label-issues/highlightjs/highlight.js/help%20welcome/open)](https://github.com/highlightjs/highlight.js/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+welcome%22)
[![good first issue](https://badgen.net/github/label-issues/highlightjs/highlight.js/good%20first%20issue/open)](https://github.com/highlightjs/highlight.js/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22)
[![vulnerabilities](https://badgen.net/snyk/highlightjs/highlight.js)](https://snyk.io/test/github/highlightjs/highlight.js?targetFile=package.json)

@@ -29,20 +31,52 @@ <!-- [![Build CI](https://img.shields.io/github/workflow/status/highlightjs/highlight.js/Node.js%20CI)](https://github.com/highlightjs/highlight.js/actions?query=workflow%3A%22Node.js+CI%22) -->

Highlight.js is a syntax highlighter written in JavaScript. It works in
the browser as well as on the server. It works with pretty much any
markup, doesn’t depend on any framework, and has automatic language
the browser as well as on the server. It can work with pretty much any
markup, doesn’t depend on any other frameworks, and has automatic language
detection.
**Contents**
- [Basic Usage](#basic-usage)
- [In the Browser](#in-the-browser)
- [Plaintext Code Blocks](#plaintext-code-blocks)
- [Ignoring a Code Block](#ignoring-a-code-block)
- [Node.js on the Server](#nodejs-on-the-server)
- [Supported Languages](#supported-languages)
- [Custom Usage](#custom-usage)
- [Using custom HTML](#using-custom-html)
- [Using with Vue.js](#using-with-vuejs)
- [Using Web Workers](#using-web-workers)
- [Importing the Library](#importing-the-library)
- [Node.js / `require`](#nodejs--require)
- [ES6 Modules / `import`](#es6-modules--import)
- [Getting the Library](#getting-the-library)
- [Fetch via CDN](#fetch-via-cdn)
- [Download prebuilt CDN assets](#download-prebuilt-cdn-assets)
- [Download from our website](#download-from-our-website)
- [Install via NPM package](#install-via-npm-package)
- [Build from Source](#build-from-source)
- [Requirements](#requirements)
- [License](#license)
- [Links](#links)
---
#### Upgrading to Version 11 (currently in alpha)
As always our major releases do contain breaking changes which may require action from users. Please read [VERSION_11_UPGRADE.md](https://github.com/highlightjs/highlight.js/blob/main/VERSION_11_UPGRADE.md) for a detailed summary of breaking changes and any actions you may need to take.
**Latest:** 11.0.0-alpha0
#### Upgrading to Version 10
Version 10 is one of the biggest releases in quite some time. If you're
upgrading from version 9, there are some breaking changes and things you may
want to double check first.
Please read [VERSION_10_UPGRADE.md](https://github.com/highlightjs/highlight.js/blob/main/VERSION_10_UPGRADE.md) for high-level summary of breaking changes and any actions you may need to take. See [VERSION_10_BREAKING_CHANGES.md](https://github.com/highlightjs/highlight.js/blob/main/VERSION_10_BREAKING_CHANGES.md) for a more detailed list and [CHANGES.md](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md) to learn what else is new.
##### Support for older versions
#### Support for older versions <!-- omit in toc -->
Please see [SECURITY.md](https://github.com/highlightjs/highlight.js/blob/main/SECURITY.md) for support information.
## Getting Started
---
## Basic Usage
### In the Browser
The bare minimum for using highlight.js on a web page is linking to the

@@ -59,10 +93,5 @@ library along with one of the styles and calling [`highlightAll`][1]:

to detect the language automatically. If automatic detection doesn’t
work for you, you can specify the language in the `class` attribute:
work for you, or you simply prefer to be explicit, you can specify the language manually in the using the `class` attribute:
```html
<pre><code class="html">...</code></pre>
```
Classes may also be prefixed with either `language-` or `lang-`.
```html

@@ -72,13 +101,14 @@ <pre><code class="language-html">...</code></pre>

### Plaintext and Disabling Highlighting
#### Plaintext Code Blocks
To style arbitrary text like code, but without any highlighting, use the
`plaintext` class:
To apply the Highlight.js styling to plaintext without actually highlighting it, use the `plaintext` language:
```html
<pre><code class="plaintext">...</code></pre>
<pre><code class="language-plaintext">...</code></pre>
```
To disable highlighting of a tag completely, use the `nohighlight` class:
#### Ignoring a Code Block
To skip highlighting of a code block completely, use the `nohighlight` class:
```html

@@ -88,21 +118,45 @@ <pre><code class="nohighlight">...</code></pre>

### Supported Languages
### Node.js on the Server
Highlight.js supports over 180 different languages in the core library. There are also 3rd party
language plugins available for additional languages. You can find the full list of supported languages
in [SUPPORTED_LANGUAGES.md][9].
The bare minimum to auto-detect the language and highlight some code.
## Custom Scenarios
```js
// load the library and ALL languages
hljs = require('highlight.js');
html = hljs.highlightAuto('<h1>Hello World!</h1>').value
```
When you need a bit more control over the initialization of
highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
To load only a "common" subset of popular languages:
```js
hljs = require('highlight.js/lib/common');
```
To highlight code with a specific language, use `highlight`:
```js
html = hljs.highlight('<h1>Hello World!</h1>', {language: 'xml'}).value
```
See [Importing the Library](#importing-the-library) for more examples of `require` vs `import` usage, etc. For more information about the result object returned by `highlight` or `highlightAuto` refer to the [api docs](https://highlightjs.readthedocs.io/en/latest/api.html).
## Supported Languages
Highlight.js supports over 180 languages in the core library. There are also 3rd party
language definitions available to support even more languages. You can find the full list of supported languages in [SUPPORTED_LANGUAGES.md][9].
## Custom Usage
If you need a bit more control over the initialization of
Highlight.js, you can use the [`highlightElement`][3] and [`configure`][4]
functions. This allows you to better control *what* to highlight and *when*.
Here’s the equivalent of calling [`highlightAll`][1] using
only vanilla JS:
For example, here’s the rough equivalent of calling [`highlightAll`][1] but doing the work manually instead:
```js
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('pre code').forEach((block) => {
hljs.highlightBlock(block);
document.querySelectorAll('pre code').forEach((el) => {
hljs.highlightElement(el);
});

@@ -115,3 +169,3 @@ });

### Using custom HTML elements for code blocks
### Using custom HTML

@@ -133,5 +187,5 @@ We strongly recommend `<pre><code>` wrapping for code blocks. It's quite

// first, find all the div.code blocks
document.querySelectorAll('div.code').forEach(block => {
document.querySelectorAll('div.code').forEach(el => {
// then highlight each
hljs.highlightBlock(block);
hljs.highlightElement(el);
});

@@ -155,13 +209,8 @@ ```

## Using with Vue.js
### Using with Vue.js
Simply register the plugin with Vue:
See [highlightjs/vue-plugin](https://github.com/highlightjs/vue-plugin) for a simple Vue plugin that works great with Highlight.js.
```js
Vue.use(hljs.vuePlugin);
```
An example of `vue-plugin` in action:
And you'll be provided with a `highlightjs` component for use
in your templates:
```html

@@ -176,3 +225,3 @@ <div id="app">

## Web Workers
### Using Web Workers

@@ -203,9 +252,11 @@ You can run highlighting inside a web worker to avoid freezing the browser

## Node.js
## Importing the Library
You can use highlight.js with node to highlight content before sending it to the browser.
Make sure to use the `.value` property to get the formatted html.
For more info about the returned object refer to the [api docs](https://highlightjs.readthedocs.io/en/latest/api.html).
First, you'll likely be installing the library via `npm` or `yarn` -- see [Getting the Library](#getting-the-library).
### Node.js / `require`
Requiring the top-level library will load all languages:
```js

@@ -217,3 +268,3 @@ // require the highlight.js library, including all languages

Or for a smaller footprint... load just the languages you need.
For a smaller footprint, load only the languages you need.

@@ -229,8 +280,6 @@ ```js

## ES6 Modules
### ES6 Modules / `import`
First, you'll likely install via `npm` or `yarn` -- see [Getting the Library](#getting-the-library) below.
The default import will register all languages:
In your application:
```js

@@ -240,3 +289,3 @@ import hljs from 'highlight.js';

The default import imports all languages. Therefore it is likely to be more efficient to import only the library and the languages you need:
It is more efficient to import only the library and register the languages you need:

@@ -249,6 +298,6 @@ ```js

To set the syntax highlighting style, if your build tool processes CSS from your JavaScript entry point, you can also import the stylesheet directly as modules:
If your build tool processes CSS imports, you can also import the theme directly as a module:
```js
import hljs from 'highlight.js/lib/core';
import hljs from 'highlight.js';
import 'highlight.js/styles/github.css';

@@ -279,3 +328,3 @@ ```

### CDN Hosted
### Fetch via CDN

@@ -289,6 +338,6 @@ A prebuilt version of Highlight.js bundled with many common languages is hosted by several popular CDNs.

```html
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/styles/default.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.1/styles/default.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.1/highlight.min.js"></script>
<!-- and it's easy to individually load additional languages -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/languages/go.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.1/languages/go.min.js"></script>
```

@@ -299,6 +348,6 @@

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/styles/default.min.css">
<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/highlight.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.1/build/styles/default.min.css">
<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.1/build/highlight.min.js"></script>
<!-- and it's easy to individually load additional languages -->
<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/languages/go.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.1/build/languages/go.min.js"></script>
```

@@ -309,6 +358,6 @@

```html
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.7.2/styles/default.min.css">
<script src="https://unpkg.com/@highlightjs/cdn-assets@10.7.2/highlight.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.7.1/styles/default.min.css">
<script src="https://unpkg.com/@highlightjs/cdn-assets@10.7.1/highlight.min.js"></script>
<!-- and it's easy to individually load additional languages -->
<script src="https://unpkg.com/@highlightjs/cdn-assets@10.7.2/languages/go.min.js"></script>
<script src="https://unpkg.com/@highlightjs/cdn-assets@10.7.1/languages/go.min.js"></script>
```

@@ -319,28 +368,19 @@

### Self Hosting
#### Download prebuilt CDN assets
The [download page][5] can quickly generate a custom bundle including only the languages you need.
You can also download and self-host the same assets we serve up via our own CDNs. We publish those builds to the [cdn-release](https://github.com/highlightjs/cdn-release) GitHub repository. You can easily pull individual files off the CDN endpoints with `curl`, etc; if say you only needed `highlight.min.js` and a single CSS file.
Alternatively, you can build a browser package from [source](#source):
There is also an npm package [@highlightjs/cdn-assets](https://www.npmjs.com/package/@highlightjs/cdn-assets) if pulling the assets in via `npm` or `yarn` would be easier for your build process.
```
node tools/build.js -t browser :common
```
### Download from our website
See our [building documentation][6] for more information.
The [download page][5] can quickly generate a custom single-file minified bundle including only the languages you desire.
**Note:** Building from source should always result in the smallest size builds. The website download page is optimized for speed, not size.
**Note:** [Building from source](#build-from-source) can produce slightly smaller builds than the website download.
#### Prebuilt CDN assets
### Install via NPM package
You can also download and self-host the same assets we serve up via our own CDNs. We publish those builds to the [cdn-release](https://github.com/highlightjs/cdn-release) GitHub repository. You can easily pull individual files off the CDN endpoints with `curl`, etc; if say you only needed `highlight.min.js` and a single CSS file.
Our NPM package including all supported languages can be installed with NPM or Yarn:
There is also an npm package [@highlightjs/cdn-assets](https://www.npmjs.com/package/@highlightjs/cdn-assets) if pulling the assets in via `npm` or `yarn` would be easier for your build process.
### NPM / Node.js server module
Highlight.js can also be used on the server. The package with all supported languages can be installed from NPM or Yarn:
```bash

@@ -352,6 +392,13 @@ npm install highlight.js

Alternatively, you can build it from [source](#source):
Alternatively, you can build the NPM package from source.
### Build from Source
The [current source code][10] is always available on GitHub.
```bash
node tools/build.js -t node
node tools/build.js -t browser :common
node tools/build.js -t cdn :common
```

@@ -362,10 +409,12 @@

### Source
## Requirements
[Current source][10] is always available on GitHub.
Highlight.js works on all modern browsers and currently supported Node.js versions. You'll need the following software to contribute to the core library:
- Node.js >= 12.x
- npm >= 6.x
## License
Highlight.js is released under the BSD License. See [LICENSE][7] file
Highlight.js is released under the BSD License. See our [LICENSE][7] file
for details.

@@ -376,3 +425,3 @@

The official site for the library is at <https://highlightjs.org/>.
The official website for the library is <https://highlightjs.org/>.

@@ -386,4 +435,4 @@ Further in-depth documentation for the API and other topics is at

[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightelement
[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure
[5]: https://highlightjs.org/download/

@@ -390,0 +439,0 @@ [6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html

@@ -6,256 +6,244 @@ /* eslint-disable no-unused-vars */

/* Public API */
declare module 'highlight.js' {
// eslint-disable-next-line
declare const hljs : HLJSApi;
export type HLJSApi = PublicApi & ModesAPI
type HLJSApi = PublicApi & ModesAPI
export interface VuePlugin {
install: (vue: any) => void
}
interface VuePlugin {
install: (vue: any) => void
}
interface PublicApi {
highlight: (codeOrlanguageName: string, optionsOrCode: string | HighlightOptions, ignoreIllegals?: boolean, continuation?: Mode) => HighlightResult
highlightAuto: (code: string, languageSubset?: string[]) => AutoHighlightResult
highlightBlock: (element: HTMLElement) => void
highlightElement: (element: HTMLElement) => void
configure: (options: Partial<HLJSOptions>) => void
initHighlighting: () => void
initHighlightingOnLoad: () => void
highlightAll: () => void
registerLanguage: (languageName: string, language: LanguageFn) => void
unregisterLanguage: (languageName: string) => void
listLanguages: () => string[]
registerAliases: (aliasList: string | string[], { languageName } : {languageName: string}) => void
getLanguage: (languageName: string) => Language | undefined
autoDetection: (languageName: string) => boolean
inherit: <T>(original: T, ...args: Record<string, any>[]) => T
addPlugin: (plugin: HLJSPlugin) => void
debugMode: () => void
safeMode: () => void
versionString: string
vuePlugin: () => VuePlugin
}
interface PublicApi {
highlight: (codeOrlanguageName: string, optionsOrCode: string | HighlightOptions, ignoreIllegals?: boolean, continuation?: Mode) => HighlightResult
highlightAuto: (code: string, languageSubset?: string[]) => AutoHighlightResult
fixMarkup: (html: string) => string
highlightBlock: (element: HTMLElement) => void
configure: (options: Partial<HLJSOptions>) => void
initHighlighting: () => void
initHighlightingOnLoad: () => void
highlightAll: () => void
registerLanguage: (languageName: string, language: LanguageFn) => void
unregisterLanguage: (languageName: string) => void
listLanguages: () => string[]
registerAliases: (aliasList: string | string[], { languageName } : {languageName: string}) => void
getLanguage: (languageName: string) => Language | undefined
requireLanguage: (languageName: string) => Language | never
autoDetection: (languageName: string) => boolean
inherit: <T>(original: T, ...args: Record<string, any>[]) => T
addPlugin: (plugin: HLJSPlugin) => void
debugMode: () => void
safeMode: () => void
versionString: string
vuePlugin: () => VuePlugin
}
interface ModesAPI {
SHEBANG: (mode?: Partial<Mode> & {binary?: string | RegExp}) => Mode
BACKSLASH_ESCAPE: Mode
QUOTE_STRING_MODE: Mode
APOS_STRING_MODE: Mode
PHRASAL_WORDS_MODE: Mode
COMMENT: (begin: string | RegExp, end: string | RegExp, modeOpts?: Mode | {}) => Mode
C_LINE_COMMENT_MODE: Mode
C_BLOCK_COMMENT_MODE: Mode
HASH_COMMENT_MODE: Mode
NUMBER_MODE: Mode
C_NUMBER_MODE: Mode
BINARY_NUMBER_MODE: Mode
REGEXP_MODE: Mode
TITLE_MODE: Mode
UNDERSCORE_TITLE_MODE: Mode
METHOD_GUARD: Mode
END_SAME_AS_BEGIN: (mode: Mode) => Mode
// built in regex
IDENT_RE: string
UNDERSCORE_IDENT_RE: string
MATCH_NOTHING_RE: string
NUMBER_RE: string
C_NUMBER_RE: string
BINARY_NUMBER_RE: string
RE_STARTERS_RE: string
}
interface ModesAPI {
SHEBANG: (mode?: Partial<Mode> & {binary?: string | RegExp}) => Mode
BACKSLASH_ESCAPE: Mode
QUOTE_STRING_MODE: Mode
APOS_STRING_MODE: Mode
PHRASAL_WORDS_MODE: Mode
COMMENT: (begin: string | RegExp, end: string | RegExp, modeOpts?: Mode | {}) => Mode
C_LINE_COMMENT_MODE: Mode
C_BLOCK_COMMENT_MODE: Mode
HASH_COMMENT_MODE: Mode
NUMBER_MODE: Mode
C_NUMBER_MODE: Mode
BINARY_NUMBER_MODE: Mode
CSS_NUMBER_MODE: Mode
REGEXP_MODE: Mode
TITLE_MODE: Mode
UNDERSCORE_TITLE_MODE: Mode
METHOD_GUARD: Mode
END_SAME_AS_BEGIN: (mode: Mode) => Mode
// built in regex
IDENT_RE: string
UNDERSCORE_IDENT_RE: string
MATCH_NOTHING_RE: string
NUMBER_RE: string
C_NUMBER_RE: string
BINARY_NUMBER_RE: string
RE_STARTERS_RE: string
}
export type LanguageFn = (hljs?: HLJSApi) => Language
export type CompilerExt = (mode: Mode, parent: Mode | Language | null) => void
type LanguageFn = (hljs?: HLJSApi) => Language
type CompilerExt = (mode: Mode, parent: Mode | Language | null) => void
export interface HighlightResult {
code?: string
relevance : number
value : string
language? : string
illegal : boolean
errorRaised? : Error
// * for auto-highlight
secondBest? : Omit<HighlightResult, 'second_best'>
// private
_illegalBy? : illegalData
_emitter : Emitter
_top? : Language | CompiledMode
}
export interface AutoHighlightResult extends HighlightResult {}
interface HighlightResult {
relevance : number
value : string
language? : string
emitter : Emitter
illegal : boolean
top? : Language | CompiledMode
illegalBy? : illegalData
sofar? : string
errorRaised? : Error
// * for auto-highlight
second_best? : Omit<HighlightResult, 'second_best'>
code?: string
}
interface AutoHighlightResult extends HighlightResult {}
export interface illegalData {
message: string
context: string
index: number
resultSoFar : string
mode: CompiledMode
}
interface illegalData {
msg: string
context: string
mode: CompiledMode
}
export type BeforeHighlightContext = {
code: string,
language: string,
result?: HighlightResult
}
export type PluginEvent = keyof HLJSPlugin;
export type HLJSPlugin = {
'after:highlight'?: (result: HighlightResult) => void,
'before:highlight'?: (context: BeforeHighlightContext) => void,
'after:highlightElement'?: (data: { el: Element, result: HighlightResult, text: string}) => void,
'before:highlightElement'?: (data: { el: Element, language: string}) => void,
// TODO: Old API, remove with v12
'after:highlightBlock'?: (data: { block: Element, result: HighlightResult, text: string}) => void,
'before:highlightBlock'?: (data: { block: Element, language: string}) => void,
}
type BeforeHighlightContext = {
code: string,
language: string,
result?: HighlightResult
}
type PluginEvent = keyof HLJSPlugin;
type HLJSPlugin = {
'after:highlight'?: (result: HighlightResult) => void,
'before:highlight'?: (context: BeforeHighlightContext) => void,
'after:highlightElement'?: (data: { el: Element, result: HighlightResult, text: string}) => void,
'before:highlightElement'?: (data: { el: Element, language: string}) => void,
// TODO: Old API, remove with v12
'after:highlightBlock'?: (data: { block: Element, result: HighlightResult, text: string}) => void,
'before:highlightBlock'?: (data: { block: Element, language: string}) => void,
}
interface EmitterConstructor {
new (opts: any): Emitter
}
interface EmitterConstructor {
new (opts: any): Emitter
}
export interface HighlightOptions {
language: string
ignoreIllegals?: boolean
}
interface HighlightOptions {
language: string
ignoreIllegals?: boolean
}
export interface HLJSOptions {
noHighlightRe: RegExp
languageDetectRe: RegExp
classPrefix: string
languages?: string[]
__emitter: EmitterConstructor
}
interface HLJSOptions {
noHighlightRe: RegExp
languageDetectRe: RegExp
classPrefix: string
tabReplace?: string
useBR: boolean
languages?: string[]
__emitter: EmitterConstructor
}
export interface CallbackResponse {
data: Record<string, any>
ignoreMatch: () => void
isMatchIgnored: boolean
}
interface CallbackResponse {
data: Record<string, any>
ignoreMatch: () => void
isMatchIgnored: boolean
}
export type ModeCallback = (match: RegExpMatchArray, response: CallbackResponse) => void
export type Language = LanguageDetail & Partial<Mode>
export interface Mode extends ModeCallbacks, ModeDetails {}
/************
PRIVATE API
************/
export interface LanguageDetail {
name?: string
rawDefinition?: () => Language
aliases?: string[]
disableAutodetect?: boolean
contains: (Mode)[]
case_insensitive?: boolean
keywords?: Record<string, any> | string
isCompiled?: boolean,
exports?: any,
classNameAliases?: Record<string, string>
compilerExtensions?: CompilerExt[]
supersetOf?: string
}
/* for jsdoc annotations in the JS source files */
// technically private, but exported for convenience as this has
// been a pretty stable API and is quite useful
export interface Emitter {
addKeyword(text: string, kind: string): void
addText(text: string): void
toHTML(): string
finalize(): void
closeAllNodes(): void
openNode(kind: string): void
closeNode(): void
addSublanguage(emitter: Emitter, subLanguageName: string): void
}
type AnnotatedError = Error & {mode?: Mode | Language, languageName?: string, badRule?: Mode}
/************
PRIVATE API
************/
type ModeCallback = (match: RegExpMatchArray, response: CallbackResponse) => void
type HighlightedHTMLElement = HTMLElement & {result?: object, second_best?: object, parentNode: HTMLElement}
type EnhancedMatch = RegExpMatchArray & {rule: CompiledMode, type: MatchType}
type MatchType = "begin" | "end" | "illegal"
/* for jsdoc annotations in the JS source files */
interface Emitter {
addKeyword(text: string, kind: string): void
addText(text: string): void
toHTML(): string
finalize(): void
closeAllNodes(): void
openNode(kind: string): void
closeNode(): void
addSublanguage(emitter: Emitter, subLanguageName: string): void
}
type AnnotatedError = Error & {mode?: Mode | Language, languageName?: string, badRule?: Mode}
type HighlightedHTMLElement = HTMLElement & {result?: object, secondBest?: object, parentNode: HTMLElement}
type EnhancedMatch = RegExpMatchArray & {rule: CompiledMode, type: MatchType}
type MatchType = "begin" | "end" | "illegal"
/* modes */
/* modes */
interface ModeCallbacks {
"on:end"?: Function,
"on:begin"?: ModeCallback
}
interface ModeCallbacks {
"on:end"?: Function,
"on:begin"?: ModeCallback
}
interface Mode extends ModeCallbacks, ModeDetails {
interface CompiledLanguage extends LanguageDetail, CompiledMode {
isCompiled: true
contains: CompiledMode[]
keywords: Record<string, any>
}
}
type KeywordData = [string, number];
type KeywordDict = Record<string, KeywordData>
interface LanguageDetail {
name?: string
rawDefinition?: () => Language
aliases?: string[]
disableAutodetect?: boolean
contains: (Mode)[]
case_insensitive?: boolean
keywords?: Record<string, any> | string
isCompiled?: boolean,
exports?: any,
classNameAliases?: Record<string, string>
compilerExtensions?: CompilerExt[]
supersetOf?: string
}
export type CompiledMode = Omit<Mode, 'contains'> &
{
contains: CompiledMode[]
keywords: KeywordDict
data: Record<string, any>
terminatorEnd: string
keywordPatternRe: RegExp
beginRe: RegExp
endRe: RegExp
illegalRe: RegExp
matcher: any
isCompiled: true
isMultiClass?: boolean
starts?: CompiledMode
parent?: CompiledMode
}
type Language = LanguageDetail & Partial<Mode>
interface CompiledLanguage extends LanguageDetail, CompiledMode {
isCompiled: true
contains: CompiledMode[]
keywords: Record<string, any>
}
type KeywordData = [string, number];
type KeywordDict = Record<string, KeywordData>
type CompiledMode = Omit<Mode, 'contains'> &
{
contains: CompiledMode[]
keywords: KeywordDict
data: Record<string, any>
terminatorEnd: string
keywordPatternRe: RegExp
beginRe: RegExp
endRe: RegExp
illegalRe: RegExp
matcher: any
isCompiled: true
starts?: CompiledMode
parent?: CompiledMode
interface ModeDetails {
begin?: RegExp | string
match?: RegExp | string
end?: RegExp | string
className?: string
contains?: ("self" | Mode)[]
endsParent?: boolean
endsWithParent?: boolean
endSameAsBegin?: boolean
skip?: boolean
excludeBegin?: boolean
excludeEnd?: boolean
returnBegin?: boolean
returnEnd?: boolean
__beforeBegin?: Function
parent?: Mode
starts?:Mode
lexemes?: string | RegExp
keywords?: Record<string, any> | string
beginKeywords?: string
relevance?: number
illegal?: string | RegExp | Array<string | RegExp>
variants?: Mode[]
cachedVariants?: Mode[]
// parsed
subLanguage?: string | string[]
isCompiled?: boolean
label?: string
}
interface ModeDetails {
begin?: RegExp | string
match?: RegExp | string
end?: RegExp | string
className?: string
contains?: ("self" | Mode)[]
endsParent?: boolean
endsWithParent?: boolean
endSameAsBegin?: boolean
skip?: boolean
excludeBegin?: boolean
excludeEnd?: boolean
returnBegin?: boolean
returnEnd?: boolean
__beforeBegin?: Function
parent?: Mode
starts?:Mode
lexemes?: string | RegExp
keywords?: Record<string, any> | string
beginKeywords?: string
relevance?: number
illegal?: string | RegExp | Array<string | RegExp>
variants?: Mode[]
cachedVariants?: Mode[]
// parsed
subLanguage?: string | string[]
isCompiled?: boolean
label?: string
}
const hljs : HLJSApi;
export default hljs;
// deprecated API since v10
// declare module 'highlight.js/lib/highlight.js';
declare module 'highlight.js' {
export = hljs;
}
declare module 'highlight.js/lib/core' {
export = hljs;
declare module 'highlight.js/lib/languages/*' {
import { LanguageFn } from "highlight.js";
const defineLanguage: LanguageFn;
export default defineLanguage;
}
declare module 'highlight.js/lib/core.js' {
export = hljs;
}
declare module 'highlight.js/lib/languages/*' {
export default function(hljs?: HLJSApi): LanguageDetail;
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc