Comparing version 1.9.1 to 1.9.2
442
index.js
@@ -1,180 +0,266 @@ | ||
'use strict'; | ||
'use strict' | ||
var low = module.exports = require('./lib/core.js'); | ||
var low = require('./lib/core.js') | ||
low.registerLanguage('1c', require('highlight.js/lib/languages/1c')); | ||
low.registerLanguage('abnf', require('highlight.js/lib/languages/abnf')); | ||
low.registerLanguage('accesslog', require('highlight.js/lib/languages/accesslog')); | ||
low.registerLanguage('actionscript', require('highlight.js/lib/languages/actionscript')); | ||
low.registerLanguage('ada', require('highlight.js/lib/languages/ada')); | ||
low.registerLanguage('apache', require('highlight.js/lib/languages/apache')); | ||
low.registerLanguage('applescript', require('highlight.js/lib/languages/applescript')); | ||
low.registerLanguage('cpp', require('highlight.js/lib/languages/cpp')); | ||
low.registerLanguage('arduino', require('highlight.js/lib/languages/arduino')); | ||
low.registerLanguage('armasm', require('highlight.js/lib/languages/armasm')); | ||
low.registerLanguage('xml', require('highlight.js/lib/languages/xml')); | ||
low.registerLanguage('asciidoc', require('highlight.js/lib/languages/asciidoc')); | ||
low.registerLanguage('aspectj', require('highlight.js/lib/languages/aspectj')); | ||
low.registerLanguage('autohotkey', require('highlight.js/lib/languages/autohotkey')); | ||
low.registerLanguage('autoit', require('highlight.js/lib/languages/autoit')); | ||
low.registerLanguage('avrasm', require('highlight.js/lib/languages/avrasm')); | ||
low.registerLanguage('awk', require('highlight.js/lib/languages/awk')); | ||
low.registerLanguage('axapta', require('highlight.js/lib/languages/axapta')); | ||
low.registerLanguage('bash', require('highlight.js/lib/languages/bash')); | ||
low.registerLanguage('basic', require('highlight.js/lib/languages/basic')); | ||
low.registerLanguage('bnf', require('highlight.js/lib/languages/bnf')); | ||
low.registerLanguage('brainfuck', require('highlight.js/lib/languages/brainfuck')); | ||
low.registerLanguage('cal', require('highlight.js/lib/languages/cal')); | ||
low.registerLanguage('capnproto', require('highlight.js/lib/languages/capnproto')); | ||
low.registerLanguage('ceylon', require('highlight.js/lib/languages/ceylon')); | ||
low.registerLanguage('clean', require('highlight.js/lib/languages/clean')); | ||
low.registerLanguage('clojure', require('highlight.js/lib/languages/clojure')); | ||
low.registerLanguage('clojure-repl', require('highlight.js/lib/languages/clojure-repl')); | ||
low.registerLanguage('cmake', require('highlight.js/lib/languages/cmake')); | ||
low.registerLanguage('coffeescript', require('highlight.js/lib/languages/coffeescript')); | ||
low.registerLanguage('coq', require('highlight.js/lib/languages/coq')); | ||
low.registerLanguage('cos', require('highlight.js/lib/languages/cos')); | ||
low.registerLanguage('crmsh', require('highlight.js/lib/languages/crmsh')); | ||
low.registerLanguage('crystal', require('highlight.js/lib/languages/crystal')); | ||
low.registerLanguage('cs', require('highlight.js/lib/languages/cs')); | ||
low.registerLanguage('csp', require('highlight.js/lib/languages/csp')); | ||
low.registerLanguage('css', require('highlight.js/lib/languages/css')); | ||
low.registerLanguage('d', require('highlight.js/lib/languages/d')); | ||
low.registerLanguage('markdown', require('highlight.js/lib/languages/markdown')); | ||
low.registerLanguage('dart', require('highlight.js/lib/languages/dart')); | ||
low.registerLanguage('delphi', require('highlight.js/lib/languages/delphi')); | ||
low.registerLanguage('diff', require('highlight.js/lib/languages/diff')); | ||
low.registerLanguage('django', require('highlight.js/lib/languages/django')); | ||
low.registerLanguage('dns', require('highlight.js/lib/languages/dns')); | ||
low.registerLanguage('dockerfile', require('highlight.js/lib/languages/dockerfile')); | ||
low.registerLanguage('dos', require('highlight.js/lib/languages/dos')); | ||
low.registerLanguage('dsconfig', require('highlight.js/lib/languages/dsconfig')); | ||
low.registerLanguage('dts', require('highlight.js/lib/languages/dts')); | ||
low.registerLanguage('dust', require('highlight.js/lib/languages/dust')); | ||
low.registerLanguage('ebnf', require('highlight.js/lib/languages/ebnf')); | ||
low.registerLanguage('elixir', require('highlight.js/lib/languages/elixir')); | ||
low.registerLanguage('elm', require('highlight.js/lib/languages/elm')); | ||
low.registerLanguage('ruby', require('highlight.js/lib/languages/ruby')); | ||
low.registerLanguage('erb', require('highlight.js/lib/languages/erb')); | ||
low.registerLanguage('erlang-repl', require('highlight.js/lib/languages/erlang-repl')); | ||
low.registerLanguage('erlang', require('highlight.js/lib/languages/erlang')); | ||
low.registerLanguage('excel', require('highlight.js/lib/languages/excel')); | ||
low.registerLanguage('fix', require('highlight.js/lib/languages/fix')); | ||
low.registerLanguage('flix', require('highlight.js/lib/languages/flix')); | ||
low.registerLanguage('fortran', require('highlight.js/lib/languages/fortran')); | ||
low.registerLanguage('fsharp', require('highlight.js/lib/languages/fsharp')); | ||
low.registerLanguage('gams', require('highlight.js/lib/languages/gams')); | ||
low.registerLanguage('gauss', require('highlight.js/lib/languages/gauss')); | ||
low.registerLanguage('gcode', require('highlight.js/lib/languages/gcode')); | ||
low.registerLanguage('gherkin', require('highlight.js/lib/languages/gherkin')); | ||
low.registerLanguage('glsl', require('highlight.js/lib/languages/glsl')); | ||
low.registerLanguage('go', require('highlight.js/lib/languages/go')); | ||
low.registerLanguage('golo', require('highlight.js/lib/languages/golo')); | ||
low.registerLanguage('gradle', require('highlight.js/lib/languages/gradle')); | ||
low.registerLanguage('groovy', require('highlight.js/lib/languages/groovy')); | ||
low.registerLanguage('haml', require('highlight.js/lib/languages/haml')); | ||
low.registerLanguage('handlebars', require('highlight.js/lib/languages/handlebars')); | ||
low.registerLanguage('haskell', require('highlight.js/lib/languages/haskell')); | ||
low.registerLanguage('haxe', require('highlight.js/lib/languages/haxe')); | ||
low.registerLanguage('hsp', require('highlight.js/lib/languages/hsp')); | ||
low.registerLanguage('htmlbars', require('highlight.js/lib/languages/htmlbars')); | ||
low.registerLanguage('http', require('highlight.js/lib/languages/http')); | ||
low.registerLanguage('hy', require('highlight.js/lib/languages/hy')); | ||
low.registerLanguage('inform7', require('highlight.js/lib/languages/inform7')); | ||
low.registerLanguage('ini', require('highlight.js/lib/languages/ini')); | ||
low.registerLanguage('irpf90', require('highlight.js/lib/languages/irpf90')); | ||
low.registerLanguage('java', require('highlight.js/lib/languages/java')); | ||
low.registerLanguage('javascript', require('highlight.js/lib/languages/javascript')); | ||
low.registerLanguage('jboss-cli', require('highlight.js/lib/languages/jboss-cli')); | ||
low.registerLanguage('json', require('highlight.js/lib/languages/json')); | ||
low.registerLanguage('julia', require('highlight.js/lib/languages/julia')); | ||
low.registerLanguage('julia-repl', require('highlight.js/lib/languages/julia-repl')); | ||
low.registerLanguage('kotlin', require('highlight.js/lib/languages/kotlin')); | ||
low.registerLanguage('lasso', require('highlight.js/lib/languages/lasso')); | ||
low.registerLanguage('ldif', require('highlight.js/lib/languages/ldif')); | ||
low.registerLanguage('leaf', require('highlight.js/lib/languages/leaf')); | ||
low.registerLanguage('less', require('highlight.js/lib/languages/less')); | ||
low.registerLanguage('lisp', require('highlight.js/lib/languages/lisp')); | ||
low.registerLanguage('livecodeserver', require('highlight.js/lib/languages/livecodeserver')); | ||
low.registerLanguage('livescript', require('highlight.js/lib/languages/livescript')); | ||
low.registerLanguage('llvm', require('highlight.js/lib/languages/llvm')); | ||
low.registerLanguage('lsl', require('highlight.js/lib/languages/lsl')); | ||
low.registerLanguage('lua', require('highlight.js/lib/languages/lua')); | ||
low.registerLanguage('makefile', require('highlight.js/lib/languages/makefile')); | ||
low.registerLanguage('mathematica', require('highlight.js/lib/languages/mathematica')); | ||
low.registerLanguage('matlab', require('highlight.js/lib/languages/matlab')); | ||
low.registerLanguage('maxima', require('highlight.js/lib/languages/maxima')); | ||
low.registerLanguage('mel', require('highlight.js/lib/languages/mel')); | ||
low.registerLanguage('mercury', require('highlight.js/lib/languages/mercury')); | ||
low.registerLanguage('mipsasm', require('highlight.js/lib/languages/mipsasm')); | ||
low.registerLanguage('mizar', require('highlight.js/lib/languages/mizar')); | ||
low.registerLanguage('perl', require('highlight.js/lib/languages/perl')); | ||
low.registerLanguage('mojolicious', require('highlight.js/lib/languages/mojolicious')); | ||
low.registerLanguage('monkey', require('highlight.js/lib/languages/monkey')); | ||
low.registerLanguage('moonscript', require('highlight.js/lib/languages/moonscript')); | ||
low.registerLanguage('n1ql', require('highlight.js/lib/languages/n1ql')); | ||
low.registerLanguage('nginx', require('highlight.js/lib/languages/nginx')); | ||
low.registerLanguage('nimrod', require('highlight.js/lib/languages/nimrod')); | ||
low.registerLanguage('nix', require('highlight.js/lib/languages/nix')); | ||
low.registerLanguage('nsis', require('highlight.js/lib/languages/nsis')); | ||
low.registerLanguage('objectivec', require('highlight.js/lib/languages/objectivec')); | ||
low.registerLanguage('ocaml', require('highlight.js/lib/languages/ocaml')); | ||
low.registerLanguage('openscad', require('highlight.js/lib/languages/openscad')); | ||
low.registerLanguage('oxygene', require('highlight.js/lib/languages/oxygene')); | ||
low.registerLanguage('parser3', require('highlight.js/lib/languages/parser3')); | ||
low.registerLanguage('pf', require('highlight.js/lib/languages/pf')); | ||
low.registerLanguage('php', require('highlight.js/lib/languages/php')); | ||
low.registerLanguage('pony', require('highlight.js/lib/languages/pony')); | ||
low.registerLanguage('powershell', require('highlight.js/lib/languages/powershell')); | ||
low.registerLanguage('processing', require('highlight.js/lib/languages/processing')); | ||
low.registerLanguage('profile', require('highlight.js/lib/languages/profile')); | ||
low.registerLanguage('prolog', require('highlight.js/lib/languages/prolog')); | ||
low.registerLanguage('protobuf', require('highlight.js/lib/languages/protobuf')); | ||
low.registerLanguage('puppet', require('highlight.js/lib/languages/puppet')); | ||
low.registerLanguage('purebasic', require('highlight.js/lib/languages/purebasic')); | ||
low.registerLanguage('python', require('highlight.js/lib/languages/python')); | ||
low.registerLanguage('q', require('highlight.js/lib/languages/q')); | ||
low.registerLanguage('qml', require('highlight.js/lib/languages/qml')); | ||
low.registerLanguage('r', require('highlight.js/lib/languages/r')); | ||
low.registerLanguage('rib', require('highlight.js/lib/languages/rib')); | ||
low.registerLanguage('roboconf', require('highlight.js/lib/languages/roboconf')); | ||
low.registerLanguage('routeros', require('highlight.js/lib/languages/routeros')); | ||
low.registerLanguage('rsl', require('highlight.js/lib/languages/rsl')); | ||
low.registerLanguage('ruleslanguage', require('highlight.js/lib/languages/ruleslanguage')); | ||
low.registerLanguage('rust', require('highlight.js/lib/languages/rust')); | ||
low.registerLanguage('scala', require('highlight.js/lib/languages/scala')); | ||
low.registerLanguage('scheme', require('highlight.js/lib/languages/scheme')); | ||
low.registerLanguage('scilab', require('highlight.js/lib/languages/scilab')); | ||
low.registerLanguage('scss', require('highlight.js/lib/languages/scss')); | ||
low.registerLanguage('shell', require('highlight.js/lib/languages/shell')); | ||
low.registerLanguage('smali', require('highlight.js/lib/languages/smali')); | ||
low.registerLanguage('smalltalk', require('highlight.js/lib/languages/smalltalk')); | ||
low.registerLanguage('sml', require('highlight.js/lib/languages/sml')); | ||
low.registerLanguage('sqf', require('highlight.js/lib/languages/sqf')); | ||
low.registerLanguage('sql', require('highlight.js/lib/languages/sql')); | ||
low.registerLanguage('stan', require('highlight.js/lib/languages/stan')); | ||
low.registerLanguage('stata', require('highlight.js/lib/languages/stata')); | ||
low.registerLanguage('step21', require('highlight.js/lib/languages/step21')); | ||
low.registerLanguage('stylus', require('highlight.js/lib/languages/stylus')); | ||
low.registerLanguage('subunit', require('highlight.js/lib/languages/subunit')); | ||
low.registerLanguage('swift', require('highlight.js/lib/languages/swift')); | ||
low.registerLanguage('taggerscript', require('highlight.js/lib/languages/taggerscript')); | ||
low.registerLanguage('yaml', require('highlight.js/lib/languages/yaml')); | ||
low.registerLanguage('tap', require('highlight.js/lib/languages/tap')); | ||
low.registerLanguage('tcl', require('highlight.js/lib/languages/tcl')); | ||
low.registerLanguage('tex', require('highlight.js/lib/languages/tex')); | ||
low.registerLanguage('thrift', require('highlight.js/lib/languages/thrift')); | ||
low.registerLanguage('tp', require('highlight.js/lib/languages/tp')); | ||
low.registerLanguage('twig', require('highlight.js/lib/languages/twig')); | ||
low.registerLanguage('typescript', require('highlight.js/lib/languages/typescript')); | ||
low.registerLanguage('vala', require('highlight.js/lib/languages/vala')); | ||
low.registerLanguage('vbnet', require('highlight.js/lib/languages/vbnet')); | ||
low.registerLanguage('vbscript', require('highlight.js/lib/languages/vbscript')); | ||
low.registerLanguage('vbscript-html', require('highlight.js/lib/languages/vbscript-html')); | ||
low.registerLanguage('verilog', require('highlight.js/lib/languages/verilog')); | ||
low.registerLanguage('vhdl', require('highlight.js/lib/languages/vhdl')); | ||
low.registerLanguage('vim', require('highlight.js/lib/languages/vim')); | ||
low.registerLanguage('x86asm', require('highlight.js/lib/languages/x86asm')); | ||
low.registerLanguage('xl', require('highlight.js/lib/languages/xl')); | ||
low.registerLanguage('xquery', require('highlight.js/lib/languages/xquery')); | ||
low.registerLanguage('zephir', require('highlight.js/lib/languages/zephir')); | ||
module.exports = low | ||
low.registerLanguage('1c', require('highlight.js/lib/languages/1c')) | ||
low.registerLanguage('abnf', require('highlight.js/lib/languages/abnf')) | ||
low.registerLanguage( | ||
'accesslog', | ||
require('highlight.js/lib/languages/accesslog') | ||
) | ||
low.registerLanguage( | ||
'actionscript', | ||
require('highlight.js/lib/languages/actionscript') | ||
) | ||
low.registerLanguage('ada', require('highlight.js/lib/languages/ada')) | ||
low.registerLanguage('apache', require('highlight.js/lib/languages/apache')) | ||
low.registerLanguage( | ||
'applescript', | ||
require('highlight.js/lib/languages/applescript') | ||
) | ||
low.registerLanguage('cpp', require('highlight.js/lib/languages/cpp')) | ||
low.registerLanguage('arduino', require('highlight.js/lib/languages/arduino')) | ||
low.registerLanguage('armasm', require('highlight.js/lib/languages/armasm')) | ||
low.registerLanguage('xml', require('highlight.js/lib/languages/xml')) | ||
low.registerLanguage('asciidoc', require('highlight.js/lib/languages/asciidoc')) | ||
low.registerLanguage('aspectj', require('highlight.js/lib/languages/aspectj')) | ||
low.registerLanguage( | ||
'autohotkey', | ||
require('highlight.js/lib/languages/autohotkey') | ||
) | ||
low.registerLanguage('autoit', require('highlight.js/lib/languages/autoit')) | ||
low.registerLanguage('avrasm', require('highlight.js/lib/languages/avrasm')) | ||
low.registerLanguage('awk', require('highlight.js/lib/languages/awk')) | ||
low.registerLanguage('axapta', require('highlight.js/lib/languages/axapta')) | ||
low.registerLanguage('bash', require('highlight.js/lib/languages/bash')) | ||
low.registerLanguage('basic', require('highlight.js/lib/languages/basic')) | ||
low.registerLanguage('bnf', require('highlight.js/lib/languages/bnf')) | ||
low.registerLanguage( | ||
'brainfuck', | ||
require('highlight.js/lib/languages/brainfuck') | ||
) | ||
low.registerLanguage('cal', require('highlight.js/lib/languages/cal')) | ||
low.registerLanguage( | ||
'capnproto', | ||
require('highlight.js/lib/languages/capnproto') | ||
) | ||
low.registerLanguage('ceylon', require('highlight.js/lib/languages/ceylon')) | ||
low.registerLanguage('clean', require('highlight.js/lib/languages/clean')) | ||
low.registerLanguage('clojure', require('highlight.js/lib/languages/clojure')) | ||
low.registerLanguage( | ||
'clojure-repl', | ||
require('highlight.js/lib/languages/clojure-repl') | ||
) | ||
low.registerLanguage('cmake', require('highlight.js/lib/languages/cmake')) | ||
low.registerLanguage( | ||
'coffeescript', | ||
require('highlight.js/lib/languages/coffeescript') | ||
) | ||
low.registerLanguage('coq', require('highlight.js/lib/languages/coq')) | ||
low.registerLanguage('cos', require('highlight.js/lib/languages/cos')) | ||
low.registerLanguage('crmsh', require('highlight.js/lib/languages/crmsh')) | ||
low.registerLanguage('crystal', require('highlight.js/lib/languages/crystal')) | ||
low.registerLanguage('cs', require('highlight.js/lib/languages/cs')) | ||
low.registerLanguage('csp', require('highlight.js/lib/languages/csp')) | ||
low.registerLanguage('css', require('highlight.js/lib/languages/css')) | ||
low.registerLanguage('d', require('highlight.js/lib/languages/d')) | ||
low.registerLanguage('markdown', require('highlight.js/lib/languages/markdown')) | ||
low.registerLanguage('dart', require('highlight.js/lib/languages/dart')) | ||
low.registerLanguage('delphi', require('highlight.js/lib/languages/delphi')) | ||
low.registerLanguage('diff', require('highlight.js/lib/languages/diff')) | ||
low.registerLanguage('django', require('highlight.js/lib/languages/django')) | ||
low.registerLanguage('dns', require('highlight.js/lib/languages/dns')) | ||
low.registerLanguage( | ||
'dockerfile', | ||
require('highlight.js/lib/languages/dockerfile') | ||
) | ||
low.registerLanguage('dos', require('highlight.js/lib/languages/dos')) | ||
low.registerLanguage('dsconfig', require('highlight.js/lib/languages/dsconfig')) | ||
low.registerLanguage('dts', require('highlight.js/lib/languages/dts')) | ||
low.registerLanguage('dust', require('highlight.js/lib/languages/dust')) | ||
low.registerLanguage('ebnf', require('highlight.js/lib/languages/ebnf')) | ||
low.registerLanguage('elixir', require('highlight.js/lib/languages/elixir')) | ||
low.registerLanguage('elm', require('highlight.js/lib/languages/elm')) | ||
low.registerLanguage('ruby', require('highlight.js/lib/languages/ruby')) | ||
low.registerLanguage('erb', require('highlight.js/lib/languages/erb')) | ||
low.registerLanguage( | ||
'erlang-repl', | ||
require('highlight.js/lib/languages/erlang-repl') | ||
) | ||
low.registerLanguage('erlang', require('highlight.js/lib/languages/erlang')) | ||
low.registerLanguage('excel', require('highlight.js/lib/languages/excel')) | ||
low.registerLanguage('fix', require('highlight.js/lib/languages/fix')) | ||
low.registerLanguage('flix', require('highlight.js/lib/languages/flix')) | ||
low.registerLanguage('fortran', require('highlight.js/lib/languages/fortran')) | ||
low.registerLanguage('fsharp', require('highlight.js/lib/languages/fsharp')) | ||
low.registerLanguage('gams', require('highlight.js/lib/languages/gams')) | ||
low.registerLanguage('gauss', require('highlight.js/lib/languages/gauss')) | ||
low.registerLanguage('gcode', require('highlight.js/lib/languages/gcode')) | ||
low.registerLanguage('gherkin', require('highlight.js/lib/languages/gherkin')) | ||
low.registerLanguage('glsl', require('highlight.js/lib/languages/glsl')) | ||
low.registerLanguage('go', require('highlight.js/lib/languages/go')) | ||
low.registerLanguage('golo', require('highlight.js/lib/languages/golo')) | ||
low.registerLanguage('gradle', require('highlight.js/lib/languages/gradle')) | ||
low.registerLanguage('groovy', require('highlight.js/lib/languages/groovy')) | ||
low.registerLanguage('haml', require('highlight.js/lib/languages/haml')) | ||
low.registerLanguage( | ||
'handlebars', | ||
require('highlight.js/lib/languages/handlebars') | ||
) | ||
low.registerLanguage('haskell', require('highlight.js/lib/languages/haskell')) | ||
low.registerLanguage('haxe', require('highlight.js/lib/languages/haxe')) | ||
low.registerLanguage('hsp', require('highlight.js/lib/languages/hsp')) | ||
low.registerLanguage('htmlbars', require('highlight.js/lib/languages/htmlbars')) | ||
low.registerLanguage('http', require('highlight.js/lib/languages/http')) | ||
low.registerLanguage('hy', require('highlight.js/lib/languages/hy')) | ||
low.registerLanguage('inform7', require('highlight.js/lib/languages/inform7')) | ||
low.registerLanguage('ini', require('highlight.js/lib/languages/ini')) | ||
low.registerLanguage('irpf90', require('highlight.js/lib/languages/irpf90')) | ||
low.registerLanguage('java', require('highlight.js/lib/languages/java')) | ||
low.registerLanguage( | ||
'javascript', | ||
require('highlight.js/lib/languages/javascript') | ||
) | ||
low.registerLanguage( | ||
'jboss-cli', | ||
require('highlight.js/lib/languages/jboss-cli') | ||
) | ||
low.registerLanguage('json', require('highlight.js/lib/languages/json')) | ||
low.registerLanguage('julia', require('highlight.js/lib/languages/julia')) | ||
low.registerLanguage( | ||
'julia-repl', | ||
require('highlight.js/lib/languages/julia-repl') | ||
) | ||
low.registerLanguage('kotlin', require('highlight.js/lib/languages/kotlin')) | ||
low.registerLanguage('lasso', require('highlight.js/lib/languages/lasso')) | ||
low.registerLanguage('ldif', require('highlight.js/lib/languages/ldif')) | ||
low.registerLanguage('leaf', require('highlight.js/lib/languages/leaf')) | ||
low.registerLanguage('less', require('highlight.js/lib/languages/less')) | ||
low.registerLanguage('lisp', require('highlight.js/lib/languages/lisp')) | ||
low.registerLanguage( | ||
'livecodeserver', | ||
require('highlight.js/lib/languages/livecodeserver') | ||
) | ||
low.registerLanguage( | ||
'livescript', | ||
require('highlight.js/lib/languages/livescript') | ||
) | ||
low.registerLanguage('llvm', require('highlight.js/lib/languages/llvm')) | ||
low.registerLanguage('lsl', require('highlight.js/lib/languages/lsl')) | ||
low.registerLanguage('lua', require('highlight.js/lib/languages/lua')) | ||
low.registerLanguage('makefile', require('highlight.js/lib/languages/makefile')) | ||
low.registerLanguage( | ||
'mathematica', | ||
require('highlight.js/lib/languages/mathematica') | ||
) | ||
low.registerLanguage('matlab', require('highlight.js/lib/languages/matlab')) | ||
low.registerLanguage('maxima', require('highlight.js/lib/languages/maxima')) | ||
low.registerLanguage('mel', require('highlight.js/lib/languages/mel')) | ||
low.registerLanguage('mercury', require('highlight.js/lib/languages/mercury')) | ||
low.registerLanguage('mipsasm', require('highlight.js/lib/languages/mipsasm')) | ||
low.registerLanguage('mizar', require('highlight.js/lib/languages/mizar')) | ||
low.registerLanguage('perl', require('highlight.js/lib/languages/perl')) | ||
low.registerLanguage( | ||
'mojolicious', | ||
require('highlight.js/lib/languages/mojolicious') | ||
) | ||
low.registerLanguage('monkey', require('highlight.js/lib/languages/monkey')) | ||
low.registerLanguage( | ||
'moonscript', | ||
require('highlight.js/lib/languages/moonscript') | ||
) | ||
low.registerLanguage('n1ql', require('highlight.js/lib/languages/n1ql')) | ||
low.registerLanguage('nginx', require('highlight.js/lib/languages/nginx')) | ||
low.registerLanguage('nimrod', require('highlight.js/lib/languages/nimrod')) | ||
low.registerLanguage('nix', require('highlight.js/lib/languages/nix')) | ||
low.registerLanguage('nsis', require('highlight.js/lib/languages/nsis')) | ||
low.registerLanguage( | ||
'objectivec', | ||
require('highlight.js/lib/languages/objectivec') | ||
) | ||
low.registerLanguage('ocaml', require('highlight.js/lib/languages/ocaml')) | ||
low.registerLanguage('openscad', require('highlight.js/lib/languages/openscad')) | ||
low.registerLanguage('oxygene', require('highlight.js/lib/languages/oxygene')) | ||
low.registerLanguage('parser3', require('highlight.js/lib/languages/parser3')) | ||
low.registerLanguage('pf', require('highlight.js/lib/languages/pf')) | ||
low.registerLanguage('php', require('highlight.js/lib/languages/php')) | ||
low.registerLanguage('pony', require('highlight.js/lib/languages/pony')) | ||
low.registerLanguage( | ||
'powershell', | ||
require('highlight.js/lib/languages/powershell') | ||
) | ||
low.registerLanguage( | ||
'processing', | ||
require('highlight.js/lib/languages/processing') | ||
) | ||
low.registerLanguage('profile', require('highlight.js/lib/languages/profile')) | ||
low.registerLanguage('prolog', require('highlight.js/lib/languages/prolog')) | ||
low.registerLanguage('protobuf', require('highlight.js/lib/languages/protobuf')) | ||
low.registerLanguage('puppet', require('highlight.js/lib/languages/puppet')) | ||
low.registerLanguage( | ||
'purebasic', | ||
require('highlight.js/lib/languages/purebasic') | ||
) | ||
low.registerLanguage('python', require('highlight.js/lib/languages/python')) | ||
low.registerLanguage('q', require('highlight.js/lib/languages/q')) | ||
low.registerLanguage('qml', require('highlight.js/lib/languages/qml')) | ||
low.registerLanguage('r', require('highlight.js/lib/languages/r')) | ||
low.registerLanguage('rib', require('highlight.js/lib/languages/rib')) | ||
low.registerLanguage('roboconf', require('highlight.js/lib/languages/roboconf')) | ||
low.registerLanguage('routeros', require('highlight.js/lib/languages/routeros')) | ||
low.registerLanguage('rsl', require('highlight.js/lib/languages/rsl')) | ||
low.registerLanguage( | ||
'ruleslanguage', | ||
require('highlight.js/lib/languages/ruleslanguage') | ||
) | ||
low.registerLanguage('rust', require('highlight.js/lib/languages/rust')) | ||
low.registerLanguage('scala', require('highlight.js/lib/languages/scala')) | ||
low.registerLanguage('scheme', require('highlight.js/lib/languages/scheme')) | ||
low.registerLanguage('scilab', require('highlight.js/lib/languages/scilab')) | ||
low.registerLanguage('scss', require('highlight.js/lib/languages/scss')) | ||
low.registerLanguage('shell', require('highlight.js/lib/languages/shell')) | ||
low.registerLanguage('smali', require('highlight.js/lib/languages/smali')) | ||
low.registerLanguage( | ||
'smalltalk', | ||
require('highlight.js/lib/languages/smalltalk') | ||
) | ||
low.registerLanguage('sml', require('highlight.js/lib/languages/sml')) | ||
low.registerLanguage('sqf', require('highlight.js/lib/languages/sqf')) | ||
low.registerLanguage('sql', require('highlight.js/lib/languages/sql')) | ||
low.registerLanguage('stan', require('highlight.js/lib/languages/stan')) | ||
low.registerLanguage('stata', require('highlight.js/lib/languages/stata')) | ||
low.registerLanguage('step21', require('highlight.js/lib/languages/step21')) | ||
low.registerLanguage('stylus', require('highlight.js/lib/languages/stylus')) | ||
low.registerLanguage('subunit', require('highlight.js/lib/languages/subunit')) | ||
low.registerLanguage('swift', require('highlight.js/lib/languages/swift')) | ||
low.registerLanguage( | ||
'taggerscript', | ||
require('highlight.js/lib/languages/taggerscript') | ||
) | ||
low.registerLanguage('yaml', require('highlight.js/lib/languages/yaml')) | ||
low.registerLanguage('tap', require('highlight.js/lib/languages/tap')) | ||
low.registerLanguage('tcl', require('highlight.js/lib/languages/tcl')) | ||
low.registerLanguage('tex', require('highlight.js/lib/languages/tex')) | ||
low.registerLanguage('thrift', require('highlight.js/lib/languages/thrift')) | ||
low.registerLanguage('tp', require('highlight.js/lib/languages/tp')) | ||
low.registerLanguage('twig', require('highlight.js/lib/languages/twig')) | ||
low.registerLanguage( | ||
'typescript', | ||
require('highlight.js/lib/languages/typescript') | ||
) | ||
low.registerLanguage('vala', require('highlight.js/lib/languages/vala')) | ||
low.registerLanguage('vbnet', require('highlight.js/lib/languages/vbnet')) | ||
low.registerLanguage('vbscript', require('highlight.js/lib/languages/vbscript')) | ||
low.registerLanguage( | ||
'vbscript-html', | ||
require('highlight.js/lib/languages/vbscript-html') | ||
) | ||
low.registerLanguage('verilog', require('highlight.js/lib/languages/verilog')) | ||
low.registerLanguage('vhdl', require('highlight.js/lib/languages/vhdl')) | ||
low.registerLanguage('vim', require('highlight.js/lib/languages/vim')) | ||
low.registerLanguage('x86asm', require('highlight.js/lib/languages/x86asm')) | ||
low.registerLanguage('xl', require('highlight.js/lib/languages/xl')) | ||
low.registerLanguage('xquery', require('highlight.js/lib/languages/xquery')) | ||
low.registerLanguage('zephir', require('highlight.js/lib/languages/zephir')) |
525
lib/core.js
@@ -1,4 +0,5 @@ | ||
'use strict'; | ||
'use strict' | ||
var high = require('highlight.js/lib/highlight.js'); | ||
var high = require('highlight.js/lib/highlight.js') | ||
var fault = require('fault') | ||
@@ -11,33 +12,32 @@ /* The lowlight interface, which has to be compatible | ||
High.prototype = high; | ||
High.prototype = high | ||
/* Expose. */ | ||
var low = new High(); // Ha! | ||
var low = new High() // Ha! | ||
module.exports = low; | ||
module.exports = low | ||
low.highlight = highlight; | ||
low.highlightAuto = autoHighlight; | ||
low.registerLanguage = registerLanguage; | ||
low.getLanguage = getLanguage; | ||
low.highlight = highlight | ||
low.highlightAuto = autoHighlight | ||
low.registerLanguage = registerLanguage | ||
low.getLanguage = getLanguage | ||
var inherit = high.inherit; | ||
var own = {}.hasOwnProperty; | ||
var inherit = high.inherit | ||
var own = {}.hasOwnProperty | ||
var concat = [].concat | ||
var DEFAULT_PREFIX = 'hljs-'; | ||
var KEY_INSENSITIVE = 'case_insensitive'; | ||
var KEY_CACHED_VARIANTS = 'cached_variants'; | ||
var EMPTY = ''; | ||
var defaultPrefix = 'hljs-' | ||
var keyInsensitive = 'case_insensitive' | ||
var keyCachedVariants = 'cached_variants' | ||
var space = ' ' | ||
var pipe = '|' | ||
var C_SPACE = ' '; | ||
var C_PIPE = '|'; | ||
var T_ELEMENT = 'element' | ||
var T_TEXT = 'text' | ||
var T_SPAN = 'span' | ||
var T_ELEMENT = 'element'; | ||
var T_TEXT = 'text'; | ||
var T_SPAN = 'span'; | ||
/* Maps of syntaxes. */ | ||
var languageNames = []; | ||
var languages = {}; | ||
var aliases = {}; | ||
var languageNames = [] | ||
var languages = {} | ||
var aliases = {} | ||
@@ -50,3 +50,3 @@ /* Highlighting with language detection. Accepts a string | ||
* - relevance (int) | ||
* - value (an HTML string with highlighting markup) | ||
* - value (a HAST tree with highlighting markup) | ||
* - secondBest (object with the same structure for | ||
@@ -56,41 +56,41 @@ * second-best heuristically detected language, may | ||
function autoHighlight(value, options) { | ||
var settings = options || {}; | ||
var prefix = settings.prefix; | ||
var subset = settings.subset || languageNames; | ||
var length = subset.length; | ||
var index = -1; | ||
var result; | ||
var secondBest; | ||
var current; | ||
var name; | ||
var settings = options || {} | ||
var subset = settings.subset || languageNames | ||
var prefix = settings.prefix | ||
var length = subset.length | ||
var index = -1 | ||
var result | ||
var secondBest | ||
var current | ||
var name | ||
if (prefix === null || prefix === undefined) { | ||
prefix = DEFAULT_PREFIX; | ||
prefix = defaultPrefix | ||
} | ||
if (typeof value !== 'string') { | ||
throw new Error('Expected `string` for value, got `' + value + '`'); | ||
throw fault('Expected `string` for value, got `%s`', value) | ||
} | ||
secondBest = normalize({}); | ||
result = normalize({}); | ||
secondBest = normalize({}) | ||
result = normalize({}) | ||
while (++index < length) { | ||
name = subset[index]; | ||
name = subset[index] | ||
if (!getLanguage(name)) { | ||
continue; | ||
continue | ||
} | ||
current = normalize(coreHighlight(name, value, false, prefix)); | ||
current = normalize(coreHighlight(name, value, false, prefix)) | ||
current.language = name; | ||
current.language = name | ||
if (current.relevance > secondBest.relevance) { | ||
secondBest = current; | ||
secondBest = current | ||
} | ||
if (current.relevance > result.relevance) { | ||
secondBest = result; | ||
result = current; | ||
secondBest = result | ||
result = current | ||
} | ||
@@ -100,6 +100,6 @@ } | ||
if (secondBest.language) { | ||
result.secondBest = secondBest; | ||
result.secondBest = secondBest | ||
} | ||
return result; | ||
return result | ||
} | ||
@@ -109,10 +109,10 @@ | ||
function highlight(language, value, options) { | ||
var settings = options || {}; | ||
var prefix = settings.prefix; | ||
var settings = options || {} | ||
var prefix = settings.prefix | ||
if (prefix === null || prefix === undefined) { | ||
prefix = DEFAULT_PREFIX; | ||
prefix = defaultPrefix | ||
} | ||
return normalize(coreHighlight(language, value, true, prefix)); | ||
return normalize(coreHighlight(language, value, true, prefix)) | ||
} | ||
@@ -122,11 +122,13 @@ | ||
function registerLanguage(name, syntax) { | ||
var lang = languages[name] = syntax(low); | ||
var values = lang.aliases; | ||
var length = values && values.length; | ||
var index = -1; | ||
var lang = syntax(low) | ||
var values = lang.aliases | ||
var length = values && values.length | ||
var index = -1 | ||
languageNames.push(name); | ||
languages[name] = lang | ||
languageNames.push(name) | ||
while (++index < length) { | ||
aliases[values[index]] = name; | ||
aliases[values[index]] = name | ||
} | ||
@@ -139,52 +141,57 @@ } | ||
function coreHighlight(name, value, ignore, prefix, continuation) { | ||
var continuations = {}; | ||
var stack = []; | ||
var modeBuffer = EMPTY; | ||
var relevance = 0; | ||
var language; | ||
var top; | ||
var current; | ||
var currentChildren; | ||
var offset; | ||
var count; | ||
var match; | ||
var children; | ||
var continuations = {} | ||
var stack = [] | ||
var modeBuffer = '' | ||
var relevance = 0 | ||
var language | ||
var top | ||
var current | ||
var currentChildren | ||
var offset | ||
var count | ||
var match | ||
var children | ||
if (typeof name !== 'string') { | ||
throw new Error('Expected `string` for name, got `' + name + '`'); | ||
throw fault('Expected `string` for name, got `%s`', name) | ||
} | ||
if (typeof value !== 'string') { | ||
throw new Error('Expected `string` for value, got `' + value + '`'); | ||
throw fault('Expected `string` for value, got `%s`', value) | ||
} | ||
language = getLanguage(name); | ||
current = top = continuation || language; | ||
currentChildren = children = []; | ||
language = getLanguage(name) | ||
top = continuation || language | ||
children = [] | ||
current = top | ||
currentChildren = children | ||
if (!language) { | ||
throw new Error('Unknown language: `' + name + '` is not registered'); | ||
throw fault('Unknown language: `%s` is not registered', name) | ||
} | ||
compileLanguage(language); | ||
compileLanguage(language) | ||
try { | ||
offset = top.terminators.lastIndex = 0; | ||
match = top.terminators.exec(value); | ||
top.terminators.lastIndex = 0 | ||
offset = 0 | ||
match = top.terminators.exec(value) | ||
while (match) { | ||
count = processLexeme(value.substring(offset, match.index), match[0]); | ||
offset = top.terminators.lastIndex = match.index + count; | ||
match = top.terminators.exec(value); | ||
count = processLexeme(value.substring(offset, match.index), match[0]) | ||
offset = match.index + count | ||
top.terminators.lastIndex = offset | ||
match = top.terminators.exec(value) | ||
} | ||
processLexeme(value.substr(offset)); | ||
current = top; | ||
processLexeme(value.substr(offset)) | ||
current = top | ||
while (current.parent) { | ||
if (current.className) { | ||
pop(); | ||
pop() | ||
} | ||
current = current.parent; | ||
current = current.parent | ||
} | ||
@@ -197,10 +204,10 @@ | ||
top: top | ||
}; | ||
} | ||
} catch (err) { | ||
/* istanbul ignore if - Catch-all */ | ||
if (err.message.indexOf('Illegal') === -1) { | ||
throw err; | ||
throw err | ||
} | ||
return {relevance: 0, value: addText(value, [])}; | ||
return {relevance: 0, value: addText(value, [])} | ||
} | ||
@@ -210,34 +217,34 @@ | ||
function processLexeme(buffer, lexeme) { | ||
var newMode; | ||
var endMode; | ||
var origin; | ||
var newMode | ||
var endMode | ||
var origin | ||
modeBuffer += buffer; | ||
modeBuffer += buffer | ||
if (lexeme === undefined) { | ||
addSiblings(processBuffer(), currentChildren); | ||
addSiblings(processBuffer(), currentChildren) | ||
return 0; | ||
return 0 | ||
} | ||
newMode = subMode(lexeme, top); | ||
newMode = subMode(lexeme, top) | ||
if (newMode) { | ||
addSiblings(processBuffer(), currentChildren); | ||
addSiblings(processBuffer(), currentChildren) | ||
startNewMode(newMode, lexeme); | ||
startNewMode(newMode, lexeme) | ||
return newMode.returnBegin ? 0 : lexeme.length; | ||
return newMode.returnBegin ? 0 : lexeme.length | ||
} | ||
endMode = endOfMode(top, lexeme); | ||
endMode = endOfMode(top, lexeme) | ||
if (endMode) { | ||
origin = top; | ||
origin = top | ||
if (!(origin.returnEnd || origin.excludeEnd)) { | ||
modeBuffer += lexeme; | ||
modeBuffer += lexeme | ||
} | ||
addSiblings(processBuffer(), currentChildren); | ||
addSiblings(processBuffer(), currentChildren) | ||
@@ -247,27 +254,28 @@ /* Close open modes. */ | ||
if (top.className) { | ||
pop(); | ||
pop() | ||
} | ||
relevance += top.relevance; | ||
top = top.parent; | ||
} while (top !== endMode.parent); | ||
relevance += top.relevance | ||
top = top.parent | ||
} while (top !== endMode.parent) | ||
if (origin.excludeEnd) { | ||
addText(lexeme, currentChildren); | ||
addText(lexeme, currentChildren) | ||
} | ||
modeBuffer = EMPTY; | ||
modeBuffer = '' | ||
if (endMode.starts) { | ||
startNewMode(endMode.starts, EMPTY); | ||
startNewMode(endMode.starts, '') | ||
} | ||
return origin.returnEnd ? 0 : lexeme.length; | ||
return origin.returnEnd ? 0 : lexeme.length | ||
} | ||
if (isIllegal(lexeme, top)) { | ||
throw new Error( | ||
'Illegal lexeme "' + lexeme + '" for mode "' + | ||
(top.className || '<unnamed>') + '"' | ||
); | ||
throw fault( | ||
'Illegal lexeme "%s" for mode "%s"', | ||
lexeme, | ||
top.className || '<unnamed>' | ||
) | ||
} | ||
@@ -280,5 +288,5 @@ | ||
* prevent infinite looping. */ | ||
modeBuffer += lexeme; | ||
modeBuffer += lexeme | ||
return lexeme.length || /* istanbul ignore next */ 1; | ||
return lexeme.length || /* istanbul ignore next */ 1 | ||
} | ||
@@ -288,16 +296,16 @@ | ||
function startNewMode(mode, lexeme) { | ||
var node; | ||
var node | ||
if (mode.className) { | ||
node = build(mode.className, []); | ||
node = build(mode.className, []) | ||
} | ||
if (mode.returnBegin) { | ||
modeBuffer = EMPTY; | ||
modeBuffer = '' | ||
} else if (mode.excludeBegin) { | ||
addText(lexeme, currentChildren); | ||
addText(lexeme, currentChildren) | ||
modeBuffer = EMPTY; | ||
modeBuffer = '' | ||
} else { | ||
modeBuffer = lexeme; | ||
modeBuffer = lexeme | ||
} | ||
@@ -307,8 +315,8 @@ | ||
if (node) { | ||
currentChildren.push(node); | ||
stack.push(currentChildren); | ||
currentChildren = node.children; | ||
currentChildren.push(node) | ||
stack.push(currentChildren) | ||
currentChildren = node.children | ||
} | ||
top = Object.create(mode, {parent: {value: top}}); | ||
top = Object.create(mode, {parent: {value: top}}) | ||
} | ||
@@ -318,5 +326,5 @@ | ||
function processBuffer() { | ||
var result = top.subLanguage === undefined ? processKeywords() : processSubLanguage(); | ||
modeBuffer = EMPTY; | ||
return result; | ||
var result = top.subLanguage ? processSubLanguage() : processKeywords() | ||
modeBuffer = '' | ||
return result | ||
} | ||
@@ -326,8 +334,8 @@ | ||
function processSubLanguage() { | ||
var explicit = typeof top.subLanguage === 'string'; | ||
var subvalue; | ||
var explicit = typeof top.subLanguage === 'string' | ||
var subvalue | ||
/* istanbul ignore if - support non-loaded sublanguages */ | ||
if (explicit && !languages[top.subLanguage]) { | ||
return addText(modeBuffer, []); | ||
return addText(modeBuffer, []) | ||
} | ||
@@ -342,3 +350,3 @@ | ||
continuations[top.subLanguage] | ||
); | ||
) | ||
} else { | ||
@@ -348,3 +356,3 @@ subvalue = autoHighlight(modeBuffer, { | ||
prefix: prefix | ||
}); | ||
}) | ||
} | ||
@@ -359,10 +367,10 @@ | ||
if (top.relevance > 0) { | ||
relevance += subvalue.relevance; | ||
relevance += subvalue.relevance | ||
} | ||
if (explicit) { | ||
continuations[top.subLanguage] = subvalue.top; | ||
continuations[top.subLanguage] = subvalue.top | ||
} | ||
return [build(subvalue.language, subvalue.value, true)]; | ||
return [build(subvalue.language, subvalue.value, true)] | ||
} | ||
@@ -372,42 +380,42 @@ | ||
function processKeywords() { | ||
var nodes = []; | ||
var lastIndex; | ||
var keyword; | ||
var node; | ||
var submatch; | ||
var nodes = [] | ||
var lastIndex | ||
var keyword | ||
var node | ||
var submatch | ||
if (!top.keywords) { | ||
return addText(modeBuffer, nodes); | ||
return addText(modeBuffer, nodes) | ||
} | ||
lastIndex = 0; | ||
lastIndex = 0 | ||
top.lexemesRe.lastIndex = 0; | ||
top.lexemesRe.lastIndex = 0 | ||
keyword = top.lexemesRe.exec(modeBuffer); | ||
keyword = top.lexemesRe.exec(modeBuffer) | ||
while (keyword) { | ||
addText(modeBuffer.substring(lastIndex, keyword.index), nodes); | ||
addText(modeBuffer.substring(lastIndex, keyword.index), nodes) | ||
submatch = keywordMatch(top, keyword); | ||
submatch = keywordMatch(top, keyword) | ||
if (submatch) { | ||
relevance += submatch[1]; | ||
relevance += submatch[1] | ||
node = build(submatch[0], []); | ||
node = build(submatch[0], []) | ||
nodes.push(node); | ||
nodes.push(node) | ||
addText(keyword[0], node.children); | ||
addText(keyword[0], node.children) | ||
} else { | ||
addText(keyword[0], nodes); | ||
addText(keyword[0], nodes) | ||
} | ||
lastIndex = top.lexemesRe.lastIndex; | ||
keyword = top.lexemesRe.exec(modeBuffer); | ||
lastIndex = top.lexemesRe.lastIndex | ||
keyword = top.lexemesRe.exec(modeBuffer) | ||
} | ||
addText(modeBuffer.substr(lastIndex), nodes); | ||
addText(modeBuffer.substr(lastIndex), nodes) | ||
return nodes; | ||
return nodes | ||
} | ||
@@ -417,13 +425,13 @@ | ||
function addSiblings(siblings, nodes) { | ||
var length = siblings.length; | ||
var index = -1; | ||
var sibling; | ||
var length = siblings.length | ||
var index = -1 | ||
var sibling | ||
while (++index < length) { | ||
sibling = siblings[index]; | ||
sibling = siblings[index] | ||
if (sibling.type === T_TEXT) { | ||
addText(sibling.value, nodes); | ||
addText(sibling.value, nodes) | ||
} else { | ||
nodes.push(sibling); | ||
nodes.push(sibling) | ||
} | ||
@@ -435,15 +443,15 @@ } | ||
function addText(value, nodes) { | ||
var tail; | ||
var tail | ||
if (value) { | ||
tail = nodes[nodes.length - 1]; | ||
tail = nodes[nodes.length - 1] | ||
if (tail && tail.type === T_TEXT) { | ||
tail.value += value; | ||
tail.value += value | ||
} else { | ||
nodes.push(buildText(value)); | ||
nodes.push(buildText(value)) | ||
} | ||
} | ||
return nodes; | ||
return nodes | ||
} | ||
@@ -453,3 +461,3 @@ | ||
function buildText(value) { | ||
return {type: T_TEXT, value: value}; | ||
return {type: T_TEXT, value: value} | ||
} | ||
@@ -463,6 +471,6 @@ | ||
properties: { | ||
className: [(noPrefix ? EMPTY : prefix) + name] | ||
className: [(noPrefix ? '' : prefix) + name] | ||
}, | ||
children: contents | ||
}; | ||
} | ||
} | ||
@@ -472,9 +480,9 @@ | ||
function keywordMatch(mode, keywords) { | ||
var keyword = keywords[0]; | ||
var keyword = keywords[0] | ||
if (language[KEY_INSENSITIVE]) { | ||
keyword = keyword.toLowerCase(); | ||
if (language[keyInsensitive]) { | ||
keyword = keyword.toLowerCase() | ||
} | ||
return own.call(mode.keywords, keyword) && mode.keywords[keyword]; | ||
return own.call(mode.keywords, keyword) && mode.keywords[keyword] | ||
} | ||
@@ -484,3 +492,3 @@ | ||
function isIllegal(lexeme, mode) { | ||
return !ignore && test(mode.illegalRe, lexeme); | ||
return !ignore && test(mode.illegalRe, lexeme) | ||
} | ||
@@ -492,9 +500,10 @@ | ||
while (mode.endsParent && mode.parent) { | ||
mode = mode.parent; | ||
mode = mode.parent | ||
} | ||
return mode; | ||
return mode | ||
} | ||
if (mode.endsWithParent) { | ||
return endOfMode(mode.parent, lexeme); | ||
return endOfMode(mode.parent, lexeme) | ||
} | ||
@@ -505,9 +514,9 @@ } | ||
function subMode(lexeme, mode) { | ||
var values = mode.contains; | ||
var length = values.length; | ||
var index = -1; | ||
var values = mode.contains | ||
var length = values.length | ||
var index = -1 | ||
while (++index < length) { | ||
if (test(values[index].beginRe, lexeme)) { | ||
return values[index]; | ||
return values[index] | ||
} | ||
@@ -520,3 +529,3 @@ } | ||
/* istanbul ignore next - removed in hljs 9.3 */ | ||
currentChildren = stack.pop() || children; | ||
currentChildren = stack.pop() || children | ||
} | ||
@@ -526,9 +535,23 @@ } | ||
function expandMode(mode) { | ||
if (mode.variants && !mode[KEY_CACHED_VARIANTS]) { | ||
mode[KEY_CACHED_VARIANTS] = mode.variants.map(function (variant) { | ||
return inherit(mode, {variants: null}, variant); | ||
}); | ||
var length | ||
var index | ||
var variants | ||
var result | ||
if (mode.variants && !mode[keyCachedVariants]) { | ||
variants = mode.variants | ||
length = variants.length | ||
index = -1 | ||
result = [] | ||
while (++index < length) { | ||
result[index] = inherit(mode, {variants: null}, variants[index]) | ||
} | ||
mode[keyCachedVariants] = result | ||
} | ||
return mode[KEY_CACHED_VARIANTS] || (mode.endsWithParent && [inherit(mode)]) || [mode]; | ||
return ( | ||
mode[keyCachedVariants] || (mode.endsWithParent ? [inherit(mode)] : [mode]) | ||
) | ||
} | ||
@@ -538,54 +561,55 @@ | ||
function compileLanguage(language) { | ||
compileMode(language); | ||
compileMode(language) | ||
/* Compile a language mode, optionally with a parent. */ | ||
function compileMode(mode, parent) { | ||
var compiledKeywords = {}; | ||
var terminators; | ||
var compiledKeywords = {} | ||
var terminators | ||
if (mode.compiled) { | ||
return; | ||
return | ||
} | ||
mode.compiled = true; | ||
mode.compiled = true | ||
mode.keywords = mode.keywords || mode.beginKeywords; | ||
mode.keywords = mode.keywords || mode.beginKeywords | ||
if (mode.keywords) { | ||
if (typeof mode.keywords === 'string') { | ||
flatten('keyword', mode.keywords); | ||
flatten('keyword', mode.keywords) | ||
} else { | ||
Object.keys(mode.keywords).forEach(function (className) { | ||
flatten(className, mode.keywords[className]); | ||
}); | ||
Object.keys(mode.keywords).forEach(function(className) { | ||
flatten(className, mode.keywords[className]) | ||
}) | ||
} | ||
mode.keywords = compiledKeywords; | ||
mode.keywords = compiledKeywords | ||
} | ||
mode.lexemesRe = langRe(mode.lexemes || /\w+/, true); | ||
mode.lexemesRe = langRe(mode.lexemes || /\w+/, true) | ||
if (parent) { | ||
if (mode.beginKeywords) { | ||
mode.begin = '\\b(' + mode.beginKeywords.split(C_SPACE).join(C_PIPE) + ')\\b'; | ||
mode.begin = | ||
'\\b(' + mode.beginKeywords.split(space).join(pipe) + ')\\b' | ||
} | ||
if (!mode.begin) { | ||
mode.begin = /\B|\b/; | ||
mode.begin = /\B|\b/ | ||
} | ||
mode.beginRe = langRe(mode.begin); | ||
mode.beginRe = langRe(mode.begin) | ||
if (!mode.end && !mode.endsWithParent) { | ||
mode.end = /\B|\b/; | ||
mode.end = /\B|\b/ | ||
} | ||
if (mode.end) { | ||
mode.endRe = langRe(mode.end); | ||
mode.endRe = langRe(mode.end) | ||
} | ||
mode.terminatorEnd = source(mode.end) || EMPTY; | ||
mode.terminatorEnd = source(mode.end) || '' | ||
if (mode.endsWithParent && parent.terminatorEnd) { | ||
mode.terminatorEnd += (mode.end ? C_PIPE : EMPTY) + parent.terminatorEnd; | ||
mode.terminatorEnd += (mode.end ? pipe : '') + parent.terminatorEnd | ||
} | ||
@@ -595,59 +619,61 @@ } | ||
if (mode.illegal) { | ||
mode.illegalRe = langRe(mode.illegal); | ||
mode.illegalRe = langRe(mode.illegal) | ||
} | ||
if (mode.relevance === undefined) { | ||
mode.relevance = 1; | ||
mode.relevance = 1 | ||
} | ||
if (!mode.contains) { | ||
mode.contains = []; | ||
mode.contains = [] | ||
} | ||
mode.contains = Array.prototype.concat.apply([], mode.contains.map(function (c) { | ||
return expandMode(c === 'self' ? mode : c); | ||
})); | ||
mode.contains = concat.apply( | ||
[], | ||
mode.contains.map(function(c) { | ||
return expandMode(c === 'self' ? mode : c) | ||
}) | ||
) | ||
mode.contains.forEach(function (c) { | ||
compileMode(c, mode); | ||
}); | ||
mode.contains.forEach(function(c) { | ||
compileMode(c, mode) | ||
}) | ||
if (mode.starts) { | ||
compileMode(mode.starts, parent); | ||
compileMode(mode.starts, parent) | ||
} | ||
terminators = | ||
mode.contains.map(function (c) { | ||
return c.beginKeywords ? '\\.?(' + c.begin + ')\\.?' : c.begin; | ||
}) | ||
terminators = mode.contains | ||
.map(map) | ||
.concat([mode.terminatorEnd, mode.illegal]) | ||
.map(source) | ||
.filter(Boolean); | ||
.filter(Boolean) | ||
mode.terminators = terminators.length ? | ||
langRe(terminators.join(C_PIPE), true) : | ||
{exec: execNoop}; | ||
mode.terminators = terminators.length | ||
? langRe(terminators.join(pipe), true) | ||
: {exec: execNoop} | ||
function map(c) { | ||
return c.beginKeywords ? '\\.?(' + c.begin + ')\\.?' : c.begin | ||
} | ||
/* Flatten a classname. */ | ||
function flatten(className, value) { | ||
var pairs; | ||
var pair; | ||
var index; | ||
var length; | ||
var pairs | ||
var pair | ||
var index | ||
var length | ||
if (language[KEY_INSENSITIVE]) { | ||
value = value.toLowerCase(); | ||
if (language[keyInsensitive]) { | ||
value = value.toLowerCase() | ||
} | ||
pairs = value.split(C_SPACE); | ||
length = pairs.length; | ||
index = -1; | ||
pairs = value.split(space) | ||
length = pairs.length | ||
index = -1 | ||
while (++index < length) { | ||
pair = pairs[index].split(C_PIPE); | ||
pair = pairs[index].split(pipe) | ||
compiledKeywords[pair[0]] = [ | ||
className, | ||
pair[1] ? Number(pair[1]) : 1 | ||
]; | ||
compiledKeywords[pair[0]] = [className, pair[1] ? Number(pair[1]) : 1] | ||
} | ||
@@ -661,5 +687,4 @@ } | ||
source(value), | ||
'm' + (language[KEY_INSENSITIVE] ? 'i' : '') + | ||
(global ? 'g' : '') | ||
); | ||
'm' + (language[keyInsensitive] ? 'i' : '') + (global ? 'g' : '') | ||
) | ||
} | ||
@@ -669,3 +694,3 @@ | ||
function source(re) { | ||
return (re && re.source) || re; | ||
return (re && re.source) || re | ||
} | ||
@@ -680,3 +705,3 @@ } | ||
value: result.value || [] | ||
}; | ||
} | ||
} | ||
@@ -686,4 +711,4 @@ | ||
function test(expression, lexeme) { | ||
var match = expression && expression.exec(lexeme); | ||
return match && match.index === 0; | ||
var match = expression && expression.exec(lexeme) | ||
return match && match.index === 0 | ||
} | ||
@@ -693,3 +718,3 @@ | ||
function execNoop() { | ||
return null; | ||
return null | ||
} | ||
@@ -699,5 +724,5 @@ | ||
function getLanguage(name) { | ||
name = name.toLowerCase(); | ||
name = name.toLowerCase() | ||
return languages[name] || languages[aliases[name]]; | ||
return languages[name] || languages[aliases[name]] | ||
} |
{ | ||
"name": "lowlight", | ||
"version": "1.9.1", | ||
"version": "1.9.2", | ||
"description": "Virtual syntax highlighting for virtual DOMs and non-HTML things", | ||
@@ -28,41 +28,45 @@ "license": "MIT", | ||
"dependencies": { | ||
"fault": "^1.0.2", | ||
"highlight.js": "~9.12.0" | ||
}, | ||
"devDependencies": { | ||
"browserify": "^14.0.0", | ||
"browserify": "^16.0.0", | ||
"chalk": "^2.0.0", | ||
"esmangle": "^1.0.0", | ||
"rehype": "5.0.0", | ||
"nyc": "^11.0.0", | ||
"remark-cli": "^4.0.0", | ||
"remark-preset-wooorm": "^3.0.0", | ||
"prettier": "^1.12.0", | ||
"rehype": "^5.0.0", | ||
"remark-cli": "^5.0.0", | ||
"remark-preset-wooorm": "^4.0.0", | ||
"tape": "^4.0.0", | ||
"unist-util-visit": "^1.0.0", | ||
"xo": "^0.18.0" | ||
"xo": "^0.20.0" | ||
}, | ||
"scripts": { | ||
"build-registry": "node script/build-registry", | ||
"build-md": "remark . -qfo", | ||
"generate": "node script/build-registry", | ||
"format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", | ||
"build-bundle": "browserify index.js --bare -s lowlight > lowlight.js", | ||
"build-mangle": "esmangle lowlight.js > lowlight.min.js", | ||
"build": "npm run build-registry && npm run build-md && npm run build-bundle && npm run build-mangle", | ||
"lint": "xo", | ||
"build": "npm run build-bundle && npm run build-mangle", | ||
"test-api": "node test", | ||
"test-coverage": "nyc --reporter lcov tape test/index.js", | ||
"test": "npm run build && npm run lint && npm run test-coverage" | ||
"test": "npm run generate && npm run format && npm run build && npm run test-coverage" | ||
}, | ||
"nyc": { | ||
"check-coverage": true, | ||
"lines": 100, | ||
"functions": 100, | ||
"branches": 100 | ||
"prettier": { | ||
"tabWidth": 2, | ||
"useTabs": false, | ||
"singleQuote": true, | ||
"bracketSpacing": false, | ||
"semi": false, | ||
"trailingComma": "none" | ||
}, | ||
"xo": { | ||
"space": true, | ||
"prettier": true, | ||
"esnext": false, | ||
"rules": { | ||
"unicorn/prefer-type-error": "off", | ||
"no-multi-assign": "off", | ||
"max-lines": "off", | ||
"max-params": "off" | ||
"complexity": "off", | ||
"max-params": "off", | ||
"object-shorthand": "off", | ||
"prefer-arrow-callback": "off", | ||
"no-var": "off" | ||
}, | ||
@@ -77,3 +81,9 @@ "ignores": [ | ||
] | ||
}, | ||
"nyc": { | ||
"check-coverage": true, | ||
"lines": 100, | ||
"functions": 100, | ||
"branches": 100 | ||
} | ||
} |
@@ -43,2 +43,4 @@ # lowlight [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov] | ||
var ast = low.highlight('js', '"use strict";').value; | ||
console.log(ast); | ||
``` | ||
@@ -61,2 +63,4 @@ | ||
var html = rehype().stringify({type: 'root', children: ast}).toString(); | ||
console.log(html); | ||
``` | ||
@@ -80,2 +84,19 @@ | ||
###### Example | ||
```js | ||
var low = require('lowlight/lib/core'); | ||
var xml = require('highlight.js/lib/languages/xml'); | ||
low.registerLanguage('xml', xml); | ||
console.log(low.highlight('html', '<em>Emphasis</em>')); | ||
``` | ||
Yields: | ||
```js | ||
{ relevance: 2, language: 'html', value: [Array] } | ||
``` | ||
### `low.highlight(language, value[, options])` | ||
@@ -93,2 +114,16 @@ | ||
###### Example | ||
```js | ||
var low = require('lowlight'); | ||
console.log(low.highlight('css', 'em { color: red }')); | ||
``` | ||
Yields: | ||
```js | ||
{ relevance: 4, language: 'css', value: [Array] } | ||
``` | ||
### `low.highlightAuto(value[, options])` | ||
@@ -108,2 +143,19 @@ | ||
###### Example | ||
```js | ||
var low = require('lowlight'); | ||
console.log(low.highlightAuto('"hello, " + name + "!"')); | ||
``` | ||
Yields: | ||
```js | ||
{ relevance: 3, | ||
language: 'applescript', | ||
value: [Array], | ||
secondBest: { relevance: 3, language: 'basic', value: [Array] } } | ||
``` | ||
### `Result` | ||
@@ -157,6 +209,6 @@ | ||
— [React][] component for syntax highlighting | ||
* [`rehype-highlight`](https://github.com/wooorm/rehype-highlight) | ||
— Syntax highlighting in [**rehype**](https://github.com/wooorm/rehype) | ||
* [`rehype-highlight`](https://github.com/rehypejs/rehype-highlight) | ||
— Syntax highlighting in [**rehype**](https://github.com/rehypejs/rehype) | ||
* [`remark-highlight.js`](https://github.com/ben-eb/remark-highlight.js) | ||
— Syntax highlighting in [**remark**](https://github.com/wooorm/remark) | ||
— Syntax highlighting in [**remark**](https://github.com/remarkjs/remark) | ||
@@ -183,5 +235,5 @@ ## License | ||
[rehype]: https://github.com/wooorm/rehype | ||
[rehype]: https://github.com/rehypejs/rehype | ||
[hast-node]: https://github.com/wooorm/hast#ast | ||
[hast-node]: https://github.com/syntax-tree/hast#ast | ||
@@ -198,3 +250,3 @@ [highlight.js]: https://github.com/isagalaev/highlight.js | ||
[to-hyperscript]: https://github.com/wooorm/hast-to-hyperscript | ||
[to-hyperscript]: https://github.com/syntax-tree/hast-to-hyperscript | ||
@@ -201,0 +253,0 @@ [browser]: #browser |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
38046
802
252
2
11
1
+ Addedfault@^1.0.2
+ Addedfault@1.0.4(transitive)
+ Addedformat@0.2.2(transitive)