Socket
Socket
Sign inDemoInstall

highlight.js

Package Overview
Dependencies
Maintainers
6
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

highlight.js - npm Package Compare versions

Comparing version 11.0.0-beta0 to 11.0.0-beta1

es/languages/wren.js

75

es/common.js

@@ -1,72 +0,3 @@

import hljs from './core.js';
import xml from './languages/xml.js';
hljs.registerLanguage('xml', xml);
import bash from './languages/bash.js';
hljs.registerLanguage('bash', bash);
import c from './languages/c.js';
hljs.registerLanguage('c', c);
import cpp from './languages/cpp.js';
hljs.registerLanguage('cpp', cpp);
import csharp from './languages/csharp.js';
hljs.registerLanguage('csharp', csharp);
import css from './languages/css.js';
hljs.registerLanguage('css', css);
import markdown from './languages/markdown.js';
hljs.registerLanguage('markdown', markdown);
import diff from './languages/diff.js';
hljs.registerLanguage('diff', diff);
import ruby from './languages/ruby.js';
hljs.registerLanguage('ruby', ruby);
import go from './languages/go.js';
hljs.registerLanguage('go', go);
import ini from './languages/ini.js';
hljs.registerLanguage('ini', ini);
import java from './languages/java.js';
hljs.registerLanguage('java', java);
import javascript from './languages/javascript.js';
hljs.registerLanguage('javascript', javascript);
import json from './languages/json.js';
hljs.registerLanguage('json', json);
import kotlin from './languages/kotlin.js';
hljs.registerLanguage('kotlin', kotlin);
import less from './languages/less.js';
hljs.registerLanguage('less', less);
import lua from './languages/lua.js';
hljs.registerLanguage('lua', lua);
import makefile from './languages/makefile.js';
hljs.registerLanguage('makefile', makefile);
import perl from './languages/perl.js';
hljs.registerLanguage('perl', perl);
import objectivec from './languages/objectivec.js';
hljs.registerLanguage('objectivec', objectivec);
import php from './languages/php.js';
hljs.registerLanguage('php', php);
import php_template from './languages/php-template.js';
hljs.registerLanguage('php-template', php_template);
import plaintext from './languages/plaintext.js';
hljs.registerLanguage('plaintext', plaintext);
import python from './languages/python.js';
hljs.registerLanguage('python', python);
import python_repl from './languages/python-repl.js';
hljs.registerLanguage('python-repl', python_repl);
import r from './languages/r.js';
hljs.registerLanguage('r', r);
import rust from './languages/rust.js';
hljs.registerLanguage('rust', rust);
import scss from './languages/scss.js';
hljs.registerLanguage('scss', scss);
import shell from './languages/shell.js';
hljs.registerLanguage('shell', shell);
import sql from './languages/sql.js';
hljs.registerLanguage('sql', sql);
import swift from './languages/swift.js';
hljs.registerLanguage('swift', swift);
import yaml from './languages/yaml.js';
hljs.registerLanguage('yaml', yaml);
import typescript from './languages/typescript.js';
hljs.registerLanguage('typescript', typescript);
import vbnet from './languages/vbnet.js';
hljs.registerLanguage('vbnet', vbnet);
export default hljs;
// https://nodejs.org/api/packages.html#packages_writing_dual_packages_while_avoiding_or_minimizing_hazards
import hljs from '../lib/common.js';
export default hljs;

@@ -1,384 +0,3 @@

import hljs from './core.js';
import L_1c from './languages/1c.js';
hljs.registerLanguage('1c', L_1c);
import abnf from './languages/abnf.js';
hljs.registerLanguage('abnf', abnf);
import accesslog from './languages/accesslog.js';
hljs.registerLanguage('accesslog', accesslog);
import actionscript from './languages/actionscript.js';
hljs.registerLanguage('actionscript', actionscript);
import ada from './languages/ada.js';
hljs.registerLanguage('ada', ada);
import angelscript from './languages/angelscript.js';
hljs.registerLanguage('angelscript', angelscript);
import apache from './languages/apache.js';
hljs.registerLanguage('apache', apache);
import applescript from './languages/applescript.js';
hljs.registerLanguage('applescript', applescript);
import arcade from './languages/arcade.js';
hljs.registerLanguage('arcade', arcade);
import arduino from './languages/arduino.js';
hljs.registerLanguage('arduino', arduino);
import armasm from './languages/armasm.js';
hljs.registerLanguage('armasm', armasm);
import xml from './languages/xml.js';
hljs.registerLanguage('xml', xml);
import asciidoc from './languages/asciidoc.js';
hljs.registerLanguage('asciidoc', asciidoc);
import aspectj from './languages/aspectj.js';
hljs.registerLanguage('aspectj', aspectj);
import autohotkey from './languages/autohotkey.js';
hljs.registerLanguage('autohotkey', autohotkey);
import autoit from './languages/autoit.js';
hljs.registerLanguage('autoit', autoit);
import avrasm from './languages/avrasm.js';
hljs.registerLanguage('avrasm', avrasm);
import awk from './languages/awk.js';
hljs.registerLanguage('awk', awk);
import axapta from './languages/axapta.js';
hljs.registerLanguage('axapta', axapta);
import bash from './languages/bash.js';
hljs.registerLanguage('bash', bash);
import basic from './languages/basic.js';
hljs.registerLanguage('basic', basic);
import bnf from './languages/bnf.js';
hljs.registerLanguage('bnf', bnf);
import brainfuck from './languages/brainfuck.js';
hljs.registerLanguage('brainfuck', brainfuck);
import c from './languages/c.js';
hljs.registerLanguage('c', c);
import cal from './languages/cal.js';
hljs.registerLanguage('cal', cal);
import capnproto from './languages/capnproto.js';
hljs.registerLanguage('capnproto', capnproto);
import ceylon from './languages/ceylon.js';
hljs.registerLanguage('ceylon', ceylon);
import clean from './languages/clean.js';
hljs.registerLanguage('clean', clean);
import clojure from './languages/clojure.js';
hljs.registerLanguage('clojure', clojure);
import clojure_repl from './languages/clojure-repl.js';
hljs.registerLanguage('clojure-repl', clojure_repl);
import cmake from './languages/cmake.js';
hljs.registerLanguage('cmake', cmake);
import coffeescript from './languages/coffeescript.js';
hljs.registerLanguage('coffeescript', coffeescript);
import coq from './languages/coq.js';
hljs.registerLanguage('coq', coq);
import cos from './languages/cos.js';
hljs.registerLanguage('cos', cos);
import cpp from './languages/cpp.js';
hljs.registerLanguage('cpp', cpp);
import crmsh from './languages/crmsh.js';
hljs.registerLanguage('crmsh', crmsh);
import crystal from './languages/crystal.js';
hljs.registerLanguage('crystal', crystal);
import csharp from './languages/csharp.js';
hljs.registerLanguage('csharp', csharp);
import csp from './languages/csp.js';
hljs.registerLanguage('csp', csp);
import css from './languages/css.js';
hljs.registerLanguage('css', css);
import d from './languages/d.js';
hljs.registerLanguage('d', d);
import markdown from './languages/markdown.js';
hljs.registerLanguage('markdown', markdown);
import dart from './languages/dart.js';
hljs.registerLanguage('dart', dart);
import delphi from './languages/delphi.js';
hljs.registerLanguage('delphi', delphi);
import diff from './languages/diff.js';
hljs.registerLanguage('diff', diff);
import django from './languages/django.js';
hljs.registerLanguage('django', django);
import dns from './languages/dns.js';
hljs.registerLanguage('dns', dns);
import dockerfile from './languages/dockerfile.js';
hljs.registerLanguage('dockerfile', dockerfile);
import dos from './languages/dos.js';
hljs.registerLanguage('dos', dos);
import dsconfig from './languages/dsconfig.js';
hljs.registerLanguage('dsconfig', dsconfig);
import dts from './languages/dts.js';
hljs.registerLanguage('dts', dts);
import dust from './languages/dust.js';
hljs.registerLanguage('dust', dust);
import ebnf from './languages/ebnf.js';
hljs.registerLanguage('ebnf', ebnf);
import elixir from './languages/elixir.js';
hljs.registerLanguage('elixir', elixir);
import elm from './languages/elm.js';
hljs.registerLanguage('elm', elm);
import ruby from './languages/ruby.js';
hljs.registerLanguage('ruby', ruby);
import erb from './languages/erb.js';
hljs.registerLanguage('erb', erb);
import erlang_repl from './languages/erlang-repl.js';
hljs.registerLanguage('erlang-repl', erlang_repl);
import erlang from './languages/erlang.js';
hljs.registerLanguage('erlang', erlang);
import excel from './languages/excel.js';
hljs.registerLanguage('excel', excel);
import fix from './languages/fix.js';
hljs.registerLanguage('fix', fix);
import flix from './languages/flix.js';
hljs.registerLanguage('flix', flix);
import fortran from './languages/fortran.js';
hljs.registerLanguage('fortran', fortran);
import fsharp from './languages/fsharp.js';
hljs.registerLanguage('fsharp', fsharp);
import gams from './languages/gams.js';
hljs.registerLanguage('gams', gams);
import gauss from './languages/gauss.js';
hljs.registerLanguage('gauss', gauss);
import gcode from './languages/gcode.js';
hljs.registerLanguage('gcode', gcode);
import gherkin from './languages/gherkin.js';
hljs.registerLanguage('gherkin', gherkin);
import glsl from './languages/glsl.js';
hljs.registerLanguage('glsl', glsl);
import gml from './languages/gml.js';
hljs.registerLanguage('gml', gml);
import go from './languages/go.js';
hljs.registerLanguage('go', go);
import golo from './languages/golo.js';
hljs.registerLanguage('golo', golo);
import gradle from './languages/gradle.js';
hljs.registerLanguage('gradle', gradle);
import groovy from './languages/groovy.js';
hljs.registerLanguage('groovy', groovy);
import haml from './languages/haml.js';
hljs.registerLanguage('haml', haml);
import handlebars from './languages/handlebars.js';
hljs.registerLanguage('handlebars', handlebars);
import haskell from './languages/haskell.js';
hljs.registerLanguage('haskell', haskell);
import haxe from './languages/haxe.js';
hljs.registerLanguage('haxe', haxe);
import hsp from './languages/hsp.js';
hljs.registerLanguage('hsp', hsp);
import http from './languages/http.js';
hljs.registerLanguage('http', http);
import hy from './languages/hy.js';
hljs.registerLanguage('hy', hy);
import inform7 from './languages/inform7.js';
hljs.registerLanguage('inform7', inform7);
import ini from './languages/ini.js';
hljs.registerLanguage('ini', ini);
import irpf90 from './languages/irpf90.js';
hljs.registerLanguage('irpf90', irpf90);
import isbl from './languages/isbl.js';
hljs.registerLanguage('isbl', isbl);
import java from './languages/java.js';
hljs.registerLanguage('java', java);
import javascript from './languages/javascript.js';
hljs.registerLanguage('javascript', javascript);
import jboss_cli from './languages/jboss-cli.js';
hljs.registerLanguage('jboss-cli', jboss_cli);
import json from './languages/json.js';
hljs.registerLanguage('json', json);
import julia from './languages/julia.js';
hljs.registerLanguage('julia', julia);
import julia_repl from './languages/julia-repl.js';
hljs.registerLanguage('julia-repl', julia_repl);
import kotlin from './languages/kotlin.js';
hljs.registerLanguage('kotlin', kotlin);
import lasso from './languages/lasso.js';
hljs.registerLanguage('lasso', lasso);
import latex from './languages/latex.js';
hljs.registerLanguage('latex', latex);
import ldif from './languages/ldif.js';
hljs.registerLanguage('ldif', ldif);
import leaf from './languages/leaf.js';
hljs.registerLanguage('leaf', leaf);
import less from './languages/less.js';
hljs.registerLanguage('less', less);
import lisp from './languages/lisp.js';
hljs.registerLanguage('lisp', lisp);
import livecodeserver from './languages/livecodeserver.js';
hljs.registerLanguage('livecodeserver', livecodeserver);
import livescript from './languages/livescript.js';
hljs.registerLanguage('livescript', livescript);
import llvm from './languages/llvm.js';
hljs.registerLanguage('llvm', llvm);
import lsl from './languages/lsl.js';
hljs.registerLanguage('lsl', lsl);
import lua from './languages/lua.js';
hljs.registerLanguage('lua', lua);
import makefile from './languages/makefile.js';
hljs.registerLanguage('makefile', makefile);
import mathematica from './languages/mathematica.js';
hljs.registerLanguage('mathematica', mathematica);
import matlab from './languages/matlab.js';
hljs.registerLanguage('matlab', matlab);
import maxima from './languages/maxima.js';
hljs.registerLanguage('maxima', maxima);
import mel from './languages/mel.js';
hljs.registerLanguage('mel', mel);
import mercury from './languages/mercury.js';
hljs.registerLanguage('mercury', mercury);
import mipsasm from './languages/mipsasm.js';
hljs.registerLanguage('mipsasm', mipsasm);
import mizar from './languages/mizar.js';
hljs.registerLanguage('mizar', mizar);
import perl from './languages/perl.js';
hljs.registerLanguage('perl', perl);
import mojolicious from './languages/mojolicious.js';
hljs.registerLanguage('mojolicious', mojolicious);
import monkey from './languages/monkey.js';
hljs.registerLanguage('monkey', monkey);
import moonscript from './languages/moonscript.js';
hljs.registerLanguage('moonscript', moonscript);
import n1ql from './languages/n1ql.js';
hljs.registerLanguage('n1ql', n1ql);
import nestedtext from './languages/nestedtext.js';
hljs.registerLanguage('nestedtext', nestedtext);
import nginx from './languages/nginx.js';
hljs.registerLanguage('nginx', nginx);
import nim from './languages/nim.js';
hljs.registerLanguage('nim', nim);
import nix from './languages/nix.js';
hljs.registerLanguage('nix', nix);
import node_repl from './languages/node-repl.js';
hljs.registerLanguage('node-repl', node_repl);
import nsis from './languages/nsis.js';
hljs.registerLanguage('nsis', nsis);
import objectivec from './languages/objectivec.js';
hljs.registerLanguage('objectivec', objectivec);
import ocaml from './languages/ocaml.js';
hljs.registerLanguage('ocaml', ocaml);
import openscad from './languages/openscad.js';
hljs.registerLanguage('openscad', openscad);
import oxygene from './languages/oxygene.js';
hljs.registerLanguage('oxygene', oxygene);
import parser3 from './languages/parser3.js';
hljs.registerLanguage('parser3', parser3);
import pf from './languages/pf.js';
hljs.registerLanguage('pf', pf);
import pgsql from './languages/pgsql.js';
hljs.registerLanguage('pgsql', pgsql);
import php from './languages/php.js';
hljs.registerLanguage('php', php);
import php_template from './languages/php-template.js';
hljs.registerLanguage('php-template', php_template);
import plaintext from './languages/plaintext.js';
hljs.registerLanguage('plaintext', plaintext);
import pony from './languages/pony.js';
hljs.registerLanguage('pony', pony);
import powershell from './languages/powershell.js';
hljs.registerLanguage('powershell', powershell);
import processing from './languages/processing.js';
hljs.registerLanguage('processing', processing);
import profile from './languages/profile.js';
hljs.registerLanguage('profile', profile);
import prolog from './languages/prolog.js';
hljs.registerLanguage('prolog', prolog);
import properties from './languages/properties.js';
hljs.registerLanguage('properties', properties);
import protobuf from './languages/protobuf.js';
hljs.registerLanguage('protobuf', protobuf);
import puppet from './languages/puppet.js';
hljs.registerLanguage('puppet', puppet);
import purebasic from './languages/purebasic.js';
hljs.registerLanguage('purebasic', purebasic);
import python from './languages/python.js';
hljs.registerLanguage('python', python);
import python_repl from './languages/python-repl.js';
hljs.registerLanguage('python-repl', python_repl);
import q from './languages/q.js';
hljs.registerLanguage('q', q);
import qml from './languages/qml.js';
hljs.registerLanguage('qml', qml);
import r from './languages/r.js';
hljs.registerLanguage('r', r);
import reasonml from './languages/reasonml.js';
hljs.registerLanguage('reasonml', reasonml);
import rib from './languages/rib.js';
hljs.registerLanguage('rib', rib);
import roboconf from './languages/roboconf.js';
hljs.registerLanguage('roboconf', roboconf);
import routeros from './languages/routeros.js';
hljs.registerLanguage('routeros', routeros);
import rsl from './languages/rsl.js';
hljs.registerLanguage('rsl', rsl);
import ruleslanguage from './languages/ruleslanguage.js';
hljs.registerLanguage('ruleslanguage', ruleslanguage);
import rust from './languages/rust.js';
hljs.registerLanguage('rust', rust);
import sas from './languages/sas.js';
hljs.registerLanguage('sas', sas);
import scala from './languages/scala.js';
hljs.registerLanguage('scala', scala);
import scheme from './languages/scheme.js';
hljs.registerLanguage('scheme', scheme);
import scilab from './languages/scilab.js';
hljs.registerLanguage('scilab', scilab);
import scss from './languages/scss.js';
hljs.registerLanguage('scss', scss);
import shell from './languages/shell.js';
hljs.registerLanguage('shell', shell);
import smali from './languages/smali.js';
hljs.registerLanguage('smali', smali);
import smalltalk from './languages/smalltalk.js';
hljs.registerLanguage('smalltalk', smalltalk);
import sml from './languages/sml.js';
hljs.registerLanguage('sml', sml);
import sqf from './languages/sqf.js';
hljs.registerLanguage('sqf', sqf);
import sql from './languages/sql.js';
hljs.registerLanguage('sql', sql);
import stan from './languages/stan.js';
hljs.registerLanguage('stan', stan);
import stata from './languages/stata.js';
hljs.registerLanguage('stata', stata);
import step21 from './languages/step21.js';
hljs.registerLanguage('step21', step21);
import stylus from './languages/stylus.js';
hljs.registerLanguage('stylus', stylus);
import subunit from './languages/subunit.js';
hljs.registerLanguage('subunit', subunit);
import swift from './languages/swift.js';
hljs.registerLanguage('swift', swift);
import taggerscript from './languages/taggerscript.js';
hljs.registerLanguage('taggerscript', taggerscript);
import yaml from './languages/yaml.js';
hljs.registerLanguage('yaml', yaml);
import tap from './languages/tap.js';
hljs.registerLanguage('tap', tap);
import tcl from './languages/tcl.js';
hljs.registerLanguage('tcl', tcl);
import thrift from './languages/thrift.js';
hljs.registerLanguage('thrift', thrift);
import tp from './languages/tp.js';
hljs.registerLanguage('tp', tp);
import twig from './languages/twig.js';
hljs.registerLanguage('twig', twig);
import typescript from './languages/typescript.js';
hljs.registerLanguage('typescript', typescript);
import vala from './languages/vala.js';
hljs.registerLanguage('vala', vala);
import vbnet from './languages/vbnet.js';
hljs.registerLanguage('vbnet', vbnet);
import vbscript from './languages/vbscript.js';
hljs.registerLanguage('vbscript', vbscript);
import vbscript_html from './languages/vbscript-html.js';
hljs.registerLanguage('vbscript-html', vbscript_html);
import verilog from './languages/verilog.js';
hljs.registerLanguage('verilog', verilog);
import vhdl from './languages/vhdl.js';
hljs.registerLanguage('vhdl', vhdl);
import vim from './languages/vim.js';
hljs.registerLanguage('vim', vim);
import wasm from './languages/wasm.js';
hljs.registerLanguage('wasm', wasm);
import x86asm from './languages/x86asm.js';
hljs.registerLanguage('x86asm', x86asm);
import xl from './languages/xl.js';
hljs.registerLanguage('xl', xl);
import xquery from './languages/xquery.js';
hljs.registerLanguage('xquery', xquery);
import zephir from './languages/zephir.js';
hljs.registerLanguage('zephir', zephir);
export default hljs;
// https://nodejs.org/api/packages.html#packages_writing_dual_packages_while_avoiding_or_minimizing_hazards
import hljs from '../lib/index.js';
export default hljs;

@@ -147,3 +147,3 @@ /**

end: /;/,
keywords: { 'meta-keyword': 'import include' }
keywords: { keyword: 'import include' }
},

@@ -150,0 +150,0 @@ {

@@ -46,2 +46,5 @@ /**

Website: https://isocpp.org
TODO: Properly handle common namespaces (std, chrono, etc.).
TODO: Properly handle type traits and type trait helper types (_t) and values (_v).
*/

@@ -69,4 +72,5 @@

')';
const CPP_PRIMITIVE_TYPES = {
className: 'keyword',
className: 'type',
begin: '\\b[a-z\\d_]*_t\\b'

@@ -88,3 +92,3 @@ };

{
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + "|.)",
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + '|.)',
end: '\'',

@@ -121,3 +125,3 @@ illegal: '.'

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -132,6 +136,6 @@ 'pragma _Pragma ifdef ifndef include'

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/

@@ -152,10 +156,197 @@ },

const COMMON_CPP_HINTS = [
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_KEYWORDS = [
'alignas',
'alignof',
'and',
'and_eq',
'asm',
'atomic_cancel',
'atomic_commit',
'atomic_noexcept',
'auto',
'bitand',
'bitor',
'break',
'case',
'catch',
'class',
'co_await',
'co_return',
'co_yield',
'compl',
'concept',
'const',
'const_cast|10',
'consteval',
'constexpr',
'constinit',
'continue',
'decltype',
'default',
'delete',
'do',
'dynamic_cast|10',
'else',
'enum',
'explicit',
'export',
'extern',
'false',
'final',
'for',
'friend',
'goto',
'if',
'import',
'inline',
'module',
'mutable',
'namespace',
'new',
'noexcept',
'not',
'not_eq',
'nullptr',
'operator',
'or',
'or_eq',
'override',
'private',
'protected',
'public',
'reflexpr',
'register',
'reinterpret_cast|10',
'requires',
'return',
'signed',
'sizeof',
'static',
'static_assert',
'static_cast|10',
'struct',
'switch',
'synchronized',
'template',
'this',
'thread_local',
'throw',
'transaction_safe',
'transaction_safe_dynamic',
'true',
'try',
'typedef',
'typeid',
'typename',
'union',
'unsigned',
'using',
'virtual',
'volatile',
'while',
'xor',
'xor_eq,'
];
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_TYPES = [
'bool',
'char',
'char16_t',
'char32_t',
'char8_t',
'double',
'float',
'int',
'long',
'short',
'void',
'wchar_t'
];
const TYPES = [
'any',
'array',
'async',
'auto_ptr',
'barrier',
'binary_semaphore',
'bitset',
'complex',
'condition_variable',
'condition_variable_any',
'counting_semaphore',
'deque',
'false_type',
'function',
'future',
'imaginary',
'initializer_list',
'istringstream',
'jthread',
'latch',
'list',
'lock_guard',
'map',
'multimap',
'multiset',
'mutex',
'optional',
'ostringstream',
'packaged_task',
'pair',
'promise',
'priority_queue',
'queue',
'recursive_mutex',
'recursive_timed_mutex',
'scoped_lock',
'set',
'shared_future',
'shared_lock',
'shared_mutex',
'shared_timed_mutex',
'shared_ptr',
'stack',
'string',
'string_view',
'stringstream',
'timed_mutex',
'thread',
'true_type',
'tuple',
'unique_lock',
'unique_ptr',
'unordered_map',
'unordered_multimap',
'unordered_multiset',
'unordered_set',
'variant',
'vector',
'weak_ptr',
'wstring',
'wstring_view'
];
const COMMON_FUNCTIONS = [
'abort',
'abs',
'acos',
'apply',
'as_const',
'asin',
'atan',
'atan2',
'atan',
'calloc',
'ceil',
'cerr',
'cin',
'clog',
'cos',
'cosh',
'cos',
'cout',
'declval',
'endl',
'exchange',
'exit',

@@ -166,2 +357,3 @@ 'exp',

'fmod',
'forward',
'fprintf',

@@ -171,17 +363,5 @@ 'fputs',

'frexp',
'auto_ptr',
'deque',
'list',
'queue',
'stack',
'vector',
'map',
'set',
'pair',
'bitset',
'multiset',
'multimap',
'unordered_set',
'fscanf',
'future',
'invoke',
'isalnum',

@@ -198,10 +378,13 @@ 'isalpha',

'isxdigit',
'tolower',
'toupper',
'labs',
'launder',
'ldexp',
'log',
'log10',
'log',
'make_pair',
'make_shared',
'make_shared_for_overwrite',
'make_tuple',
'make_unique',
'malloc',
'realloc',
'memchr',

@@ -212,2 +395,3 @@ 'memcmp',

'modf',
'move',
'pow',

@@ -217,5 +401,6 @@ 'printf',

'puts',
'realloc',
'scanf',
'sin',
'sinh',
'sin',
'snprintf',

@@ -225,2 +410,6 @@ 'sprintf',

'sscanf',
'std',
'stderr',
'stdin',
'stdout',
'strcat',

@@ -239,60 +428,43 @@ 'strchr',

'strstr',
'swap',
'tan',
'tanh',
'tan',
'unordered_map',
'unordered_multiset',
'unordered_multimap',
'priority_queue',
'make_pair',
'array',
'shared_ptr',
'abort',
'terminate',
'abs',
'acos',
'to_underlying',
'tolower',
'toupper',
'vfprintf',
'visit',
'vprintf',
'vsprintf',
'endl',
'initializer_list',
'unique_ptr',
'complex',
'imaginary',
'std',
'string',
'wstring',
'cin',
'cout',
'cerr',
'clog',
'stdin',
'stdout',
'stderr',
'stringstream',
'istringstream',
'ostringstream'
'vsprintf'
];
const BUILT_INS = [
'_Bool',
'_Complex',
'_Imaginary'
];
const LITERALS = [
'NULL',
'false',
'nullopt',
'nullptr',
'true'
];
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 struct',
built_in: '_Bool _Complex _Imaginary',
_relevance_hints: COMMON_CPP_HINTS,
literal: 'true false nullptr NULL'
type: [...RESERVED_TYPES, ...TYPES],
keyword: RESERVED_KEYWORDS,
built_in: BUILT_INS,
literal: LITERALS
};
const FUNCTION_DISPATCH = {
className: "function.dispatch",
className: 'function.dispatch',
relevance: 0,
keywords: CPP_KEYWORDS,
keywords: {
// only for relevance, not highlighting
_hint: COMMON_FUNCTIONS
},
begin: concat(

@@ -305,3 +477,3 @@ /\b/,

hljs.IDENT_RE,
lookahead(/\s*\(/))
lookahead(/(<[^<>]+>|)\s*\(/))
};

@@ -319,3 +491,2 @@

const EXPRESSION_CONTEXT = {

@@ -443,3 +614,3 @@ // This mode covers expression context where we can't expect a function

classNameAliases: {
"function.dispatch": "built_in"
'function.dispatch': 'built_in'
},

@@ -454,3 +625,3 @@ contains: [].concat(

{ // 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*<',
begin: '\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<',
end: '>',

@@ -475,4 +646,4 @@ keywords: CPP_KEYWORDS,

className: {
1: "keyword",
3: "title.class"
1: 'keyword',
3: 'title.class'
}

@@ -494,86 +665,366 @@ }

const ARDUINO_KW = {
keyword:
'boolean byte word String',
built_in:
'KeyboardController MouseController SoftwareSerial ' +
'EthernetServer EthernetClient LiquidCrystal ' +
'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' +
'HttpClient RobotMotor WiFiClient GSMScanner ' +
'FileSystem Scheduler GSMServer YunClient YunServer ' +
'IPAddress GSMClient GSMModem Keyboard Ethernet ' +
'Console GSMBand Esplora Stepper Process ' +
'WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage ' +
'Client Server GSMPIN FileIO Bridge Serial ' +
'EEPROM Stream Mouse Audio Servo File Task ' +
'GPRS WiFi Wire TFT GSM SPI SD ',
_:
'setup loop ' +
'runShellCommandAsynchronously analogWriteResolution ' +
'retrieveCallingNumber printFirmwareVersion ' +
'analogReadResolution sendDigitalPortPair ' +
'noListenOnLocalhost readJoystickButton setFirmwareVersion ' +
'readJoystickSwitch scrollDisplayRight getVoiceCallStatus ' +
'scrollDisplayLeft writeMicroseconds delayMicroseconds ' +
'beginTransmission getSignalStrength runAsynchronously ' +
'getAsynchronously listenOnLocalhost getCurrentCarrier ' +
'readAccelerometer messageAvailable sendDigitalPorts ' +
'lineFollowConfig countryNameWrite runShellCommand ' +
'readStringUntil rewindDirectory readTemperature ' +
'setClockDivider readLightSensor endTransmission ' +
'analogReference detachInterrupt countryNameRead ' +
'attachInterrupt encryptionType readBytesUntil ' +
'robotNameWrite readMicrophone robotNameRead cityNameWrite ' +
'userNameWrite readJoystickY readJoystickX mouseReleased ' +
'openNextFile scanNetworks noInterrupts digitalWrite ' +
'beginSpeaker mousePressed isActionDone mouseDragged ' +
'displayLogos noAutoscroll addParameter remoteNumber ' +
'getModifiers keyboardRead userNameRead waitContinue ' +
'processInput parseCommand printVersion readNetworks ' +
'writeMessage blinkVersion cityNameRead readMessage ' +
'setDataMode parsePacket isListening setBitOrder ' +
'beginPacket isDirectory motorsWrite drawCompass ' +
'digitalRead clearScreen serialEvent rightToLeft ' +
'setTextSize leftToRight requestFrom keyReleased ' +
'compassRead analogWrite interrupts WiFiServer ' +
'disconnect playMelody parseFloat autoscroll ' +
'getPINUsed setPINUsed setTimeout sendAnalog ' +
'readSlider analogRead beginWrite createChar ' +
'motorsStop keyPressed tempoWrite readButton ' +
'subnetMask debugPrint macAddress writeGreen ' +
'randomSeed attachGPRS readString sendString ' +
'remotePort releaseAll mouseMoved background ' +
'getXChange getYChange answerCall getResult ' +
'voiceCall endPacket constrain getSocket writeJSON ' +
'getButton available connected findUntil readBytes ' +
'exitValue readGreen writeBlue startLoop IPAddress ' +
'isPressed sendSysex pauseMode gatewayIP setCursor ' +
'getOemKey tuneWrite noDisplay loadImage switchPIN ' +
'onRequest onReceive changePIN playFile noBuffer ' +
'parseInt overflow checkPIN knobRead beginTFT ' +
'bitClear updateIR bitWrite position writeRGB ' +
'highByte writeRed setSpeed readBlue noStroke ' +
'remoteIP transfer shutdown hangCall beginSMS ' +
'endWrite attached maintain noCursor checkReg ' +
'checkPUK shiftOut isValid shiftIn pulseIn ' +
'connect println localIP pinMode getIMEI ' +
'display noBlink process getBand running beginSD ' +
'drawBMP lowByte setBand release bitRead prepare ' +
'pointTo readRed setMode noFill remove listen ' +
'stroke detach attach noTone exists buffer ' +
'height bitSet circle config cursor random ' +
'IRread setDNS endSMS getKey micros ' +
'millis begin print write ready flush width ' +
'isPIN blink clear press mkdir rmdir close ' +
'point yield image BSSID click delay ' +
'read text move peek beep rect line open ' +
'seek fill size turn stop home find ' +
'step tone sqrt RSSI SSID ' +
'end bit tan cos sin pow map abs max ' +
'min get run put',
literal:
'DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ' +
'REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ' +
'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' +
'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' +
'DEFAULT OUTPUT INPUT HIGH LOW'
type: [
"boolean",
"byte",
"word",
"String"
],
built_in: [
"KeyboardController",
"MouseController",
"SoftwareSerial",
"EthernetServer",
"EthernetClient",
"LiquidCrystal",
"RobotControl",
"GSMVoiceCall",
"EthernetUDP",
"EsploraTFT",
"HttpClient",
"RobotMotor",
"WiFiClient",
"GSMScanner",
"FileSystem",
"Scheduler",
"GSMServer",
"YunClient",
"YunServer",
"IPAddress",
"GSMClient",
"GSMModem",
"Keyboard",
"Ethernet",
"Console",
"GSMBand",
"Esplora",
"Stepper",
"Process",
"WiFiUDP",
"GSM_SMS",
"Mailbox",
"USBHost",
"Firmata",
"PImage",
"Client",
"Server",
"GSMPIN",
"FileIO",
"Bridge",
"Serial",
"EEPROM",
"Stream",
"Mouse",
"Audio",
"Servo",
"File",
"Task",
"GPRS",
"WiFi",
"Wire",
"TFT",
"GSM",
"SPI",
"SD"
],
_hints: [
"setup",
"loop",
"runShellCommandAsynchronously",
"analogWriteResolution",
"retrieveCallingNumber",
"printFirmwareVersion",
"analogReadResolution",
"sendDigitalPortPair",
"noListenOnLocalhost",
"readJoystickButton",
"setFirmwareVersion",
"readJoystickSwitch",
"scrollDisplayRight",
"getVoiceCallStatus",
"scrollDisplayLeft",
"writeMicroseconds",
"delayMicroseconds",
"beginTransmission",
"getSignalStrength",
"runAsynchronously",
"getAsynchronously",
"listenOnLocalhost",
"getCurrentCarrier",
"readAccelerometer",
"messageAvailable",
"sendDigitalPorts",
"lineFollowConfig",
"countryNameWrite",
"runShellCommand",
"readStringUntil",
"rewindDirectory",
"readTemperature",
"setClockDivider",
"readLightSensor",
"endTransmission",
"analogReference",
"detachInterrupt",
"countryNameRead",
"attachInterrupt",
"encryptionType",
"readBytesUntil",
"robotNameWrite",
"readMicrophone",
"robotNameRead",
"cityNameWrite",
"userNameWrite",
"readJoystickY",
"readJoystickX",
"mouseReleased",
"openNextFile",
"scanNetworks",
"noInterrupts",
"digitalWrite",
"beginSpeaker",
"mousePressed",
"isActionDone",
"mouseDragged",
"displayLogos",
"noAutoscroll",
"addParameter",
"remoteNumber",
"getModifiers",
"keyboardRead",
"userNameRead",
"waitContinue",
"processInput",
"parseCommand",
"printVersion",
"readNetworks",
"writeMessage",
"blinkVersion",
"cityNameRead",
"readMessage",
"setDataMode",
"parsePacket",
"isListening",
"setBitOrder",
"beginPacket",
"isDirectory",
"motorsWrite",
"drawCompass",
"digitalRead",
"clearScreen",
"serialEvent",
"rightToLeft",
"setTextSize",
"leftToRight",
"requestFrom",
"keyReleased",
"compassRead",
"analogWrite",
"interrupts",
"WiFiServer",
"disconnect",
"playMelody",
"parseFloat",
"autoscroll",
"getPINUsed",
"setPINUsed",
"setTimeout",
"sendAnalog",
"readSlider",
"analogRead",
"beginWrite",
"createChar",
"motorsStop",
"keyPressed",
"tempoWrite",
"readButton",
"subnetMask",
"debugPrint",
"macAddress",
"writeGreen",
"randomSeed",
"attachGPRS",
"readString",
"sendString",
"remotePort",
"releaseAll",
"mouseMoved",
"background",
"getXChange",
"getYChange",
"answerCall",
"getResult",
"voiceCall",
"endPacket",
"constrain",
"getSocket",
"writeJSON",
"getButton",
"available",
"connected",
"findUntil",
"readBytes",
"exitValue",
"readGreen",
"writeBlue",
"startLoop",
"IPAddress",
"isPressed",
"sendSysex",
"pauseMode",
"gatewayIP",
"setCursor",
"getOemKey",
"tuneWrite",
"noDisplay",
"loadImage",
"switchPIN",
"onRequest",
"onReceive",
"changePIN",
"playFile",
"noBuffer",
"parseInt",
"overflow",
"checkPIN",
"knobRead",
"beginTFT",
"bitClear",
"updateIR",
"bitWrite",
"position",
"writeRGB",
"highByte",
"writeRed",
"setSpeed",
"readBlue",
"noStroke",
"remoteIP",
"transfer",
"shutdown",
"hangCall",
"beginSMS",
"endWrite",
"attached",
"maintain",
"noCursor",
"checkReg",
"checkPUK",
"shiftOut",
"isValid",
"shiftIn",
"pulseIn",
"connect",
"println",
"localIP",
"pinMode",
"getIMEI",
"display",
"noBlink",
"process",
"getBand",
"running",
"beginSD",
"drawBMP",
"lowByte",
"setBand",
"release",
"bitRead",
"prepare",
"pointTo",
"readRed",
"setMode",
"noFill",
"remove",
"listen",
"stroke",
"detach",
"attach",
"noTone",
"exists",
"buffer",
"height",
"bitSet",
"circle",
"config",
"cursor",
"random",
"IRread",
"setDNS",
"endSMS",
"getKey",
"micros",
"millis",
"begin",
"print",
"write",
"ready",
"flush",
"width",
"isPIN",
"blink",
"clear",
"press",
"mkdir",
"rmdir",
"close",
"point",
"yield",
"image",
"BSSID",
"click",
"delay",
"read",
"text",
"move",
"peek",
"beep",
"rect",
"line",
"open",
"seek",
"fill",
"size",
"turn",
"stop",
"home",
"find",
"step",
"tone",
"sqrt",
"RSSI",
"SSID",
"end",
"bit",
"tan",
"cos",
"sin",
"pow",
"map",
"abs",
"max",
"min",
"get",
"run",
"put"
],
literal: [
"DIGITAL_MESSAGE",
"FIRMATA_STRING",
"ANALOG_MESSAGE",
"REPORT_DIGITAL",
"REPORT_ANALOG",
"INPUT_PULLUP",
"SET_PIN_MODE",
"INTERNAL2V56",
"SYSTEM_RESET",
"LED_BUILTIN",
"INTERNAL1V1",
"SYSEX_START",
"INTERNAL",
"EXTERNAL",
"DEFAULT",
"OUTPUT",
"INPUT",
"HIGH",
"LOW"
]
};

@@ -585,6 +1036,6 @@

kws.keyword += ' ' + ARDUINO_KW.keyword;
kws.literal += ' ' + ARDUINO_KW.literal;
kws.built_in += ' ' + ARDUINO_KW.built_in;
kws._ += ' ' + ARDUINO_KW._;
kws.type = [ ...kws.type, ...ARDUINO_KW.type ];
kws.literal = [ ...kws.literal, ...ARDUINO_KW.literal ];
kws.built_in = [ ...kws.built_in, ...ARDUINO_KW.built_in ];
kws._hints = ARDUINO_KW._hints;

@@ -591,0 +1042,0 @@ ARDUINO.name = 'Arduino';

@@ -86,3 +86,3 @@ /*

keywords: {
'meta-keyword': DIRECTIVES
keyword: DIRECTIVES
},

@@ -97,3 +97,3 @@ contains: [

keywords: {
'meta-keyword': 'include'
keyword: 'include'
},

@@ -104,3 +104,3 @@ end: '$',

{
className: 'meta-string',
className: 'string',
variants: [

@@ -107,0 +107,0 @@ {

@@ -116,3 +116,3 @@ /**

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -127,6 +127,6 @@ 'pragma _Pragma ifdef ifndef include'

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/

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

@@ -46,2 +46,5 @@ /**

Website: https://isocpp.org
TODO: Properly handle common namespaces (std, chrono, etc.).
TODO: Properly handle type traits and type trait helper types (_t) and values (_v).
*/

@@ -69,4 +72,5 @@

')';
const CPP_PRIMITIVE_TYPES = {
className: 'keyword',
className: 'type',
begin: '\\b[a-z\\d_]*_t\\b'

@@ -88,3 +92,3 @@ };

{
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + "|.)",
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + '|.)',
end: '\'',

@@ -121,3 +125,3 @@ illegal: '.'

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -132,6 +136,6 @@ 'pragma _Pragma ifdef ifndef include'

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/

@@ -152,10 +156,197 @@ },

const COMMON_CPP_HINTS = [
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_KEYWORDS = [
'alignas',
'alignof',
'and',
'and_eq',
'asm',
'atomic_cancel',
'atomic_commit',
'atomic_noexcept',
'auto',
'bitand',
'bitor',
'break',
'case',
'catch',
'class',
'co_await',
'co_return',
'co_yield',
'compl',
'concept',
'const',
'const_cast|10',
'consteval',
'constexpr',
'constinit',
'continue',
'decltype',
'default',
'delete',
'do',
'dynamic_cast|10',
'else',
'enum',
'explicit',
'export',
'extern',
'false',
'final',
'for',
'friend',
'goto',
'if',
'import',
'inline',
'module',
'mutable',
'namespace',
'new',
'noexcept',
'not',
'not_eq',
'nullptr',
'operator',
'or',
'or_eq',
'override',
'private',
'protected',
'public',
'reflexpr',
'register',
'reinterpret_cast|10',
'requires',
'return',
'signed',
'sizeof',
'static',
'static_assert',
'static_cast|10',
'struct',
'switch',
'synchronized',
'template',
'this',
'thread_local',
'throw',
'transaction_safe',
'transaction_safe_dynamic',
'true',
'try',
'typedef',
'typeid',
'typename',
'union',
'unsigned',
'using',
'virtual',
'volatile',
'while',
'xor',
'xor_eq,'
];
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_TYPES = [
'bool',
'char',
'char16_t',
'char32_t',
'char8_t',
'double',
'float',
'int',
'long',
'short',
'void',
'wchar_t'
];
const TYPES = [
'any',
'array',
'async',
'auto_ptr',
'barrier',
'binary_semaphore',
'bitset',
'complex',
'condition_variable',
'condition_variable_any',
'counting_semaphore',
'deque',
'false_type',
'function',
'future',
'imaginary',
'initializer_list',
'istringstream',
'jthread',
'latch',
'list',
'lock_guard',
'map',
'multimap',
'multiset',
'mutex',
'optional',
'ostringstream',
'packaged_task',
'pair',
'promise',
'priority_queue',
'queue',
'recursive_mutex',
'recursive_timed_mutex',
'scoped_lock',
'set',
'shared_future',
'shared_lock',
'shared_mutex',
'shared_timed_mutex',
'shared_ptr',
'stack',
'string',
'string_view',
'stringstream',
'timed_mutex',
'thread',
'true_type',
'tuple',
'unique_lock',
'unique_ptr',
'unordered_map',
'unordered_multimap',
'unordered_multiset',
'unordered_set',
'variant',
'vector',
'weak_ptr',
'wstring',
'wstring_view'
];
const COMMON_FUNCTIONS = [
'abort',
'abs',
'acos',
'apply',
'as_const',
'asin',
'atan',
'atan2',
'atan',
'calloc',
'ceil',
'cerr',
'cin',
'clog',
'cos',
'cosh',
'cos',
'cout',
'declval',
'endl',
'exchange',
'exit',

@@ -166,2 +357,3 @@ 'exp',

'fmod',
'forward',
'fprintf',

@@ -171,17 +363,5 @@ 'fputs',

'frexp',
'auto_ptr',
'deque',
'list',
'queue',
'stack',
'vector',
'map',
'set',
'pair',
'bitset',
'multiset',
'multimap',
'unordered_set',
'fscanf',
'future',
'invoke',
'isalnum',

@@ -198,10 +378,13 @@ 'isalpha',

'isxdigit',
'tolower',
'toupper',
'labs',
'launder',
'ldexp',
'log',
'log10',
'log',
'make_pair',
'make_shared',
'make_shared_for_overwrite',
'make_tuple',
'make_unique',
'malloc',
'realloc',
'memchr',

@@ -212,2 +395,3 @@ 'memcmp',

'modf',
'move',
'pow',

@@ -217,5 +401,6 @@ 'printf',

'puts',
'realloc',
'scanf',
'sin',
'sinh',
'sin',
'snprintf',

@@ -225,2 +410,6 @@ 'sprintf',

'sscanf',
'std',
'stderr',
'stdin',
'stdout',
'strcat',

@@ -239,60 +428,43 @@ 'strchr',

'strstr',
'swap',
'tan',
'tanh',
'tan',
'unordered_map',
'unordered_multiset',
'unordered_multimap',
'priority_queue',
'make_pair',
'array',
'shared_ptr',
'abort',
'terminate',
'abs',
'acos',
'to_underlying',
'tolower',
'toupper',
'vfprintf',
'visit',
'vprintf',
'vsprintf',
'endl',
'initializer_list',
'unique_ptr',
'complex',
'imaginary',
'std',
'string',
'wstring',
'cin',
'cout',
'cerr',
'clog',
'stdin',
'stdout',
'stderr',
'stringstream',
'istringstream',
'ostringstream'
'vsprintf'
];
const BUILT_INS = [
'_Bool',
'_Complex',
'_Imaginary'
];
const LITERALS = [
'NULL',
'false',
'nullopt',
'nullptr',
'true'
];
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 struct',
built_in: '_Bool _Complex _Imaginary',
_relevance_hints: COMMON_CPP_HINTS,
literal: 'true false nullptr NULL'
type: [...RESERVED_TYPES, ...TYPES],
keyword: RESERVED_KEYWORDS,
built_in: BUILT_INS,
literal: LITERALS
};
const FUNCTION_DISPATCH = {
className: "function.dispatch",
className: 'function.dispatch',
relevance: 0,
keywords: CPP_KEYWORDS,
keywords: {
// only for relevance, not highlighting
_hint: COMMON_FUNCTIONS
},
begin: concat(

@@ -305,3 +477,3 @@ /\b/,

hljs.IDENT_RE,
lookahead(/\s*\(/))
lookahead(/(<[^<>]+>|)\s*\(/))
};

@@ -319,3 +491,2 @@

const EXPRESSION_CONTEXT = {

@@ -443,3 +614,3 @@ // This mode covers expression context where we can't expect a function

classNameAliases: {
"function.dispatch": "built_in"
'function.dispatch': 'built_in'
},

@@ -454,3 +625,3 @@ contains: [].concat(

{ // 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*<',
begin: '\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<',
end: '>',

@@ -475,4 +646,4 @@ keywords: CPP_KEYWORDS,

className: {
1: "keyword",
3: "title.class"
1: 'keyword',
3: 'title.class'
}

@@ -479,0 +650,0 @@ }

@@ -210,3 +210,3 @@ /*

hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
})

@@ -213,0 +213,0 @@ ]

@@ -332,3 +332,3 @@ /*

keywords: {
'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'
keyword: 'if else elif endif define undef warning error line region endregion pragma checksum'
}

@@ -385,3 +385,3 @@ },

{
className: 'meta-string',
className: 'string',
begin: /"/,

@@ -388,0 +388,0 @@ end: /"/

@@ -48,3 +48,3 @@ /*

keywords: {
'meta-keyword': 'if else elif endif define undef ifdef ifndef'
keyword: 'if else elif endif define undef ifdef ifndef'
},

@@ -60,10 +60,10 @@ contains: [

keywords: {
'meta-keyword': 'include'
keyword: 'include'
},
contains: [
hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: '<',

@@ -87,3 +87,3 @@ end: '>',

const KEYWORD = {
className: 'meta',
className: 'keyword',
begin: '/[a-z][a-z\\d-]*/'

@@ -90,0 +90,0 @@ };

@@ -143,3 +143,3 @@ /**

{
className: 'meta-keyword',
className: 'keyword',
begin: '^\\$[a-z0-9]+'

@@ -146,0 +146,0 @@ }

@@ -120,3 +120,3 @@ /*

keywords: {
'meta-keyword': 'define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline'
keyword: 'define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline'
},

@@ -132,7 +132,7 @@ contains: [

keywords: {
'meta-keyword': 'include'
keyword: 'include'
},
contains: [
{
className: 'meta-string',
className: 'string',
begin: '"',

@@ -139,0 +139,0 @@ end: '"',

@@ -59,3 +59,3 @@ /*

keywords: {
'meta-keyword': 'if else elseif end error'
keyword: 'if else elseif end error'
}

@@ -62,0 +62,0 @@ },

@@ -40,7 +40,7 @@ /*

keywords: {
'meta-keyword': 'addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib'
keyword: 'addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib'
},
contains: [
hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
}),

@@ -47,0 +47,0 @@ hljs.NUMBER_MODE,

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

hljs.inherit(STRING, {
className: 'meta-string'
className: 'string'
})

@@ -135,0 +135,0 @@ ]

@@ -645,4 +645,5 @@ const MODES = (hljs) => {

{
begin: '\\(',
end: '\\)',
begin: /\(/,
end: /\)/,
relevance: 0,
contains: VALUE_WITH_RULESETS

@@ -649,0 +650,0 @@ }, // argument list of parametric mixins

@@ -58,3 +58,3 @@ /*

$pattern: /[\.\w]+/,
'meta-keyword': '.PHONY'
keyword: '.PHONY'
}

@@ -61,0 +61,0 @@ };

@@ -71,3 +71,3 @@ /*

keywords: {
'meta-keyword': 'if else elseif endif end then'
keyword: 'if else elseif endif end then'
}

@@ -74,0 +74,0 @@ },

@@ -212,3 +212,3 @@ /*

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -223,6 +223,6 @@ 'pragma ifdef ifndef include'

hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/,

@@ -229,0 +229,0 @@ end: /$/,

@@ -29,3 +29,3 @@ /*

keywords: {
'meta-keyword': 'include use'
keyword: 'include use'
},

@@ -32,0 +32,0 @@ begin: 'include|use <',

/**
* @param {string} value
* @returns {string}
*/
/**
* performs a shallow merge of multiple objects into one
*
* @template T
* @param {T} original
* @param {Record<string,any>[]} objects
* @returns {T} a single new object
*/
function inherit(original, ...objects) {
/** @type Record<string,any> */
const result = Object.create(null);
for (const key in original) {
result[key] = original[key];
}
objects.forEach(function(obj) {
for (const key in obj) {
result[key] = obj[key];
}
});
return /** @type {T} */ (result);
}
/**
* @param {string} value
* @returns {RegExp}

@@ -34,2 +62,106 @@ * */

function stripOptionsFromArgs(args) {
const opts = args[args.length - 1];
if (typeof opts === 'object' && opts.constructor === Object) {
args.splice(args.length - 1, 1);
return opts;
} else {
return {};
}
}
/**
* 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 opts = stripOptionsFromArgs(args);
const joined = '(' +
(opts.capture ? "" : "?:") +
args.map((x) => source(x)).join("|") + ")";
return joined;
}
const IDENT_RE = '[a-zA-Z]\\w*';
/**
* Creates a comment mode
*
* @param {string | RegExp} begin
* @param {string | RegExp} end
* @param {Mode | {}} [modeOptions]
* @returns {Partial<Mode>}
*/
const COMMENT = function(begin, end, modeOptions = {}) {
const mode = inherit(
{
scope: 'comment',
begin,
end,
contains: []
},
modeOptions
);
mode.contains.push({
scope: 'doctag',
// hack to avoid the space from being included. the space is necessary to
// match here to prevent the plain text rule below from gobbling up doctags
begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,
excludeBegin: true,
relevance: 0
});
const ENGLISH_WORD = either(
// list of common 1 and 2 letter words in English
"I",
"a",
"is",
"so",
"us",
"to",
"at",
"if",
"in",
"it",
"on",
// note: this is not an exhaustive list of contractions, just popular ones
/[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc
/[A-Za-z]+[-][a-z]+/, // `no-way`, etc.
/[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences
);
// looking like plain text, more likely to be a comment
mode.contains.push(
{
// TODO: how to include ", (, ) without breaking grammars that use these for
// comment delimiters?
// begin: /[ ]+([()"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()":]?([.][ ]|[ ]|\))){3}/
// ---
// this tries to find sequences of 3 english words in a row (without any
// "programming" type syntax) this gives us a strong signal that we've
// TRULY found a comment - vs perhaps scanning with the wrong language.
// It's possible to find something that LOOKS like the start of the
// comment - but then if there is no readable text - good chance it is a
// false match and not a comment.
//
// for a visual example please see:
// https://github.com/highlightjs/highlight.js/issues/2827
begin: concat(
/[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */
'(',
ENGLISH_WORD,
/[.]?[:]?([.][ ]|[ ])/,
'){3}') // look for 3 words in a row
}
);
return mode;
};
COMMENT('//', '$');
COMMENT('/\\*', '\\*/');
COMMENT('#', '$');
/*

@@ -411,23 +543,33 @@ Language: Python

{
match: [
/def/, /\s+/,
IDENT_RE
],
scope: {
1: "keyword",
3: "title.function"
},
contains: [ PARAMS ]
},
{
variants: [
{
className: 'function',
beginKeywords: 'def'
match: [
/class/, /\s+/,
IDENT_RE, /\s*/,
/\(\s*/, IDENT_RE,/\s*\)/
],
},
{
className: 'class',
beginKeywords: 'class'
match: [
/class/, /\s+/,
IDENT_RE
],
}
],
end: /:/,
illegal: /[${=;\n,]/,
contains: [
hljs.UNDERSCORE_TITLE_MODE,
PARAMS,
{
begin: /->/,
endsWithParent: true,
keywords: KEYWORDS
}
]
scope: {
1: "keyword",
3: "title.class",
6: "title.class.inherited",
}
},

@@ -434,0 +576,0 @@ {

@@ -134,3 +134,3 @@ /**

{
className: 'meta-keyword',
className: 'keyword',
begin: /\\[a-zA-Z]+/,

@@ -137,0 +137,0 @@ }

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

returnBegin: true,
relevance: 0,
end: "\.",

@@ -237,2 +238,3 @@ contains: [

end: '\\)',
relevance: 0,
skip: true

@@ -314,2 +316,3 @@ }

end: /\}/,
relevance: 0,
skip: true

@@ -316,0 +319,0 @@ }

@@ -277,3 +277,3 @@ /**

{
className: 'meta-string',
className: 'string',
begin: /"/,

@@ -280,0 +280,0 @@ end: /"/

@@ -22,3 +22,3 @@ /*

className: 'title',
begin: /[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/
begin: /[a-zA-Z]\w+_fnc_\w+/
};

@@ -2467,3 +2467,3 @@

keywords: {
'meta-keyword':
keyword:
'define undef ifdef ifndef else endif include'

@@ -2477,6 +2477,6 @@ },

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<[^\n>]*>/,

@@ -2483,0 +2483,0 @@ end: /$/,

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

function taggerscript(hljs) {
const COMMENT = {
const NOOP = {
className: 'comment',
begin: /\$noop\(/,
end: /\)/,
contains: [ {
contains: [{
begin: /\\[()]/
}, {
begin: /\(/,
end: /\)/,
contains: [ 'self',
{
begin: /\\./
} ]
contains: [{
begin: /\\[()]/
}, 'self']
} ],

@@ -26,5 +27,3 @@ relevance: 10

className: 'keyword',
begin: /\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,
end: /\(/,
excludeEnd: true
begin: /\$[_a-zA-Z0-9]+(?=\()/
};

@@ -34,9 +33,13 @@

className: 'variable',
begin: /%[_a-zA-Z0-9:]*/,
end: '%'
begin: /%[_a-zA-Z0-9:]+%/
};
const ESCAPE_SEQUENCE_UNICODE = {
className: 'symbol',
begin: /\\u[a-fA-F0-9]{4}/
};
const ESCAPE_SEQUENCE = {
className: 'symbol',
begin: /\\./
begin: /\\[\\nt$%,()]/
};

@@ -47,6 +50,7 @@

contains: [
COMMENT,
NOOP,
FUNCTION,
VARIABLE,
ESCAPE_SEQUENCE
ESCAPE_SEQUENCE,
ESCAPE_SEQUENCE_UNICODE
]

@@ -53,0 +57,0 @@ };

@@ -177,3 +177,3 @@ /**

keywords: {
'meta-keyword':
keyword:
'const disable else elseif enable end externalsource if region then'

@@ -180,0 +180,0 @@ },

@@ -118,3 +118,3 @@ /*

keywords: {
'meta-keyword':
keyword:
'define __FILE__ ' +

@@ -121,0 +121,0 @@ '__LINE__ begin_keywords celldefine default_nettype define ' +

@@ -88,3 +88,3 @@ /**

{
className: 'meta-keyword',
className: 'keyword',
begin: /#?[a-z_][a-z1-9_-]+/,

@@ -100,6 +100,6 @@ illegal: /\n/

const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, {
className: 'meta-string'
className: 'string'
});
const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
});

@@ -106,0 +106,0 @@ const TAG_INTERNALS = {

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

hljs.registerLanguage('wasm', require('./languages/wasm'));
hljs.registerLanguage('wren', require('./languages/wren'));
hljs.registerLanguage('x86asm', require('./languages/x86asm'));

@@ -191,0 +192,0 @@ hljs.registerLanguage('xl', require('./languages/xl'));

@@ -147,3 +147,3 @@ /**

end: /;/,
keywords: { 'meta-keyword': 'import include' }
keywords: { keyword: 'import include' }
},

@@ -150,0 +150,0 @@ {

@@ -46,2 +46,5 @@ /**

Website: https://isocpp.org
TODO: Properly handle common namespaces (std, chrono, etc.).
TODO: Properly handle type traits and type trait helper types (_t) and values (_v).
*/

@@ -69,4 +72,5 @@

')';
const CPP_PRIMITIVE_TYPES = {
className: 'keyword',
className: 'type',
begin: '\\b[a-z\\d_]*_t\\b'

@@ -88,3 +92,3 @@ };

{
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + "|.)",
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + '|.)',
end: '\'',

@@ -121,3 +125,3 @@ illegal: '.'

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -132,6 +136,6 @@ 'pragma _Pragma ifdef ifndef include'

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/

@@ -152,10 +156,197 @@ },

const COMMON_CPP_HINTS = [
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_KEYWORDS = [
'alignas',
'alignof',
'and',
'and_eq',
'asm',
'atomic_cancel',
'atomic_commit',
'atomic_noexcept',
'auto',
'bitand',
'bitor',
'break',
'case',
'catch',
'class',
'co_await',
'co_return',
'co_yield',
'compl',
'concept',
'const',
'const_cast|10',
'consteval',
'constexpr',
'constinit',
'continue',
'decltype',
'default',
'delete',
'do',
'dynamic_cast|10',
'else',
'enum',
'explicit',
'export',
'extern',
'false',
'final',
'for',
'friend',
'goto',
'if',
'import',
'inline',
'module',
'mutable',
'namespace',
'new',
'noexcept',
'not',
'not_eq',
'nullptr',
'operator',
'or',
'or_eq',
'override',
'private',
'protected',
'public',
'reflexpr',
'register',
'reinterpret_cast|10',
'requires',
'return',
'signed',
'sizeof',
'static',
'static_assert',
'static_cast|10',
'struct',
'switch',
'synchronized',
'template',
'this',
'thread_local',
'throw',
'transaction_safe',
'transaction_safe_dynamic',
'true',
'try',
'typedef',
'typeid',
'typename',
'union',
'unsigned',
'using',
'virtual',
'volatile',
'while',
'xor',
'xor_eq,'
];
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_TYPES = [
'bool',
'char',
'char16_t',
'char32_t',
'char8_t',
'double',
'float',
'int',
'long',
'short',
'void',
'wchar_t'
];
const TYPES = [
'any',
'array',
'async',
'auto_ptr',
'barrier',
'binary_semaphore',
'bitset',
'complex',
'condition_variable',
'condition_variable_any',
'counting_semaphore',
'deque',
'false_type',
'function',
'future',
'imaginary',
'initializer_list',
'istringstream',
'jthread',
'latch',
'list',
'lock_guard',
'map',
'multimap',
'multiset',
'mutex',
'optional',
'ostringstream',
'packaged_task',
'pair',
'promise',
'priority_queue',
'queue',
'recursive_mutex',
'recursive_timed_mutex',
'scoped_lock',
'set',
'shared_future',
'shared_lock',
'shared_mutex',
'shared_timed_mutex',
'shared_ptr',
'stack',
'string',
'string_view',
'stringstream',
'timed_mutex',
'thread',
'true_type',
'tuple',
'unique_lock',
'unique_ptr',
'unordered_map',
'unordered_multimap',
'unordered_multiset',
'unordered_set',
'variant',
'vector',
'weak_ptr',
'wstring',
'wstring_view'
];
const COMMON_FUNCTIONS = [
'abort',
'abs',
'acos',
'apply',
'as_const',
'asin',
'atan',
'atan2',
'atan',
'calloc',
'ceil',
'cerr',
'cin',
'clog',
'cos',
'cosh',
'cos',
'cout',
'declval',
'endl',
'exchange',
'exit',

@@ -166,2 +357,3 @@ 'exp',

'fmod',
'forward',
'fprintf',

@@ -171,17 +363,5 @@ 'fputs',

'frexp',
'auto_ptr',
'deque',
'list',
'queue',
'stack',
'vector',
'map',
'set',
'pair',
'bitset',
'multiset',
'multimap',
'unordered_set',
'fscanf',
'future',
'invoke',
'isalnum',

@@ -198,10 +378,13 @@ 'isalpha',

'isxdigit',
'tolower',
'toupper',
'labs',
'launder',
'ldexp',
'log',
'log10',
'log',
'make_pair',
'make_shared',
'make_shared_for_overwrite',
'make_tuple',
'make_unique',
'malloc',
'realloc',
'memchr',

@@ -212,2 +395,3 @@ 'memcmp',

'modf',
'move',
'pow',

@@ -217,5 +401,6 @@ 'printf',

'puts',
'realloc',
'scanf',
'sin',
'sinh',
'sin',
'snprintf',

@@ -225,2 +410,6 @@ 'sprintf',

'sscanf',
'std',
'stderr',
'stdin',
'stdout',
'strcat',

@@ -239,60 +428,43 @@ 'strchr',

'strstr',
'swap',
'tan',
'tanh',
'tan',
'unordered_map',
'unordered_multiset',
'unordered_multimap',
'priority_queue',
'make_pair',
'array',
'shared_ptr',
'abort',
'terminate',
'abs',
'acos',
'to_underlying',
'tolower',
'toupper',
'vfprintf',
'visit',
'vprintf',
'vsprintf',
'endl',
'initializer_list',
'unique_ptr',
'complex',
'imaginary',
'std',
'string',
'wstring',
'cin',
'cout',
'cerr',
'clog',
'stdin',
'stdout',
'stderr',
'stringstream',
'istringstream',
'ostringstream'
'vsprintf'
];
const BUILT_INS = [
'_Bool',
'_Complex',
'_Imaginary'
];
const LITERALS = [
'NULL',
'false',
'nullopt',
'nullptr',
'true'
];
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 struct',
built_in: '_Bool _Complex _Imaginary',
_relevance_hints: COMMON_CPP_HINTS,
literal: 'true false nullptr NULL'
type: [...RESERVED_TYPES, ...TYPES],
keyword: RESERVED_KEYWORDS,
built_in: BUILT_INS,
literal: LITERALS
};
const FUNCTION_DISPATCH = {
className: "function.dispatch",
className: 'function.dispatch',
relevance: 0,
keywords: CPP_KEYWORDS,
keywords: {
// only for relevance, not highlighting
_hint: COMMON_FUNCTIONS
},
begin: concat(

@@ -305,3 +477,3 @@ /\b/,

hljs.IDENT_RE,
lookahead(/\s*\(/))
lookahead(/(<[^<>]+>|)\s*\(/))
};

@@ -319,3 +491,2 @@

const EXPRESSION_CONTEXT = {

@@ -443,3 +614,3 @@ // This mode covers expression context where we can't expect a function

classNameAliases: {
"function.dispatch": "built_in"
'function.dispatch': 'built_in'
},

@@ -454,3 +625,3 @@ contains: [].concat(

{ // 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*<',
begin: '\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<',
end: '>',

@@ -475,4 +646,4 @@ keywords: CPP_KEYWORDS,

className: {
1: "keyword",
3: "title.class"
1: 'keyword',
3: 'title.class'
}

@@ -494,86 +665,366 @@ }

const ARDUINO_KW = {
keyword:
'boolean byte word String',
built_in:
'KeyboardController MouseController SoftwareSerial ' +
'EthernetServer EthernetClient LiquidCrystal ' +
'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' +
'HttpClient RobotMotor WiFiClient GSMScanner ' +
'FileSystem Scheduler GSMServer YunClient YunServer ' +
'IPAddress GSMClient GSMModem Keyboard Ethernet ' +
'Console GSMBand Esplora Stepper Process ' +
'WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage ' +
'Client Server GSMPIN FileIO Bridge Serial ' +
'EEPROM Stream Mouse Audio Servo File Task ' +
'GPRS WiFi Wire TFT GSM SPI SD ',
_:
'setup loop ' +
'runShellCommandAsynchronously analogWriteResolution ' +
'retrieveCallingNumber printFirmwareVersion ' +
'analogReadResolution sendDigitalPortPair ' +
'noListenOnLocalhost readJoystickButton setFirmwareVersion ' +
'readJoystickSwitch scrollDisplayRight getVoiceCallStatus ' +
'scrollDisplayLeft writeMicroseconds delayMicroseconds ' +
'beginTransmission getSignalStrength runAsynchronously ' +
'getAsynchronously listenOnLocalhost getCurrentCarrier ' +
'readAccelerometer messageAvailable sendDigitalPorts ' +
'lineFollowConfig countryNameWrite runShellCommand ' +
'readStringUntil rewindDirectory readTemperature ' +
'setClockDivider readLightSensor endTransmission ' +
'analogReference detachInterrupt countryNameRead ' +
'attachInterrupt encryptionType readBytesUntil ' +
'robotNameWrite readMicrophone robotNameRead cityNameWrite ' +
'userNameWrite readJoystickY readJoystickX mouseReleased ' +
'openNextFile scanNetworks noInterrupts digitalWrite ' +
'beginSpeaker mousePressed isActionDone mouseDragged ' +
'displayLogos noAutoscroll addParameter remoteNumber ' +
'getModifiers keyboardRead userNameRead waitContinue ' +
'processInput parseCommand printVersion readNetworks ' +
'writeMessage blinkVersion cityNameRead readMessage ' +
'setDataMode parsePacket isListening setBitOrder ' +
'beginPacket isDirectory motorsWrite drawCompass ' +
'digitalRead clearScreen serialEvent rightToLeft ' +
'setTextSize leftToRight requestFrom keyReleased ' +
'compassRead analogWrite interrupts WiFiServer ' +
'disconnect playMelody parseFloat autoscroll ' +
'getPINUsed setPINUsed setTimeout sendAnalog ' +
'readSlider analogRead beginWrite createChar ' +
'motorsStop keyPressed tempoWrite readButton ' +
'subnetMask debugPrint macAddress writeGreen ' +
'randomSeed attachGPRS readString sendString ' +
'remotePort releaseAll mouseMoved background ' +
'getXChange getYChange answerCall getResult ' +
'voiceCall endPacket constrain getSocket writeJSON ' +
'getButton available connected findUntil readBytes ' +
'exitValue readGreen writeBlue startLoop IPAddress ' +
'isPressed sendSysex pauseMode gatewayIP setCursor ' +
'getOemKey tuneWrite noDisplay loadImage switchPIN ' +
'onRequest onReceive changePIN playFile noBuffer ' +
'parseInt overflow checkPIN knobRead beginTFT ' +
'bitClear updateIR bitWrite position writeRGB ' +
'highByte writeRed setSpeed readBlue noStroke ' +
'remoteIP transfer shutdown hangCall beginSMS ' +
'endWrite attached maintain noCursor checkReg ' +
'checkPUK shiftOut isValid shiftIn pulseIn ' +
'connect println localIP pinMode getIMEI ' +
'display noBlink process getBand running beginSD ' +
'drawBMP lowByte setBand release bitRead prepare ' +
'pointTo readRed setMode noFill remove listen ' +
'stroke detach attach noTone exists buffer ' +
'height bitSet circle config cursor random ' +
'IRread setDNS endSMS getKey micros ' +
'millis begin print write ready flush width ' +
'isPIN blink clear press mkdir rmdir close ' +
'point yield image BSSID click delay ' +
'read text move peek beep rect line open ' +
'seek fill size turn stop home find ' +
'step tone sqrt RSSI SSID ' +
'end bit tan cos sin pow map abs max ' +
'min get run put',
literal:
'DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ' +
'REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ' +
'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' +
'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' +
'DEFAULT OUTPUT INPUT HIGH LOW'
type: [
"boolean",
"byte",
"word",
"String"
],
built_in: [
"KeyboardController",
"MouseController",
"SoftwareSerial",
"EthernetServer",
"EthernetClient",
"LiquidCrystal",
"RobotControl",
"GSMVoiceCall",
"EthernetUDP",
"EsploraTFT",
"HttpClient",
"RobotMotor",
"WiFiClient",
"GSMScanner",
"FileSystem",
"Scheduler",
"GSMServer",
"YunClient",
"YunServer",
"IPAddress",
"GSMClient",
"GSMModem",
"Keyboard",
"Ethernet",
"Console",
"GSMBand",
"Esplora",
"Stepper",
"Process",
"WiFiUDP",
"GSM_SMS",
"Mailbox",
"USBHost",
"Firmata",
"PImage",
"Client",
"Server",
"GSMPIN",
"FileIO",
"Bridge",
"Serial",
"EEPROM",
"Stream",
"Mouse",
"Audio",
"Servo",
"File",
"Task",
"GPRS",
"WiFi",
"Wire",
"TFT",
"GSM",
"SPI",
"SD"
],
_hints: [
"setup",
"loop",
"runShellCommandAsynchronously",
"analogWriteResolution",
"retrieveCallingNumber",
"printFirmwareVersion",
"analogReadResolution",
"sendDigitalPortPair",
"noListenOnLocalhost",
"readJoystickButton",
"setFirmwareVersion",
"readJoystickSwitch",
"scrollDisplayRight",
"getVoiceCallStatus",
"scrollDisplayLeft",
"writeMicroseconds",
"delayMicroseconds",
"beginTransmission",
"getSignalStrength",
"runAsynchronously",
"getAsynchronously",
"listenOnLocalhost",
"getCurrentCarrier",
"readAccelerometer",
"messageAvailable",
"sendDigitalPorts",
"lineFollowConfig",
"countryNameWrite",
"runShellCommand",
"readStringUntil",
"rewindDirectory",
"readTemperature",
"setClockDivider",
"readLightSensor",
"endTransmission",
"analogReference",
"detachInterrupt",
"countryNameRead",
"attachInterrupt",
"encryptionType",
"readBytesUntil",
"robotNameWrite",
"readMicrophone",
"robotNameRead",
"cityNameWrite",
"userNameWrite",
"readJoystickY",
"readJoystickX",
"mouseReleased",
"openNextFile",
"scanNetworks",
"noInterrupts",
"digitalWrite",
"beginSpeaker",
"mousePressed",
"isActionDone",
"mouseDragged",
"displayLogos",
"noAutoscroll",
"addParameter",
"remoteNumber",
"getModifiers",
"keyboardRead",
"userNameRead",
"waitContinue",
"processInput",
"parseCommand",
"printVersion",
"readNetworks",
"writeMessage",
"blinkVersion",
"cityNameRead",
"readMessage",
"setDataMode",
"parsePacket",
"isListening",
"setBitOrder",
"beginPacket",
"isDirectory",
"motorsWrite",
"drawCompass",
"digitalRead",
"clearScreen",
"serialEvent",
"rightToLeft",
"setTextSize",
"leftToRight",
"requestFrom",
"keyReleased",
"compassRead",
"analogWrite",
"interrupts",
"WiFiServer",
"disconnect",
"playMelody",
"parseFloat",
"autoscroll",
"getPINUsed",
"setPINUsed",
"setTimeout",
"sendAnalog",
"readSlider",
"analogRead",
"beginWrite",
"createChar",
"motorsStop",
"keyPressed",
"tempoWrite",
"readButton",
"subnetMask",
"debugPrint",
"macAddress",
"writeGreen",
"randomSeed",
"attachGPRS",
"readString",
"sendString",
"remotePort",
"releaseAll",
"mouseMoved",
"background",
"getXChange",
"getYChange",
"answerCall",
"getResult",
"voiceCall",
"endPacket",
"constrain",
"getSocket",
"writeJSON",
"getButton",
"available",
"connected",
"findUntil",
"readBytes",
"exitValue",
"readGreen",
"writeBlue",
"startLoop",
"IPAddress",
"isPressed",
"sendSysex",
"pauseMode",
"gatewayIP",
"setCursor",
"getOemKey",
"tuneWrite",
"noDisplay",
"loadImage",
"switchPIN",
"onRequest",
"onReceive",
"changePIN",
"playFile",
"noBuffer",
"parseInt",
"overflow",
"checkPIN",
"knobRead",
"beginTFT",
"bitClear",
"updateIR",
"bitWrite",
"position",
"writeRGB",
"highByte",
"writeRed",
"setSpeed",
"readBlue",
"noStroke",
"remoteIP",
"transfer",
"shutdown",
"hangCall",
"beginSMS",
"endWrite",
"attached",
"maintain",
"noCursor",
"checkReg",
"checkPUK",
"shiftOut",
"isValid",
"shiftIn",
"pulseIn",
"connect",
"println",
"localIP",
"pinMode",
"getIMEI",
"display",
"noBlink",
"process",
"getBand",
"running",
"beginSD",
"drawBMP",
"lowByte",
"setBand",
"release",
"bitRead",
"prepare",
"pointTo",
"readRed",
"setMode",
"noFill",
"remove",
"listen",
"stroke",
"detach",
"attach",
"noTone",
"exists",
"buffer",
"height",
"bitSet",
"circle",
"config",
"cursor",
"random",
"IRread",
"setDNS",
"endSMS",
"getKey",
"micros",
"millis",
"begin",
"print",
"write",
"ready",
"flush",
"width",
"isPIN",
"blink",
"clear",
"press",
"mkdir",
"rmdir",
"close",
"point",
"yield",
"image",
"BSSID",
"click",
"delay",
"read",
"text",
"move",
"peek",
"beep",
"rect",
"line",
"open",
"seek",
"fill",
"size",
"turn",
"stop",
"home",
"find",
"step",
"tone",
"sqrt",
"RSSI",
"SSID",
"end",
"bit",
"tan",
"cos",
"sin",
"pow",
"map",
"abs",
"max",
"min",
"get",
"run",
"put"
],
literal: [
"DIGITAL_MESSAGE",
"FIRMATA_STRING",
"ANALOG_MESSAGE",
"REPORT_DIGITAL",
"REPORT_ANALOG",
"INPUT_PULLUP",
"SET_PIN_MODE",
"INTERNAL2V56",
"SYSTEM_RESET",
"LED_BUILTIN",
"INTERNAL1V1",
"SYSEX_START",
"INTERNAL",
"EXTERNAL",
"DEFAULT",
"OUTPUT",
"INPUT",
"HIGH",
"LOW"
]
};

@@ -585,6 +1036,6 @@

kws.keyword += ' ' + ARDUINO_KW.keyword;
kws.literal += ' ' + ARDUINO_KW.literal;
kws.built_in += ' ' + ARDUINO_KW.built_in;
kws._ += ' ' + ARDUINO_KW._;
kws.type = [ ...kws.type, ...ARDUINO_KW.type ];
kws.literal = [ ...kws.literal, ...ARDUINO_KW.literal ];
kws.built_in = [ ...kws.built_in, ...ARDUINO_KW.built_in ];
kws._hints = ARDUINO_KW._hints;

@@ -591,0 +1042,0 @@ ARDUINO.name = 'Arduino';

@@ -86,3 +86,3 @@ /*

keywords: {
'meta-keyword': DIRECTIVES
keyword: DIRECTIVES
},

@@ -97,3 +97,3 @@ contains: [

keywords: {
'meta-keyword': 'include'
keyword: 'include'
},

@@ -104,3 +104,3 @@ end: '$',

{
className: 'meta-string',
className: 'string',
variants: [

@@ -107,0 +107,0 @@ {

@@ -116,3 +116,3 @@ /**

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -127,6 +127,6 @@ 'pragma _Pragma ifdef ifndef include'

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/

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

@@ -46,2 +46,5 @@ /**

Website: https://isocpp.org
TODO: Properly handle common namespaces (std, chrono, etc.).
TODO: Properly handle type traits and type trait helper types (_t) and values (_v).
*/

@@ -69,4 +72,5 @@

')';
const CPP_PRIMITIVE_TYPES = {
className: 'keyword',
className: 'type',
begin: '\\b[a-z\\d_]*_t\\b'

@@ -88,3 +92,3 @@ };

{
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + "|.)",
begin: '(u8?|U|L)?\'(' + CHARACTER_ESCAPES + '|.)',
end: '\'',

@@ -121,3 +125,3 @@ illegal: '.'

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -132,6 +136,6 @@ 'pragma _Pragma ifdef ifndef include'

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/

@@ -152,10 +156,197 @@ },

const COMMON_CPP_HINTS = [
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_KEYWORDS = [
'alignas',
'alignof',
'and',
'and_eq',
'asm',
'atomic_cancel',
'atomic_commit',
'atomic_noexcept',
'auto',
'bitand',
'bitor',
'break',
'case',
'catch',
'class',
'co_await',
'co_return',
'co_yield',
'compl',
'concept',
'const',
'const_cast|10',
'consteval',
'constexpr',
'constinit',
'continue',
'decltype',
'default',
'delete',
'do',
'dynamic_cast|10',
'else',
'enum',
'explicit',
'export',
'extern',
'false',
'final',
'for',
'friend',
'goto',
'if',
'import',
'inline',
'module',
'mutable',
'namespace',
'new',
'noexcept',
'not',
'not_eq',
'nullptr',
'operator',
'or',
'or_eq',
'override',
'private',
'protected',
'public',
'reflexpr',
'register',
'reinterpret_cast|10',
'requires',
'return',
'signed',
'sizeof',
'static',
'static_assert',
'static_cast|10',
'struct',
'switch',
'synchronized',
'template',
'this',
'thread_local',
'throw',
'transaction_safe',
'transaction_safe_dynamic',
'true',
'try',
'typedef',
'typeid',
'typename',
'union',
'unsigned',
'using',
'virtual',
'volatile',
'while',
'xor',
'xor_eq,'
];
// https://en.cppreference.com/w/cpp/keyword
const RESERVED_TYPES = [
'bool',
'char',
'char16_t',
'char32_t',
'char8_t',
'double',
'float',
'int',
'long',
'short',
'void',
'wchar_t'
];
const TYPES = [
'any',
'array',
'async',
'auto_ptr',
'barrier',
'binary_semaphore',
'bitset',
'complex',
'condition_variable',
'condition_variable_any',
'counting_semaphore',
'deque',
'false_type',
'function',
'future',
'imaginary',
'initializer_list',
'istringstream',
'jthread',
'latch',
'list',
'lock_guard',
'map',
'multimap',
'multiset',
'mutex',
'optional',
'ostringstream',
'packaged_task',
'pair',
'promise',
'priority_queue',
'queue',
'recursive_mutex',
'recursive_timed_mutex',
'scoped_lock',
'set',
'shared_future',
'shared_lock',
'shared_mutex',
'shared_timed_mutex',
'shared_ptr',
'stack',
'string',
'string_view',
'stringstream',
'timed_mutex',
'thread',
'true_type',
'tuple',
'unique_lock',
'unique_ptr',
'unordered_map',
'unordered_multimap',
'unordered_multiset',
'unordered_set',
'variant',
'vector',
'weak_ptr',
'wstring',
'wstring_view'
];
const COMMON_FUNCTIONS = [
'abort',
'abs',
'acos',
'apply',
'as_const',
'asin',
'atan',
'atan2',
'atan',
'calloc',
'ceil',
'cerr',
'cin',
'clog',
'cos',
'cosh',
'cos',
'cout',
'declval',
'endl',
'exchange',
'exit',

@@ -166,2 +357,3 @@ 'exp',

'fmod',
'forward',
'fprintf',

@@ -171,17 +363,5 @@ 'fputs',

'frexp',
'auto_ptr',
'deque',
'list',
'queue',
'stack',
'vector',
'map',
'set',
'pair',
'bitset',
'multiset',
'multimap',
'unordered_set',
'fscanf',
'future',
'invoke',
'isalnum',

@@ -198,10 +378,13 @@ 'isalpha',

'isxdigit',
'tolower',
'toupper',
'labs',
'launder',
'ldexp',
'log',
'log10',
'log',
'make_pair',
'make_shared',
'make_shared_for_overwrite',
'make_tuple',
'make_unique',
'malloc',
'realloc',
'memchr',

@@ -212,2 +395,3 @@ 'memcmp',

'modf',
'move',
'pow',

@@ -217,5 +401,6 @@ 'printf',

'puts',
'realloc',
'scanf',
'sin',
'sinh',
'sin',
'snprintf',

@@ -225,2 +410,6 @@ 'sprintf',

'sscanf',
'std',
'stderr',
'stdin',
'stdout',
'strcat',

@@ -239,60 +428,43 @@ 'strchr',

'strstr',
'swap',
'tan',
'tanh',
'tan',
'unordered_map',
'unordered_multiset',
'unordered_multimap',
'priority_queue',
'make_pair',
'array',
'shared_ptr',
'abort',
'terminate',
'abs',
'acos',
'to_underlying',
'tolower',
'toupper',
'vfprintf',
'visit',
'vprintf',
'vsprintf',
'endl',
'initializer_list',
'unique_ptr',
'complex',
'imaginary',
'std',
'string',
'wstring',
'cin',
'cout',
'cerr',
'clog',
'stdin',
'stdout',
'stderr',
'stringstream',
'istringstream',
'ostringstream'
'vsprintf'
];
const BUILT_INS = [
'_Bool',
'_Complex',
'_Imaginary'
];
const LITERALS = [
'NULL',
'false',
'nullopt',
'nullptr',
'true'
];
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 struct',
built_in: '_Bool _Complex _Imaginary',
_relevance_hints: COMMON_CPP_HINTS,
literal: 'true false nullptr NULL'
type: [...RESERVED_TYPES, ...TYPES],
keyword: RESERVED_KEYWORDS,
built_in: BUILT_INS,
literal: LITERALS
};
const FUNCTION_DISPATCH = {
className: "function.dispatch",
className: 'function.dispatch',
relevance: 0,
keywords: CPP_KEYWORDS,
keywords: {
// only for relevance, not highlighting
_hint: COMMON_FUNCTIONS
},
begin: concat(

@@ -305,3 +477,3 @@ /\b/,

hljs.IDENT_RE,
lookahead(/\s*\(/))
lookahead(/(<[^<>]+>|)\s*\(/))
};

@@ -319,3 +491,2 @@

const EXPRESSION_CONTEXT = {

@@ -443,3 +614,3 @@ // This mode covers expression context where we can't expect a function

classNameAliases: {
"function.dispatch": "built_in"
'function.dispatch': 'built_in'
},

@@ -454,3 +625,3 @@ contains: [].concat(

{ // 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*<',
begin: '\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<',
end: '>',

@@ -475,4 +646,4 @@ keywords: CPP_KEYWORDS,

className: {
1: "keyword",
3: "title.class"
1: 'keyword',
3: 'title.class'
}

@@ -479,0 +650,0 @@ }

@@ -210,3 +210,3 @@ /*

hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
})

@@ -213,0 +213,0 @@ ]

@@ -332,3 +332,3 @@ /*

keywords: {
'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'
keyword: 'if else elif endif define undef warning error line region endregion pragma checksum'
}

@@ -385,3 +385,3 @@ },

{
className: 'meta-string',
className: 'string',
begin: /"/,

@@ -388,0 +388,0 @@ end: /"/

@@ -48,3 +48,3 @@ /*

keywords: {
'meta-keyword': 'if else elif endif define undef ifdef ifndef'
keyword: 'if else elif endif define undef ifdef ifndef'
},

@@ -60,10 +60,10 @@ contains: [

keywords: {
'meta-keyword': 'include'
keyword: 'include'
},
contains: [
hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: '<',

@@ -87,3 +87,3 @@ end: '>',

const KEYWORD = {
className: 'meta',
className: 'keyword',
begin: '/[a-z][a-z\\d-]*/'

@@ -90,0 +90,0 @@ };

@@ -143,3 +143,3 @@ /**

{
className: 'meta-keyword',
className: 'keyword',
begin: '^\\$[a-z0-9]+'

@@ -146,0 +146,0 @@ }

@@ -120,3 +120,3 @@ /*

keywords: {
'meta-keyword': 'define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline'
keyword: 'define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline'
},

@@ -132,7 +132,7 @@ contains: [

keywords: {
'meta-keyword': 'include'
keyword: 'include'
},
contains: [
{
className: 'meta-string',
className: 'string',
begin: '"',

@@ -139,0 +139,0 @@ end: '"',

@@ -59,3 +59,3 @@ /*

keywords: {
'meta-keyword': 'if else elseif end error'
keyword: 'if else elseif end error'
}

@@ -62,0 +62,0 @@ },

@@ -40,7 +40,7 @@ /*

keywords: {
'meta-keyword': 'addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib'
keyword: 'addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib'
},
contains: [
hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
}),

@@ -47,0 +47,0 @@ hljs.NUMBER_MODE,

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

hljs.inherit(STRING, {
className: 'meta-string'
className: 'string'
})

@@ -135,0 +135,0 @@ ]

@@ -645,4 +645,5 @@ const MODES = (hljs) => {

{
begin: '\\(',
end: '\\)',
begin: /\(/,
end: /\)/,
relevance: 0,
contains: VALUE_WITH_RULESETS

@@ -649,0 +650,0 @@ }, // argument list of parametric mixins

@@ -58,3 +58,3 @@ /*

$pattern: /[\.\w]+/,
'meta-keyword': '.PHONY'
keyword: '.PHONY'
}

@@ -61,0 +61,0 @@ };

@@ -71,3 +71,3 @@ /*

keywords: {
'meta-keyword': 'if else elseif endif end then'
keyword: 'if else elseif endif end then'
}

@@ -74,0 +74,0 @@ },

@@ -212,3 +212,3 @@ /*

keywords: {
'meta-keyword':
keyword:
'if else elif endif define undef warning error line ' +

@@ -223,6 +223,6 @@ 'pragma ifdef ifndef include'

hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<.*?>/,

@@ -229,0 +229,0 @@ end: /$/,

@@ -29,3 +29,3 @@ /*

keywords: {
'meta-keyword': 'include use'
keyword: 'include use'
},

@@ -32,0 +32,0 @@ begin: 'include|use <',

/**
* @param {string} value
* @returns {string}
*/
/**
* performs a shallow merge of multiple objects into one
*
* @template T
* @param {T} original
* @param {Record<string,any>[]} objects
* @returns {T} a single new object
*/
function inherit(original, ...objects) {
/** @type Record<string,any> */
const result = Object.create(null);
for (const key in original) {
result[key] = original[key];
}
objects.forEach(function(obj) {
for (const key in obj) {
result[key] = obj[key];
}
});
return /** @type {T} */ (result);
}
/**
* @param {string} value
* @returns {RegExp}

@@ -34,2 +62,106 @@ * */

function stripOptionsFromArgs(args) {
const opts = args[args.length - 1];
if (typeof opts === 'object' && opts.constructor === Object) {
args.splice(args.length - 1, 1);
return opts;
} else {
return {};
}
}
/**
* 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 opts = stripOptionsFromArgs(args);
const joined = '(' +
(opts.capture ? "" : "?:") +
args.map((x) => source(x)).join("|") + ")";
return joined;
}
const IDENT_RE = '[a-zA-Z]\\w*';
/**
* Creates a comment mode
*
* @param {string | RegExp} begin
* @param {string | RegExp} end
* @param {Mode | {}} [modeOptions]
* @returns {Partial<Mode>}
*/
const COMMENT = function(begin, end, modeOptions = {}) {
const mode = inherit(
{
scope: 'comment',
begin,
end,
contains: []
},
modeOptions
);
mode.contains.push({
scope: 'doctag',
// hack to avoid the space from being included. the space is necessary to
// match here to prevent the plain text rule below from gobbling up doctags
begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,
excludeBegin: true,
relevance: 0
});
const ENGLISH_WORD = either(
// list of common 1 and 2 letter words in English
"I",
"a",
"is",
"so",
"us",
"to",
"at",
"if",
"in",
"it",
"on",
// note: this is not an exhaustive list of contractions, just popular ones
/[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc
/[A-Za-z]+[-][a-z]+/, // `no-way`, etc.
/[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences
);
// looking like plain text, more likely to be a comment
mode.contains.push(
{
// TODO: how to include ", (, ) without breaking grammars that use these for
// comment delimiters?
// begin: /[ ]+([()"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()":]?([.][ ]|[ ]|\))){3}/
// ---
// this tries to find sequences of 3 english words in a row (without any
// "programming" type syntax) this gives us a strong signal that we've
// TRULY found a comment - vs perhaps scanning with the wrong language.
// It's possible to find something that LOOKS like the start of the
// comment - but then if there is no readable text - good chance it is a
// false match and not a comment.
//
// for a visual example please see:
// https://github.com/highlightjs/highlight.js/issues/2827
begin: concat(
/[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */
'(',
ENGLISH_WORD,
/[.]?[:]?([.][ ]|[ ])/,
'){3}') // look for 3 words in a row
}
);
return mode;
};
COMMENT('//', '$');
COMMENT('/\\*', '\\*/');
COMMENT('#', '$');
/*

@@ -411,23 +543,33 @@ Language: Python

{
match: [
/def/, /\s+/,
IDENT_RE
],
scope: {
1: "keyword",
3: "title.function"
},
contains: [ PARAMS ]
},
{
variants: [
{
className: 'function',
beginKeywords: 'def'
match: [
/class/, /\s+/,
IDENT_RE, /\s*/,
/\(\s*/, IDENT_RE,/\s*\)/
],
},
{
className: 'class',
beginKeywords: 'class'
match: [
/class/, /\s+/,
IDENT_RE
],
}
],
end: /:/,
illegal: /[${=;\n,]/,
contains: [
hljs.UNDERSCORE_TITLE_MODE,
PARAMS,
{
begin: /->/,
endsWithParent: true,
keywords: KEYWORDS
}
]
scope: {
1: "keyword",
3: "title.class",
6: "title.class.inherited",
}
},

@@ -434,0 +576,0 @@ {

@@ -134,3 +134,3 @@ /**

{
className: 'meta-keyword',
className: 'keyword',
begin: /\\[a-zA-Z]+/,

@@ -137,0 +137,0 @@ }

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

returnBegin: true,
relevance: 0,
end: "\.",

@@ -237,2 +238,3 @@ contains: [

end: '\\)',
relevance: 0,
skip: true

@@ -314,2 +316,3 @@ }

end: /\}/,
relevance: 0,
skip: true

@@ -316,0 +319,0 @@ }

@@ -277,3 +277,3 @@ /**

{
className: 'meta-string',
className: 'string',
begin: /"/,

@@ -280,0 +280,0 @@ end: /"/

@@ -22,3 +22,3 @@ /*

className: 'title',
begin: /[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/
begin: /[a-zA-Z]\w+_fnc_\w+/
};

@@ -2467,3 +2467,3 @@

keywords: {
'meta-keyword':
keyword:
'define undef ifdef ifndef else endif include'

@@ -2477,6 +2477,6 @@ },

hljs.inherit(STRINGS, {
className: 'meta-string'
className: 'string'
}),
{
className: 'meta-string',
className: 'string',
begin: /<[^\n>]*>/,

@@ -2483,0 +2483,0 @@ end: /$/,

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

function taggerscript(hljs) {
const COMMENT = {
const NOOP = {
className: 'comment',
begin: /\$noop\(/,
end: /\)/,
contains: [ {
contains: [{
begin: /\\[()]/
}, {
begin: /\(/,
end: /\)/,
contains: [ 'self',
{
begin: /\\./
} ]
contains: [{
begin: /\\[()]/
}, 'self']
} ],

@@ -26,5 +27,3 @@ relevance: 10

className: 'keyword',
begin: /\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,
end: /\(/,
excludeEnd: true
begin: /\$[_a-zA-Z0-9]+(?=\()/
};

@@ -34,9 +33,13 @@

className: 'variable',
begin: /%[_a-zA-Z0-9:]*/,
end: '%'
begin: /%[_a-zA-Z0-9:]+%/
};
const ESCAPE_SEQUENCE_UNICODE = {
className: 'symbol',
begin: /\\u[a-fA-F0-9]{4}/
};
const ESCAPE_SEQUENCE = {
className: 'symbol',
begin: /\\./
begin: /\\[\\nt$%,()]/
};

@@ -47,6 +50,7 @@

contains: [
COMMENT,
NOOP,
FUNCTION,
VARIABLE,
ESCAPE_SEQUENCE
ESCAPE_SEQUENCE,
ESCAPE_SEQUENCE_UNICODE
]

@@ -53,0 +57,0 @@ };

@@ -177,3 +177,3 @@ /**

keywords: {
'meta-keyword':
keyword:
'const disable else elseif enable end externalsource if region then'

@@ -180,0 +180,0 @@ },

@@ -118,3 +118,3 @@ /*

keywords: {
'meta-keyword':
keyword:
'define __FILE__ ' +

@@ -121,0 +121,0 @@ '__LINE__ begin_keywords celldefine default_nettype define ' +

@@ -88,3 +88,3 @@ /**

{
className: 'meta-keyword',
className: 'keyword',
begin: /#?[a-z_][a-z1-9_-]+/,

@@ -100,6 +100,6 @@ illegal: /\n/

const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, {
className: 'meta-string'
className: 'string'
});
const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, {
className: 'meta-string'
className: 'string'
});

@@ -106,0 +106,0 @@ const TAG_INTERNALS = {

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

"homepage": "https://highlightjs.org/",
"version": "11.0.0-beta0",
"version": "11.0.0-beta1",
"author": {

@@ -58,8 +58,8 @@ "name": "Ivan Sagalaev",

"devDependencies": {
"@rollup/plugin-commonjs": "^18.0.0",
"@rollup/plugin-commonjs": "^19.0.0",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.1.0",
"@rollup/plugin-node-resolve": "^13.0.0",
"@types/mocha": "^8.2.2",
"@typescript-eslint/eslint-plugin": "^4.6.1",
"@typescript-eslint/parser": "^4.6.1",
"@typescript-eslint/eslint-plugin": "^4.23.0",
"@typescript-eslint/parser": "^4.23.0",
"clean-css": "^5.0.1",

@@ -73,8 +73,8 @@ "cli-table": "^0.3.1",

"dependency-resolver": "^2.0.1",
"eslint": "^7.12.1",
"eslint": "^7.26.0",
"eslint-config-standard": "^16.0.1",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"glob": "^7.1.6",
"eslint-plugin-promise": "^4.3.1",
"glob": "^7.1.7",
"glob-promise": "^4.0.1",

@@ -84,7 +84,7 @@ "handlebars": "^4.7.6",

"lodash": "^4.17.20",
"mocha": "^8.2.1",
"mocha": "^8.4.0",
"refa": "^0.4.1",
"rollup": "^2.33.1",
"rollup": "^2.47.0",
"should": "^13.2.3",
"terser": "^5.3.8",
"terser": "^5.7.0",
"tiny-worker": "^2.3.0",

@@ -91,0 +91,0 @@ "typescript": "^4.0.5"

@@ -61,3 +61,3 @@ # Highlight.js

#### Upgrading to Version 11 (currently in beta)
#### Upgrading to Version 11 (currently in final beta)

@@ -64,0 +64,0 @@ 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.

@@ -9,3 +9,3 @@ # Security Policy

| :-----: | :-: | :------ |
| 11.0 | :white_check_mark: | The 11.x series is currently in beta. <br>See [VERSION_11_UPGRADE.md](https://github.com/highlightjs/highlight.js/blob/master/VERSION_11_UPGRADE.md). |
| 11.0 | :white_check_mark: | The 11.x series is currently in final beta. <br>See [VERSION_11_UPGRADE.md](https://github.com/highlightjs/highlight.js/blob/master/VERSION_11_UPGRADE.md). |
| 10.7.1 | :white_check_mark: | The 10.x series recieves regular updates, new features & security fixes. |

@@ -12,0 +12,0 @@ | <= 10.4.0 | :x: | Known vulnerabities. |

@@ -133,2 +133,3 @@ /* eslint-disable no-unused-vars */

classPrefix: string
cssSelector: string
languages?: string[]

@@ -135,0 +136,0 @@ __emitter: EmitterConstructor

@@ -6,2 +6,3 @@ - [Overview of Breaking Changes](#overview-of-breaking-changes)

- [Styles and CSS](#styles-and-css)
- [Grammar Scopes](#grammar-scopes)
- [Behavioral changes](#behavioral-changes)

@@ -40,3 +41,3 @@ - [API changes](#api-changes)

- `c-like` has been removed. Use `c`, `cpp`, or `arduino`.
- `sql_more` has been removed. Use `sql` instead.
- `sql_more` has been removed. Use `sql` instead or a more specific 3rd party grammar.

@@ -48,3 +49,3 @@

- `php3`,`php4`,`php5`, `php6`, `php7`, and `php8` havbe been removed. Use `php` instead.
- `php3`,`php4`,`php5`, `php6`, `php7`, and `php8` have been removed. Use `php` instead.
- `zsh` has been removed. Use `sh` or `bash` instead.

@@ -64,4 +65,10 @@ - `freepascal`, `lazarus`, `lpr`, and `lpm` removed. Use `delphi` instead.

- `github` includes significant changes to more properly match modern GitHub syntax highlighting. If you desire the old theme you can manually copy it into your project from the [10-stable branch](https://github.com/highlightjs/highlight.js/tree/10-stable/src/styles).
- The `.hljs` CSS selector is now further scoped. It now targets `code.hljs` (inline code) and `pre code.hljs` (code blocks). If you are using a different element you may need to update your CSS to reapply some styling.
#### Grammar Scopes
- `.meta-string` removed/deprecated. Use `.meta .string` (a nested scope) instead. See [meta-keyword][].
- `.meta-keyword` removed/deprecated. Use `.meta .keyword` (a nested scope) instead. See [meta-keyword][].
### Behavioral changes

@@ -71,2 +78,3 @@

- The option `ignoreIllegals` is now `true` by default (for `highlight()`). Previously it was `false`.
- The `highlight(language,code, ...args)` API no longer accepts `continuation` as a 4th argument.

@@ -184,1 +192,3 @@ - The `highlight(language,code, ...args)` API is deprecated (to be removed in 12.0).

- The `regex` utility `join` has been renamed to `_eitherRewriteBackreferences` (this has always been intended for internal use only)
[meta-keyword]: https://github.com/highlightjs/highlight.js/pull/3167

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

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

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

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

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

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

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc