From 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 24 May 2017 15:10:37 +0200 Subject: fix build issues and add typedoc --- node_modules/highlight.js/LICENSE | 24 + node_modules/highlight.js/README.md | 150 +++ node_modules/highlight.js/docs/api.rst | 120 +++ .../highlight.js/docs/building-testing.rst | 88 ++ .../highlight.js/docs/css-classes-reference.rst | 432 +++++++++ node_modules/highlight.js/docs/index.rst | 44 + .../highlight.js/docs/language-contribution.rst | 78 ++ node_modules/highlight.js/docs/language-guide.rst | 264 ++++++ .../highlight.js/docs/language-requests.rst | 17 + node_modules/highlight.js/docs/line-numbers.rst | 39 + node_modules/highlight.js/docs/reference.rst | 324 +++++++ node_modules/highlight.js/docs/release-process.rst | 20 + node_modules/highlight.js/docs/style-guide.rst | 107 +++ node_modules/highlight.js/lib/highlight.js | 816 ++++++++++++++++ node_modules/highlight.js/lib/index.js | 178 ++++ node_modules/highlight.js/lib/languages/1c.js | 78 ++ node_modules/highlight.js/lib/languages/abnf.js | 70 ++ .../highlight.js/lib/languages/accesslog.js | 37 + .../highlight.js/lib/languages/actionscript.js | 73 ++ node_modules/highlight.js/lib/languages/ada.js | 172 ++++ node_modules/highlight.js/lib/languages/apache.js | 45 + .../highlight.js/lib/languages/applescript.js | 85 ++ node_modules/highlight.js/lib/languages/arduino.js | 99 ++ node_modules/highlight.js/lib/languages/armasm.js | 91 ++ .../highlight.js/lib/languages/asciidoc.js | 187 ++++ node_modules/highlight.js/lib/languages/aspectj.js | 144 +++ .../highlight.js/lib/languages/autohotkey.js | 47 + node_modules/highlight.js/lib/languages/autoit.js | 135 +++ node_modules/highlight.js/lib/languages/avrasm.js | 61 ++ node_modules/highlight.js/lib/languages/awk.js | 52 + node_modules/highlight.js/lib/languages/axapta.js | 30 + node_modules/highlight.js/lib/languages/bash.js | 74 ++ node_modules/highlight.js/lib/languages/basic.js | 50 + node_modules/highlight.js/lib/languages/bnf.js | 28 + .../highlight.js/lib/languages/brainfuck.js | 36 + node_modules/highlight.js/lib/languages/cal.js | 79 ++ .../highlight.js/lib/languages/capnproto.js | 48 + node_modules/highlight.js/lib/languages/ceylon.js | 66 ++ node_modules/highlight.js/lib/languages/clean.js | 24 + .../highlight.js/lib/languages/clojure-repl.js | 14 + node_modules/highlight.js/lib/languages/clojure.js | 94 ++ node_modules/highlight.js/lib/languages/cmake.js | 37 + .../highlight.js/lib/languages/coffeescript.js | 145 +++ node_modules/highlight.js/lib/languages/coq.js | 66 ++ node_modules/highlight.js/lib/languages/cos.js | 123 +++ node_modules/highlight.js/lib/languages/cpp.js | 174 ++++ node_modules/highlight.js/lib/languages/crmsh.js | 93 ++ node_modules/highlight.js/lib/languages/crystal.js | 176 ++++ node_modules/highlight.js/lib/languages/cs.js | 166 ++++ node_modules/highlight.js/lib/languages/csp.js | 21 + node_modules/highlight.js/lib/languages/css.js | 104 ++ node_modules/highlight.js/lib/languages/d.js | 257 +++++ node_modules/highlight.js/lib/languages/dart.js | 100 ++ node_modules/highlight.js/lib/languages/delphi.js | 68 ++ node_modules/highlight.js/lib/languages/diff.js | 39 + node_modules/highlight.js/lib/languages/django.js | 63 ++ node_modules/highlight.js/lib/languages/dns.js | 28 + .../highlight.js/lib/languages/dockerfile.js | 21 + node_modules/highlight.js/lib/languages/dos.js | 51 + .../highlight.js/lib/languages/dsconfig.js | 46 + node_modules/highlight.js/lib/languages/dts.js | 123 +++ node_modules/highlight.js/lib/languages/dust.js | 31 + node_modules/highlight.js/lib/languages/ebnf.js | 32 + node_modules/highlight.js/lib/languages/elixir.js | 96 ++ node_modules/highlight.js/lib/languages/elm.js | 83 ++ node_modules/highlight.js/lib/languages/erb.js | 14 + .../highlight.js/lib/languages/erlang-repl.js | 45 + node_modules/highlight.js/lib/languages/erlang.js | 145 +++ node_modules/highlight.js/lib/languages/excel.js | 47 + node_modules/highlight.js/lib/languages/fix.js | 28 + node_modules/highlight.js/lib/languages/flix.js | 44 + node_modules/highlight.js/lib/languages/fortran.js | 70 ++ node_modules/highlight.js/lib/languages/fsharp.js | 58 ++ node_modules/highlight.js/lib/languages/gams.js | 153 +++ node_modules/highlight.js/lib/languages/gauss.js | 223 +++++ node_modules/highlight.js/lib/languages/gcode.js | 66 ++ node_modules/highlight.js/lib/languages/gherkin.js | 36 + node_modules/highlight.js/lib/languages/glsl.js | 116 +++ node_modules/highlight.js/lib/languages/go.js | 53 ++ node_modules/highlight.js/lib/languages/golo.js | 22 + node_modules/highlight.js/lib/languages/gradle.js | 34 + node_modules/highlight.js/lib/languages/groovy.js | 93 ++ node_modules/highlight.js/lib/languages/haml.js | 106 +++ .../highlight.js/lib/languages/handlebars.js | 33 + node_modules/highlight.js/lib/languages/haskell.js | 121 +++ node_modules/highlight.js/lib/languages/haxe.js | 111 +++ node_modules/highlight.js/lib/languages/hsp.js | 45 + .../highlight.js/lib/languages/htmlbars.js | 70 ++ node_modules/highlight.js/lib/languages/http.js | 40 + node_modules/highlight.js/lib/languages/hy.js | 101 ++ node_modules/highlight.js/lib/languages/inform7.js | 56 ++ node_modules/highlight.js/lib/languages/ini.js | 65 ++ node_modules/highlight.js/lib/languages/irpf90.js | 75 ++ node_modules/highlight.js/lib/languages/java.js | 107 +++ .../highlight.js/lib/languages/javascript.js | 170 ++++ .../highlight.js/lib/languages/jboss-cli.js | 46 + node_modules/highlight.js/lib/languages/json.js | 36 + node_modules/highlight.js/lib/languages/julia.js | 177 ++++ node_modules/highlight.js/lib/languages/kotlin.js | 173 ++++ node_modules/highlight.js/lib/languages/lasso.js | 162 ++++ node_modules/highlight.js/lib/languages/ldif.js | 22 + node_modules/highlight.js/lib/languages/leaf.js | 39 + node_modules/highlight.js/lib/languages/less.js | 139 +++ node_modules/highlight.js/lib/languages/lisp.js | 102 ++ .../highlight.js/lib/languages/livecodeserver.js | 156 +++ .../highlight.js/lib/languages/livescript.js | 148 +++ node_modules/highlight.js/lib/languages/llvm.js | 88 ++ node_modules/highlight.js/lib/languages/lsl.js | 82 ++ node_modules/highlight.js/lib/languages/lua.js | 65 ++ .../highlight.js/lib/languages/makefile.js | 80 ++ .../highlight.js/lib/languages/markdown.js | 107 +++ .../highlight.js/lib/languages/mathematica.js | 57 ++ node_modules/highlight.js/lib/languages/matlab.js | 87 ++ node_modules/highlight.js/lib/languages/maxima.js | 405 ++++++++ node_modules/highlight.js/lib/languages/mel.js | 224 +++++ node_modules/highlight.js/lib/languages/mercury.js | 81 ++ node_modules/highlight.js/lib/languages/mipsasm.js | 85 ++ node_modules/highlight.js/lib/languages/mizar.js | 18 + .../highlight.js/lib/languages/mojolicious.js | 24 + node_modules/highlight.js/lib/languages/monkey.js | 74 ++ .../highlight.js/lib/languages/moonscript.js | 111 +++ node_modules/highlight.js/lib/languages/n1ql.js | 68 ++ node_modules/highlight.js/lib/languages/nginx.js | 92 ++ node_modules/highlight.js/lib/languages/nimrod.js | 54 ++ node_modules/highlight.js/lib/languages/nix.js | 48 + node_modules/highlight.js/lib/languages/nsis.js | 105 ++ .../highlight.js/lib/languages/objectivec.js | 90 ++ node_modules/highlight.js/lib/languages/ocaml.js | 70 ++ .../highlight.js/lib/languages/openscad.js | 56 ++ node_modules/highlight.js/lib/languages/oxygene.js | 69 ++ node_modules/highlight.js/lib/languages/parser3.js | 47 + node_modules/highlight.js/lib/languages/perl.js | 156 +++ node_modules/highlight.js/lib/languages/pf.js | 51 + node_modules/highlight.js/lib/languages/php.js | 126 +++ node_modules/highlight.js/lib/languages/pony.js | 90 ++ .../highlight.js/lib/languages/powershell.js | 80 ++ .../highlight.js/lib/languages/processing.js | 47 + node_modules/highlight.js/lib/languages/profile.js | 29 + node_modules/highlight.js/lib/languages/prolog.js | 87 ++ .../highlight.js/lib/languages/protobuf.js | 35 + node_modules/highlight.js/lib/languages/puppet.js | 114 +++ .../highlight.js/lib/languages/purebasic.js | 57 ++ node_modules/highlight.js/lib/languages/python.js | 115 +++ node_modules/highlight.js/lib/languages/q.js | 22 + node_modules/highlight.js/lib/languages/qml.js | 168 ++++ node_modules/highlight.js/lib/languages/r.js | 69 ++ node_modules/highlight.js/lib/languages/rib.js | 26 + .../highlight.js/lib/languages/roboconf.js | 66 ++ node_modules/highlight.js/lib/languages/rsl.js | 35 + node_modules/highlight.js/lib/languages/ruby.js | 176 ++++ .../highlight.js/lib/languages/ruleslanguage.js | 60 ++ node_modules/highlight.js/lib/languages/rust.js | 107 +++ node_modules/highlight.js/lib/languages/scala.js | 114 +++ node_modules/highlight.js/lib/languages/scheme.js | 143 +++ node_modules/highlight.js/lib/languages/scilab.js | 53 ++ node_modules/highlight.js/lib/languages/scss.js | 97 ++ node_modules/highlight.js/lib/languages/shell.js | 14 + node_modules/highlight.js/lib/languages/smali.js | 55 ++ .../highlight.js/lib/languages/smalltalk.js | 49 + node_modules/highlight.js/lib/languages/sml.js | 65 ++ node_modules/highlight.js/lib/languages/sqf.js | 370 ++++++++ node_modules/highlight.js/lib/languages/sql.js | 159 ++++ node_modules/highlight.js/lib/languages/stan.js | 82 ++ node_modules/highlight.js/lib/languages/stata.js | 37 + node_modules/highlight.js/lib/languages/step21.js | 46 + node_modules/highlight.js/lib/languages/stylus.js | 453 +++++++++ node_modules/highlight.js/lib/languages/subunit.js | 33 + node_modules/highlight.js/lib/languages/swift.js | 116 +++ .../highlight.js/lib/languages/taggerscript.js | 43 + node_modules/highlight.js/lib/languages/tap.js | 35 + node_modules/highlight.js/lib/languages/tcl.js | 60 ++ node_modules/highlight.js/lib/languages/tex.js | 61 ++ node_modules/highlight.js/lib/languages/thrift.js | 34 + node_modules/highlight.js/lib/languages/tp.js | 83 ++ node_modules/highlight.js/lib/languages/twig.js | 65 ++ .../highlight.js/lib/languages/typescript.js | 155 +++ node_modules/highlight.js/lib/languages/vala.js | 49 + node_modules/highlight.js/lib/languages/vbnet.js | 55 ++ .../highlight.js/lib/languages/vbscript-html.js | 11 + .../highlight.js/lib/languages/vbscript.js | 38 + node_modules/highlight.js/lib/languages/verilog.js | 98 ++ node_modules/highlight.js/lib/languages/vhdl.js | 60 ++ node_modules/highlight.js/lib/languages/vim.js | 105 ++ node_modules/highlight.js/lib/languages/x86asm.js | 135 +++ node_modules/highlight.js/lib/languages/xl.js | 72 ++ node_modules/highlight.js/lib/languages/xml.js | 102 ++ node_modules/highlight.js/lib/languages/xquery.js | 70 ++ node_modules/highlight.js/lib/languages/yaml.js | 87 ++ node_modules/highlight.js/lib/languages/zephir.js | 106 +++ node_modules/highlight.js/package.json | 1002 ++++++++++++++++++++ node_modules/highlight.js/styles/agate.css | 108 +++ node_modules/highlight.js/styles/androidstudio.css | 66 ++ node_modules/highlight.js/styles/arduino-light.css | 88 ++ node_modules/highlight.js/styles/arta.css | 73 ++ node_modules/highlight.js/styles/ascetic.css | 45 + .../highlight.js/styles/atelier-cave-dark.css | 83 ++ .../highlight.js/styles/atelier-cave-light.css | 85 ++ .../highlight.js/styles/atelier-dune-dark.css | 69 ++ .../highlight.js/styles/atelier-dune-light.css | 69 ++ .../highlight.js/styles/atelier-estuary-dark.css | 84 ++ .../highlight.js/styles/atelier-estuary-light.css | 84 ++ .../highlight.js/styles/atelier-forest-dark.css | 69 ++ .../highlight.js/styles/atelier-forest-light.css | 69 ++ .../highlight.js/styles/atelier-heath-dark.css | 69 ++ .../highlight.js/styles/atelier-heath-light.css | 69 ++ .../highlight.js/styles/atelier-lakeside-dark.css | 69 ++ .../highlight.js/styles/atelier-lakeside-light.css | 69 ++ .../highlight.js/styles/atelier-plateau-dark.css | 84 ++ .../highlight.js/styles/atelier-plateau-light.css | 84 ++ .../highlight.js/styles/atelier-savanna-dark.css | 84 ++ .../highlight.js/styles/atelier-savanna-light.css | 84 ++ .../highlight.js/styles/atelier-seaside-dark.css | 69 ++ .../highlight.js/styles/atelier-seaside-light.css | 69 ++ .../styles/atelier-sulphurpool-dark.css | 69 ++ .../styles/atelier-sulphurpool-light.css | 69 ++ node_modules/highlight.js/styles/atom-one-dark.css | 96 ++ .../highlight.js/styles/atom-one-light.css | 96 ++ node_modules/highlight.js/styles/brown-paper.css | 64 ++ node_modules/highlight.js/styles/brown-papersq.png | Bin 0 -> 18198 bytes node_modules/highlight.js/styles/codepen-embed.css | 60 ++ node_modules/highlight.js/styles/color-brewer.css | 71 ++ node_modules/highlight.js/styles/darcula.css | 77 ++ node_modules/highlight.js/styles/dark.css | 63 ++ node_modules/highlight.js/styles/darkula.css | 6 + node_modules/highlight.js/styles/default.css | 99 ++ node_modules/highlight.js/styles/docco.css | 97 ++ node_modules/highlight.js/styles/dracula.css | 76 ++ node_modules/highlight.js/styles/far.css | 71 ++ node_modules/highlight.js/styles/foundation.css | 88 ++ node_modules/highlight.js/styles/github-gist.css | 71 ++ node_modules/highlight.js/styles/github.css | 99 ++ node_modules/highlight.js/styles/googlecode.css | 89 ++ node_modules/highlight.js/styles/grayscale.css | 101 ++ node_modules/highlight.js/styles/gruvbox-dark.css | 108 +++ node_modules/highlight.js/styles/gruvbox-light.css | 108 +++ node_modules/highlight.js/styles/hopscotch.css | 83 ++ node_modules/highlight.js/styles/hybrid.css | 102 ++ node_modules/highlight.js/styles/idea.css | 97 ++ node_modules/highlight.js/styles/ir-black.css | 73 ++ node_modules/highlight.js/styles/kimbie.dark.css | 74 ++ node_modules/highlight.js/styles/kimbie.light.css | 74 ++ node_modules/highlight.js/styles/magula.css | 70 ++ node_modules/highlight.js/styles/mono-blue.css | 59 ++ .../highlight.js/styles/monokai-sublime.css | 83 ++ node_modules/highlight.js/styles/monokai.css | 70 ++ node_modules/highlight.js/styles/obsidian.css | 88 ++ node_modules/highlight.js/styles/ocean.css | 74 ++ node_modules/highlight.js/styles/paraiso-dark.css | 72 ++ node_modules/highlight.js/styles/paraiso-light.css | 72 ++ node_modules/highlight.js/styles/pojoaque.css | 83 ++ node_modules/highlight.js/styles/pojoaque.jpg | Bin 0 -> 1186 bytes node_modules/highlight.js/styles/purebasic.css | 96 ++ .../highlight.js/styles/qtcreator_dark.css | 83 ++ .../highlight.js/styles/qtcreator_light.css | 83 ++ node_modules/highlight.js/styles/railscasts.css | 106 +++ node_modules/highlight.js/styles/rainbow.css | 85 ++ node_modules/highlight.js/styles/school-book.css | 72 ++ node_modules/highlight.js/styles/school-book.png | Bin 0 -> 486 bytes .../highlight.js/styles/solarized-dark.css | 84 ++ .../highlight.js/styles/solarized-light.css | 84 ++ node_modules/highlight.js/styles/sunburst.css | 102 ++ .../highlight.js/styles/tomorrow-night-blue.css | 75 ++ .../highlight.js/styles/tomorrow-night-bright.css | 74 ++ .../styles/tomorrow-night-eighties.css | 74 ++ .../highlight.js/styles/tomorrow-night.css | 75 ++ node_modules/highlight.js/styles/tomorrow.css | 72 ++ node_modules/highlight.js/styles/vs.css | 68 ++ node_modules/highlight.js/styles/xcode.css | 93 ++ node_modules/highlight.js/styles/xt256.css | 92 ++ node_modules/highlight.js/styles/zenburn.css | 80 ++ 270 files changed, 24817 insertions(+) create mode 100644 node_modules/highlight.js/LICENSE create mode 100644 node_modules/highlight.js/README.md create mode 100644 node_modules/highlight.js/docs/api.rst create mode 100644 node_modules/highlight.js/docs/building-testing.rst create mode 100644 node_modules/highlight.js/docs/css-classes-reference.rst create mode 100644 node_modules/highlight.js/docs/index.rst create mode 100644 node_modules/highlight.js/docs/language-contribution.rst create mode 100644 node_modules/highlight.js/docs/language-guide.rst create mode 100644 node_modules/highlight.js/docs/language-requests.rst create mode 100644 node_modules/highlight.js/docs/line-numbers.rst create mode 100644 node_modules/highlight.js/docs/reference.rst create mode 100644 node_modules/highlight.js/docs/release-process.rst create mode 100644 node_modules/highlight.js/docs/style-guide.rst create mode 100644 node_modules/highlight.js/lib/highlight.js create mode 100644 node_modules/highlight.js/lib/index.js create mode 100644 node_modules/highlight.js/lib/languages/1c.js create mode 100644 node_modules/highlight.js/lib/languages/abnf.js create mode 100644 node_modules/highlight.js/lib/languages/accesslog.js create mode 100644 node_modules/highlight.js/lib/languages/actionscript.js create mode 100644 node_modules/highlight.js/lib/languages/ada.js create mode 100644 node_modules/highlight.js/lib/languages/apache.js create mode 100644 node_modules/highlight.js/lib/languages/applescript.js create mode 100644 node_modules/highlight.js/lib/languages/arduino.js create mode 100644 node_modules/highlight.js/lib/languages/armasm.js create mode 100644 node_modules/highlight.js/lib/languages/asciidoc.js create mode 100644 node_modules/highlight.js/lib/languages/aspectj.js create mode 100644 node_modules/highlight.js/lib/languages/autohotkey.js create mode 100644 node_modules/highlight.js/lib/languages/autoit.js create mode 100644 node_modules/highlight.js/lib/languages/avrasm.js create mode 100644 node_modules/highlight.js/lib/languages/awk.js create mode 100644 node_modules/highlight.js/lib/languages/axapta.js create mode 100644 node_modules/highlight.js/lib/languages/bash.js create mode 100644 node_modules/highlight.js/lib/languages/basic.js create mode 100644 node_modules/highlight.js/lib/languages/bnf.js create mode 100644 node_modules/highlight.js/lib/languages/brainfuck.js create mode 100644 node_modules/highlight.js/lib/languages/cal.js create mode 100644 node_modules/highlight.js/lib/languages/capnproto.js create mode 100644 node_modules/highlight.js/lib/languages/ceylon.js create mode 100644 node_modules/highlight.js/lib/languages/clean.js create mode 100644 node_modules/highlight.js/lib/languages/clojure-repl.js create mode 100644 node_modules/highlight.js/lib/languages/clojure.js create mode 100644 node_modules/highlight.js/lib/languages/cmake.js create mode 100644 node_modules/highlight.js/lib/languages/coffeescript.js create mode 100644 node_modules/highlight.js/lib/languages/coq.js create mode 100644 node_modules/highlight.js/lib/languages/cos.js create mode 100644 node_modules/highlight.js/lib/languages/cpp.js create mode 100644 node_modules/highlight.js/lib/languages/crmsh.js create mode 100644 node_modules/highlight.js/lib/languages/crystal.js create mode 100644 node_modules/highlight.js/lib/languages/cs.js create mode 100644 node_modules/highlight.js/lib/languages/csp.js create mode 100644 node_modules/highlight.js/lib/languages/css.js create mode 100644 node_modules/highlight.js/lib/languages/d.js create mode 100644 node_modules/highlight.js/lib/languages/dart.js create mode 100644 node_modules/highlight.js/lib/languages/delphi.js create mode 100644 node_modules/highlight.js/lib/languages/diff.js create mode 100644 node_modules/highlight.js/lib/languages/django.js create mode 100644 node_modules/highlight.js/lib/languages/dns.js create mode 100644 node_modules/highlight.js/lib/languages/dockerfile.js create mode 100644 node_modules/highlight.js/lib/languages/dos.js create mode 100644 node_modules/highlight.js/lib/languages/dsconfig.js create mode 100644 node_modules/highlight.js/lib/languages/dts.js create mode 100644 node_modules/highlight.js/lib/languages/dust.js create mode 100644 node_modules/highlight.js/lib/languages/ebnf.js create mode 100644 node_modules/highlight.js/lib/languages/elixir.js create mode 100644 node_modules/highlight.js/lib/languages/elm.js create mode 100644 node_modules/highlight.js/lib/languages/erb.js create mode 100644 node_modules/highlight.js/lib/languages/erlang-repl.js create mode 100644 node_modules/highlight.js/lib/languages/erlang.js create mode 100644 node_modules/highlight.js/lib/languages/excel.js create mode 100644 node_modules/highlight.js/lib/languages/fix.js create mode 100644 node_modules/highlight.js/lib/languages/flix.js create mode 100644 node_modules/highlight.js/lib/languages/fortran.js create mode 100644 node_modules/highlight.js/lib/languages/fsharp.js create mode 100644 node_modules/highlight.js/lib/languages/gams.js create mode 100644 node_modules/highlight.js/lib/languages/gauss.js create mode 100644 node_modules/highlight.js/lib/languages/gcode.js create mode 100644 node_modules/highlight.js/lib/languages/gherkin.js create mode 100644 node_modules/highlight.js/lib/languages/glsl.js create mode 100644 node_modules/highlight.js/lib/languages/go.js create mode 100644 node_modules/highlight.js/lib/languages/golo.js create mode 100644 node_modules/highlight.js/lib/languages/gradle.js create mode 100644 node_modules/highlight.js/lib/languages/groovy.js create mode 100644 node_modules/highlight.js/lib/languages/haml.js create mode 100644 node_modules/highlight.js/lib/languages/handlebars.js create mode 100644 node_modules/highlight.js/lib/languages/haskell.js create mode 100644 node_modules/highlight.js/lib/languages/haxe.js create mode 100644 node_modules/highlight.js/lib/languages/hsp.js create mode 100644 node_modules/highlight.js/lib/languages/htmlbars.js create mode 100644 node_modules/highlight.js/lib/languages/http.js create mode 100644 node_modules/highlight.js/lib/languages/hy.js create mode 100644 node_modules/highlight.js/lib/languages/inform7.js create mode 100644 node_modules/highlight.js/lib/languages/ini.js create mode 100644 node_modules/highlight.js/lib/languages/irpf90.js create mode 100644 node_modules/highlight.js/lib/languages/java.js create mode 100644 node_modules/highlight.js/lib/languages/javascript.js create mode 100644 node_modules/highlight.js/lib/languages/jboss-cli.js create mode 100644 node_modules/highlight.js/lib/languages/json.js create mode 100644 node_modules/highlight.js/lib/languages/julia.js create mode 100644 node_modules/highlight.js/lib/languages/kotlin.js create mode 100644 node_modules/highlight.js/lib/languages/lasso.js create mode 100644 node_modules/highlight.js/lib/languages/ldif.js create mode 100644 node_modules/highlight.js/lib/languages/leaf.js create mode 100644 node_modules/highlight.js/lib/languages/less.js create mode 100644 node_modules/highlight.js/lib/languages/lisp.js create mode 100644 node_modules/highlight.js/lib/languages/livecodeserver.js create mode 100644 node_modules/highlight.js/lib/languages/livescript.js create mode 100644 node_modules/highlight.js/lib/languages/llvm.js create mode 100644 node_modules/highlight.js/lib/languages/lsl.js create mode 100644 node_modules/highlight.js/lib/languages/lua.js create mode 100644 node_modules/highlight.js/lib/languages/makefile.js create mode 100644 node_modules/highlight.js/lib/languages/markdown.js create mode 100644 node_modules/highlight.js/lib/languages/mathematica.js create mode 100644 node_modules/highlight.js/lib/languages/matlab.js create mode 100644 node_modules/highlight.js/lib/languages/maxima.js create mode 100644 node_modules/highlight.js/lib/languages/mel.js create mode 100644 node_modules/highlight.js/lib/languages/mercury.js create mode 100644 node_modules/highlight.js/lib/languages/mipsasm.js create mode 100644 node_modules/highlight.js/lib/languages/mizar.js create mode 100644 node_modules/highlight.js/lib/languages/mojolicious.js create mode 100644 node_modules/highlight.js/lib/languages/monkey.js create mode 100644 node_modules/highlight.js/lib/languages/moonscript.js create mode 100644 node_modules/highlight.js/lib/languages/n1ql.js create mode 100644 node_modules/highlight.js/lib/languages/nginx.js create mode 100644 node_modules/highlight.js/lib/languages/nimrod.js create mode 100644 node_modules/highlight.js/lib/languages/nix.js create mode 100644 node_modules/highlight.js/lib/languages/nsis.js create mode 100644 node_modules/highlight.js/lib/languages/objectivec.js create mode 100644 node_modules/highlight.js/lib/languages/ocaml.js create mode 100644 node_modules/highlight.js/lib/languages/openscad.js create mode 100644 node_modules/highlight.js/lib/languages/oxygene.js create mode 100644 node_modules/highlight.js/lib/languages/parser3.js create mode 100644 node_modules/highlight.js/lib/languages/perl.js create mode 100644 node_modules/highlight.js/lib/languages/pf.js create mode 100644 node_modules/highlight.js/lib/languages/php.js create mode 100644 node_modules/highlight.js/lib/languages/pony.js create mode 100644 node_modules/highlight.js/lib/languages/powershell.js create mode 100644 node_modules/highlight.js/lib/languages/processing.js create mode 100644 node_modules/highlight.js/lib/languages/profile.js create mode 100644 node_modules/highlight.js/lib/languages/prolog.js create mode 100644 node_modules/highlight.js/lib/languages/protobuf.js create mode 100644 node_modules/highlight.js/lib/languages/puppet.js create mode 100644 node_modules/highlight.js/lib/languages/purebasic.js create mode 100644 node_modules/highlight.js/lib/languages/python.js create mode 100644 node_modules/highlight.js/lib/languages/q.js create mode 100644 node_modules/highlight.js/lib/languages/qml.js create mode 100644 node_modules/highlight.js/lib/languages/r.js create mode 100644 node_modules/highlight.js/lib/languages/rib.js create mode 100644 node_modules/highlight.js/lib/languages/roboconf.js create mode 100644 node_modules/highlight.js/lib/languages/rsl.js create mode 100644 node_modules/highlight.js/lib/languages/ruby.js create mode 100644 node_modules/highlight.js/lib/languages/ruleslanguage.js create mode 100644 node_modules/highlight.js/lib/languages/rust.js create mode 100644 node_modules/highlight.js/lib/languages/scala.js create mode 100644 node_modules/highlight.js/lib/languages/scheme.js create mode 100644 node_modules/highlight.js/lib/languages/scilab.js create mode 100644 node_modules/highlight.js/lib/languages/scss.js create mode 100644 node_modules/highlight.js/lib/languages/shell.js create mode 100644 node_modules/highlight.js/lib/languages/smali.js create mode 100644 node_modules/highlight.js/lib/languages/smalltalk.js create mode 100644 node_modules/highlight.js/lib/languages/sml.js create mode 100644 node_modules/highlight.js/lib/languages/sqf.js create mode 100644 node_modules/highlight.js/lib/languages/sql.js create mode 100644 node_modules/highlight.js/lib/languages/stan.js create mode 100644 node_modules/highlight.js/lib/languages/stata.js create mode 100644 node_modules/highlight.js/lib/languages/step21.js create mode 100644 node_modules/highlight.js/lib/languages/stylus.js create mode 100644 node_modules/highlight.js/lib/languages/subunit.js create mode 100644 node_modules/highlight.js/lib/languages/swift.js create mode 100644 node_modules/highlight.js/lib/languages/taggerscript.js create mode 100644 node_modules/highlight.js/lib/languages/tap.js create mode 100644 node_modules/highlight.js/lib/languages/tcl.js create mode 100644 node_modules/highlight.js/lib/languages/tex.js create mode 100644 node_modules/highlight.js/lib/languages/thrift.js create mode 100644 node_modules/highlight.js/lib/languages/tp.js create mode 100644 node_modules/highlight.js/lib/languages/twig.js create mode 100644 node_modules/highlight.js/lib/languages/typescript.js create mode 100644 node_modules/highlight.js/lib/languages/vala.js create mode 100644 node_modules/highlight.js/lib/languages/vbnet.js create mode 100644 node_modules/highlight.js/lib/languages/vbscript-html.js create mode 100644 node_modules/highlight.js/lib/languages/vbscript.js create mode 100644 node_modules/highlight.js/lib/languages/verilog.js create mode 100644 node_modules/highlight.js/lib/languages/vhdl.js create mode 100644 node_modules/highlight.js/lib/languages/vim.js create mode 100644 node_modules/highlight.js/lib/languages/x86asm.js create mode 100644 node_modules/highlight.js/lib/languages/xl.js create mode 100644 node_modules/highlight.js/lib/languages/xml.js create mode 100644 node_modules/highlight.js/lib/languages/xquery.js create mode 100644 node_modules/highlight.js/lib/languages/yaml.js create mode 100644 node_modules/highlight.js/lib/languages/zephir.js create mode 100644 node_modules/highlight.js/package.json create mode 100644 node_modules/highlight.js/styles/agate.css create mode 100644 node_modules/highlight.js/styles/androidstudio.css create mode 100644 node_modules/highlight.js/styles/arduino-light.css create mode 100644 node_modules/highlight.js/styles/arta.css create mode 100644 node_modules/highlight.js/styles/ascetic.css create mode 100644 node_modules/highlight.js/styles/atelier-cave-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-cave-light.css create mode 100644 node_modules/highlight.js/styles/atelier-dune-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-dune-light.css create mode 100644 node_modules/highlight.js/styles/atelier-estuary-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-estuary-light.css create mode 100644 node_modules/highlight.js/styles/atelier-forest-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-forest-light.css create mode 100644 node_modules/highlight.js/styles/atelier-heath-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-heath-light.css create mode 100644 node_modules/highlight.js/styles/atelier-lakeside-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-lakeside-light.css create mode 100644 node_modules/highlight.js/styles/atelier-plateau-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-plateau-light.css create mode 100644 node_modules/highlight.js/styles/atelier-savanna-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-savanna-light.css create mode 100644 node_modules/highlight.js/styles/atelier-seaside-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-seaside-light.css create mode 100644 node_modules/highlight.js/styles/atelier-sulphurpool-dark.css create mode 100644 node_modules/highlight.js/styles/atelier-sulphurpool-light.css create mode 100644 node_modules/highlight.js/styles/atom-one-dark.css create mode 100644 node_modules/highlight.js/styles/atom-one-light.css create mode 100644 node_modules/highlight.js/styles/brown-paper.css create mode 100644 node_modules/highlight.js/styles/brown-papersq.png create mode 100644 node_modules/highlight.js/styles/codepen-embed.css create mode 100644 node_modules/highlight.js/styles/color-brewer.css create mode 100644 node_modules/highlight.js/styles/darcula.css create mode 100644 node_modules/highlight.js/styles/dark.css create mode 100644 node_modules/highlight.js/styles/darkula.css create mode 100644 node_modules/highlight.js/styles/default.css create mode 100644 node_modules/highlight.js/styles/docco.css create mode 100644 node_modules/highlight.js/styles/dracula.css create mode 100644 node_modules/highlight.js/styles/far.css create mode 100644 node_modules/highlight.js/styles/foundation.css create mode 100644 node_modules/highlight.js/styles/github-gist.css create mode 100644 node_modules/highlight.js/styles/github.css create mode 100644 node_modules/highlight.js/styles/googlecode.css create mode 100644 node_modules/highlight.js/styles/grayscale.css create mode 100644 node_modules/highlight.js/styles/gruvbox-dark.css create mode 100644 node_modules/highlight.js/styles/gruvbox-light.css create mode 100644 node_modules/highlight.js/styles/hopscotch.css create mode 100644 node_modules/highlight.js/styles/hybrid.css create mode 100644 node_modules/highlight.js/styles/idea.css create mode 100644 node_modules/highlight.js/styles/ir-black.css create mode 100644 node_modules/highlight.js/styles/kimbie.dark.css create mode 100644 node_modules/highlight.js/styles/kimbie.light.css create mode 100644 node_modules/highlight.js/styles/magula.css create mode 100644 node_modules/highlight.js/styles/mono-blue.css create mode 100644 node_modules/highlight.js/styles/monokai-sublime.css create mode 100644 node_modules/highlight.js/styles/monokai.css create mode 100644 node_modules/highlight.js/styles/obsidian.css create mode 100644 node_modules/highlight.js/styles/ocean.css create mode 100644 node_modules/highlight.js/styles/paraiso-dark.css create mode 100644 node_modules/highlight.js/styles/paraiso-light.css create mode 100644 node_modules/highlight.js/styles/pojoaque.css create mode 100644 node_modules/highlight.js/styles/pojoaque.jpg create mode 100644 node_modules/highlight.js/styles/purebasic.css create mode 100644 node_modules/highlight.js/styles/qtcreator_dark.css create mode 100644 node_modules/highlight.js/styles/qtcreator_light.css create mode 100644 node_modules/highlight.js/styles/railscasts.css create mode 100644 node_modules/highlight.js/styles/rainbow.css create mode 100644 node_modules/highlight.js/styles/school-book.css create mode 100644 node_modules/highlight.js/styles/school-book.png create mode 100644 node_modules/highlight.js/styles/solarized-dark.css create mode 100644 node_modules/highlight.js/styles/solarized-light.css create mode 100644 node_modules/highlight.js/styles/sunburst.css create mode 100644 node_modules/highlight.js/styles/tomorrow-night-blue.css create mode 100644 node_modules/highlight.js/styles/tomorrow-night-bright.css create mode 100644 node_modules/highlight.js/styles/tomorrow-night-eighties.css create mode 100644 node_modules/highlight.js/styles/tomorrow-night.css create mode 100644 node_modules/highlight.js/styles/tomorrow.css create mode 100644 node_modules/highlight.js/styles/vs.css create mode 100644 node_modules/highlight.js/styles/xcode.css create mode 100644 node_modules/highlight.js/styles/xt256.css create mode 100644 node_modules/highlight.js/styles/zenburn.css (limited to 'node_modules/highlight.js') diff --git a/node_modules/highlight.js/LICENSE b/node_modules/highlight.js/LICENSE new file mode 100644 index 000000000..422deb735 --- /dev/null +++ b/node_modules/highlight.js/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2006, Ivan Sagalaev +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of highlight.js nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/highlight.js/README.md b/node_modules/highlight.js/README.md new file mode 100644 index 000000000..9f76e6bd5 --- /dev/null +++ b/node_modules/highlight.js/README.md @@ -0,0 +1,150 @@ +# Highlight.js + +[![Build Status](https://travis-ci.org/isagalaev/highlight.js.svg?branch=master)](https://travis-ci.org/isagalaev/highlight.js) + +Highlight.js is a syntax highlighter written in JavaScript. It works in +the browser as well as on the server. It works with pretty much any +markup, doesn’t depend on any framework and has automatic language +detection. + +## Getting Started + +The bare minimum for using highlight.js on a web page is linking to the +library along with one of the styles and calling +[`initHighlightingOnLoad`][1]: + +```html + + + +``` + +This will find and highlight code inside of `
` tags; it tries
+to detect the language automatically. If automatic detection doesn’t
+work for you, you can specify the language in the `class` attribute:
+
+```html
+
...
+``` + +The list of supported language classes is available in the [class +reference][2]. Classes can also be prefixed with either `language-` or +`lang-`. + +To disable highlighting altogether use the `nohighlight` class: + +```html +
...
+``` + +## Custom Initialization + +When you need a bit more control over the initialization of +highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4] +functions. This allows you to control *what* to highlight and *when*. + +Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using +jQuery: + +```javascript +$(document).ready(function() { + $('pre code').each(function(i, block) { + hljs.highlightBlock(block); + }); +}); +``` + +You can use any tags instead of `
` to mark up your code. If
+you don't use a container that preserve line breaks you will need to
+configure highlight.js to use the `
` tag: + +```javascript +hljs.configure({useBR: true}); + +$('div.code').each(function(i, block) { + hljs.highlightBlock(block); +}); +``` + +For other options refer to the documentation for [`configure`][4]. + + +## Web Workers + +You can run highlighting inside a web worker to avoid freezing the browser +window while dealing with very big chunks of code. + +In your main script: + +```javascript +addEventListener('load', function() { + var code = document.querySelector('#code'); + var worker = new Worker('worker.js'); + worker.onmessage = function(event) { code.innerHTML = event.data; } + worker.postMessage(code.textContent); +}) +``` + +In worker.js: + +```javascript +onmessage = function(event) { + importScripts('/highlight.pack.js'); + var result = self.hljs.highlightAuto(event.data); + postMessage(result.value); +} +``` + + +## Getting the Library + +You can get highlight.js as a hosted, or custom-build, browser script or +as a server module. Right out of the box the browser script supports +both AMD and CommonJS, so if you wish you can use RequireJS or +Browserify without having to build from source. The server module also +works perfectly fine with Browserify, but there is the option to use a +build specific to browsers rather than something meant for a server. +Head over to the [download page][5] for all the options. + +**Don't link to GitHub directly.** The library is not supposed to work straight +from the source, it requires building. If none of the pre-packaged options +work for you refer to the [building documentation][6]. + +**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be +too big. If you don't see the language you need in the ["Common" section][5], +it can be added manually: + +```html + +``` + +**On Almond.** You need to use the optimizer to give the module a name. For +example: + +``` +r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js +``` + + +## License + +Highlight.js is released under the BSD License. See [LICENSE][7] file +for details. + +## Links + +The official site for the library is at . + +Further in-depth documentation for the API and other topics is at +. + +Authors and contributors are listed in the [AUTHORS.en.txt][8] file. + +[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload +[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html +[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block +[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options +[5]: https://highlightjs.org/download/ +[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html +[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE +[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt diff --git a/node_modules/highlight.js/docs/api.rst b/node_modules/highlight.js/docs/api.rst new file mode 100644 index 000000000..d8039539d --- /dev/null +++ b/node_modules/highlight.js/docs/api.rst @@ -0,0 +1,120 @@ +Library API +=========== + +Highlight.js exports a few functions as methods of the ``hljs`` object. + + +``highlight(name, value, ignore_illegals, continuation)`` +--------------------------------------------------------- + +Core highlighting function. +Accepts a language name, or an alias, and a string with the code to highlight. +The ``ignore_illegals`` parameter, when present and evaluates to a true value, +forces highlighting to finish even in case of detecting illegal syntax for the +language instead of throwing an exception. +The ``continuation`` is an optional mode stack representing unfinished parsing. +When present, the function will restart parsing from this state instead of +initializing a new one. +Returns an object with the following properties: + +* ``language``: language name, same as the one passed into a function, returned for consistency with ``highlightAuto`` +* ``relevance``: integer value +* ``value``: HTML string with highlighting markup +* ``top``: top of the current mode stack + + +``highlightAuto(value, languageSubset)`` +---------------------------------------- + +Highlighting with language detection. +Accepts a string with the code to highlight and an optional array of language names and aliases restricting detection to only those languages. The subset can also be set with ``configure``, but the local parameter overrides the option if set. +Returns an object with the following properties: + +* ``language``: detected language +* ``relevance``: integer value +* ``value``: HTML string with highlighting markup +* ``second_best``: object with the same structure for second-best heuristically detected language, may be absent + + +``fixMarkup(value)`` +-------------------- + +Post-processing of the highlighted markup. Currently consists of replacing indentation TAB characters and using ``
`` tags instead of new-line characters. Options are set globally with ``configure``. + +Accepts a string with the highlighted markup. + + +``highlightBlock(block)`` +------------------------- + +Applies highlighting to a DOM node containing code. + +This function is the one to use to apply highlighting dynamically after page load +or within initialization code of third-party Javascript frameworks. + +The function uses language detection by default but you can specify the language +in the ``class`` attribute of the DOM node. See the :doc:`class reference +` for all available language names and aliases. + + +``configure(options)`` +---------------------- + +Configures global options: + +* ``tabReplace``: a string used to replace TAB characters in indentation. +* ``useBR``: a flag to generate ``
`` tags instead of new-line characters in the output, useful when code is marked up using a non-``
`` container.
+* ``classPrefix``: a string prefix added before class names in the generated markup, used for backwards compatibility with stylesheets.
+* ``languages``: an array of language names and aliases restricting auto detection to only these languages.
+
+Accepts an object representing options with the values to updated. Other options don't change
+::
+
+  hljs.configure({
+    tabReplace: '    ', // 4 spaces
+    classPrefix: ''     // don't append class prefix
+                        // … other options aren't changed
+  })
+  hljs.initHighlighting();
+
+
+``initHighlighting()``
+----------------------
+
+Applies highlighting to all ``
..
`` blocks on a page. + + + +``initHighlightingOnLoad()`` +---------------------------- + +Attaches highlighting to the page load event. + + +``registerLanguage(name, language)`` +------------------------------------ + +Adds new language to the library under the specified name. Used mostly internally. + +* ``name``: a string with the name of the language being registered +* ``language``: a function that returns an object which represents the + language definition. The function is passed the ``hljs`` object to be able + to use common regular expressions defined within it. + + +``listLanguages()`` +---------------------------- + +Returns the languages names list. + + + +.. _getLanguage: + + +``getLanguage(name)`` +--------------------- + +Looks up a language by name or alias. + +Returns the language object if found, ``undefined`` otherwise. diff --git a/node_modules/highlight.js/docs/building-testing.rst b/node_modules/highlight.js/docs/building-testing.rst new file mode 100644 index 000000000..16292cb84 --- /dev/null +++ b/node_modules/highlight.js/docs/building-testing.rst @@ -0,0 +1,88 @@ +Building and testing +==================== + +To actually run highlight.js it is necessary to build it for the environment +where you're going to run it: a browser, the node.js server, etc. + + +Building +-------- + +The build tool is written in JavaScript using node.js. Before running the +script, make sure to have node installed and run ``npm install`` to get the +dependencies. + +The tool is located in ``tools/build.js``. A few useful examples: + +* Build for a browser using only common languages:: + + node tools/build.js :common + +* Build for node.js including all available languages:: + + node tools/build.js -t node + +* Build two specific languages for debugging, skipping compression in this case:: + + node tools/build.js -n python ruby + +On some systems the node binary is named ``nodejs``; simply replace ``node`` +with ``nodejs`` in the examples above if that is the case. + +The full option reference is available with the usual ``--help`` option. + +The build result will be in the ``build/`` directory. + +.. _basic-testing: + +Basic testing +------------- + +The usual approach to debugging and testing a language is first doing it +visually. You need to build highlight.js with only the language you're working +on (without compression, to have readable code in browser error messages) and +then use the Developer tool in ``tools/developer.html`` to see how it highlights +a test snippet in that language. + +A test snippet should be short and give the idea of the overall look of the +language. It shouldn't include every possible syntactic element and shouldn't +even make practical sense. + +After you satisfied with the result you need to make sure that language +detection still works with your language definition included in the whole suite. + +Testing is done using `Mocha `_ and the +files are found in the ``test/`` directory. You can use the node build to +run the tests in the command line with ``npm test`` after installing the +dependencies with ``npm install``. + +**Note**: for Debian-based machine, like Ubuntu, you might need to create an +alias or symbolic link for nodejs to node. The reason for this is the +dependencies that are requires to test highlight.js has a reference to +"node". + +Place the snippet you used inside the browser in +``test/detect//default.txt``, build the package with all the languages +for node and run the test suite. If your language breaks auto-detection, it +should be fixed by :ref:`improving relevance `, which is a black art +in and of itself. When in doubt, please refer to the discussion group! + + +Testing markup +-------------- + +You can also provide additional markup tests for the language to test isolated +cases of various syntactic construct. If your language has 19 different string +literals or complicated heuristics for telling division (``/``) apart from +regexes (``/ .. /``) -- this is the place. + +A test case consists of two files: + +* ``test/markup//.txt``: test code +* ``test/markup//.expect.txt``: reference rendering + +To generate reference rendering use the Developer tool located at +``tools/developer.html``. Make sure to explicitly select your language in the +drop-down menu, as automatic detection is unlikely to work in this case. + + diff --git a/node_modules/highlight.js/docs/css-classes-reference.rst b/node_modules/highlight.js/docs/css-classes-reference.rst new file mode 100644 index 000000000..49eef3980 --- /dev/null +++ b/node_modules/highlight.js/docs/css-classes-reference.rst @@ -0,0 +1,432 @@ +CSS classes reference +===================== + + +Stylable classes +---------------- + ++------------------------------------------------------------------------------+ +| **General-purpose** | ++--------------------------+---------------------------------------------------+ +| keyword | keyword in a regular Algol-style language | ++--------------------------+---------------------------------------------------+ +| built_in | built-in or library object (constant, class, | +| | function) | ++--------------------------+---------------------------------------------------+ +| type | user-defined type in a language with first-class | +| | syntactically significant types, like Haskell | ++--------------------------+---------------------------------------------------+ +| literal | special identifier for a built-in value ("true", | +| | "false", "null") | ++--------------------------+---------------------------------------------------+ +| number | number, including units and modifiers, if any. | ++--------------------------+---------------------------------------------------+ +| regexp | literal regular expression | ++--------------------------+---------------------------------------------------+ +| string | literal string, character | ++--------------------------+---------------------------------------------------+ +| subst | parsed section inside a literal string | ++--------------------------+---------------------------------------------------+ +| symbol | symbolic constant, interned string, goto label | ++--------------------------+---------------------------------------------------+ +| class | class or class-level declaration (interfaces, | +| | traits, modules, etc) | ++--------------------------+---------------------------------------------------+ +| function | function or method declaration | ++--------------------------+---------------------------------------------------+ +| title | name of a class or a function at the place of | +| | declaration | ++--------------------------+---------------------------------------------------+ +| params | block of function arguments (parameters) at the | +| | place of declaration | ++--------------------------+---------------------------------------------------+ +| **Meta** | ++--------------------------+---------------------------------------------------+ +| comment | comment | ++--------------------------+---------------------------------------------------+ +| doctag | documentation markup within comments | ++--------------------------+---------------------------------------------------+ +| meta | flags, modifiers, annotations, processing | +| | instructions, preprocessor directive, etc | ++--------------------------+---------------------------------------------------+ +| meta-keyword | keyword or built-in within meta construct | ++--------------------------+---------------------------------------------------+ +| meta-string | string within meta construct | ++--------------------------+---------------------------------------------------+ +| **Tags, attributes, configs** | ++--------------------------+---------------------------------------------------+ +| section | heading of a section in a config file, heading in | +| | text markup | ++--------------------------+---------------------------------------------------+ +| tag | XML/HTML tag | ++--------------------------+---------------------------------------------------+ +| name | name of an XML tag, the first word in an | +| | s-expression | ++--------------------------+---------------------------------------------------+ +| builtin-name | s-expression name from the language standard | +| | library | ++--------------------------+---------------------------------------------------+ +| attr | name of an attribute with no language defined | +| | semantics (keys in JSON, setting names in .ini), | +| | also sub-attribute within another highlighted | +| | object, like XML tag | ++--------------------------+---------------------------------------------------+ +| attribute | name of an attribute followed by a structured | +| | value part, like CSS properties | ++--------------------------+---------------------------------------------------+ +| variable | variable in a config or a template file, | +| | environment var expansion in a script | ++--------------------------+---------------------------------------------------+ +| **Markup** | ++--------------------------+---------------------------------------------------+ +| bullet | list item bullet in text markup | ++--------------------------+---------------------------------------------------+ +| code | code block in text markup | ++--------------------------+---------------------------------------------------+ +| emphasis | emphasis in text markup | ++--------------------------+---------------------------------------------------+ +| strong | strong emphasis in text markup | ++--------------------------+---------------------------------------------------+ +| formula | mathematical formula in text markup | ++--------------------------+---------------------------------------------------+ +| link | hyperlink in text markup | ++--------------------------+---------------------------------------------------+ +| quote | quotation in text markup | ++--------------------------+---------------------------------------------------+ +| **CSS** | ++--------------------------+---------------------------------------------------+ +| selector-tag | tag selector in CSS | ++--------------------------+---------------------------------------------------+ +| selector-id | #id selector in CSS | ++--------------------------+---------------------------------------------------+ +| selector-class | .class selector in CSS | ++--------------------------+---------------------------------------------------+ +| selector-attr | [attr] selector in CSS | ++--------------------------+---------------------------------------------------+ +| selector-pseudo | :pseudo selector in CSS | ++--------------------------+---------------------------------------------------+ +| **Templates** | ++--------------------------+---------------------------------------------------+ +| template-tag | tag of a template language | ++--------------------------+---------------------------------------------------+ +| template-variable | variable in a template language | ++--------------------------+---------------------------------------------------+ +| **diff** | ++--------------------------+---------------------------------------------------+ +| addition | added or changed line in a diff | ++--------------------------+---------------------------------------------------+ +| deletion | deleted line in a diff | ++--------------------------+---------------------------------------------------+ + + +Language names and aliases +-------------------------- + ++-------------------------+---------------------------------------------------+ +| 1C | 1c | ++-------------------------+---------------------------------------------------+ +| ABNF | abnf | ++-------------------------+---------------------------------------------------+ +| Access logs | accesslog | ++-------------------------+---------------------------------------------------+ +| Ada | ada | ++-------------------------+---------------------------------------------------+ +| ARM assembler | armasm, arm | ++-------------------------+---------------------------------------------------+ +| AVR assembler | avrasm | ++-------------------------+---------------------------------------------------+ +| ActionScript | actionscript, as | ++-------------------------+---------------------------------------------------+ +| Apache | apache, apacheconf | ++-------------------------+---------------------------------------------------+ +| AppleScript | applescript, osascript | ++-------------------------+---------------------------------------------------+ +| AsciiDoc | asciidoc, adoc | ++-------------------------+---------------------------------------------------+ +| AspectJ | aspectj | ++-------------------------+---------------------------------------------------+ +| AutoHotkey | autohotkey | ++-------------------------+---------------------------------------------------+ +| AutoIt | autoit | ++-------------------------+---------------------------------------------------+ +| Awk | awk, mawk, nawk, gawk | ++-------------------------+---------------------------------------------------+ +| Axapta | axapta | ++-------------------------+---------------------------------------------------+ +| Bash | bash, sh, zsh | ++-------------------------+---------------------------------------------------+ +| Basic | basic | ++-------------------------+---------------------------------------------------+ +| BNF | bnf | ++-------------------------+---------------------------------------------------+ +| Brainfuck | brainfuck, bf | ++-------------------------+---------------------------------------------------+ +| C# | cs, csharp | ++-------------------------+---------------------------------------------------+ +| C++ | cpp, c, cc, h, c++, h++, hpp | ++-------------------------+---------------------------------------------------+ +| C/AL | cal | ++-------------------------+---------------------------------------------------+ +| Cache Object Script | cos, cls | ++-------------------------+---------------------------------------------------+ +| CMake | cmake, cmake.in | ++-------------------------+---------------------------------------------------+ +| Coq | coq | ++-------------------------+---------------------------------------------------+ +| CSP | csp | ++-------------------------+---------------------------------------------------+ +| CSS | css | ++-------------------------+---------------------------------------------------+ +| Cap’n Proto | capnproto, capnp | ++-------------------------+---------------------------------------------------+ +| Clojure | clojure, clj | ++-------------------------+---------------------------------------------------+ +| CoffeeScript | coffeescript, coffee, cson, iced | ++-------------------------+---------------------------------------------------+ +| Crmsh | crmsh, crm, pcmk | ++-------------------------+---------------------------------------------------+ +| Crystal | crystal, cr | ++-------------------------+---------------------------------------------------+ +| D | d | ++-------------------------+---------------------------------------------------+ +| DNS Zone file | dns, zone, bind | ++-------------------------+---------------------------------------------------+ +| DOS | dos, bat, cmd | ++-------------------------+---------------------------------------------------+ +| Dart | dart | ++-------------------------+---------------------------------------------------+ +| Delphi | delphi, dpr, dfm, pas, pascal, freepascal, | +| | lazarus, lpr, lfm | ++-------------------------+---------------------------------------------------+ +| Diff | diff, patch | ++-------------------------+---------------------------------------------------+ +| Django | django, jinja | ++-------------------------+---------------------------------------------------+ +| Dockerfile | dockerfile, docker | ++-------------------------+---------------------------------------------------+ +| dsconfig | dsconfig | ++-------------------------+---------------------------------------------------+ +| DTS (Device Tree) | dts | ++-------------------------+---------------------------------------------------+ +| Dust | dust, dst | ++-------------------------+---------------------------------------------------+ +| EBNF | ebnf | ++-------------------------+---------------------------------------------------+ +| Elixir | elixir | ++-------------------------+---------------------------------------------------+ +| Elm | elm | ++-------------------------+---------------------------------------------------+ +| Erlang | erlang, erl | ++-------------------------+---------------------------------------------------+ +| Excel | excel, xls, xlsx | ++-------------------------+---------------------------------------------------+ +| F# | fsharp, fs | ++-------------------------+---------------------------------------------------+ +| FIX | fix | ++-------------------------+---------------------------------------------------+ +| Fortran | fortran, f90, f95 | ++-------------------------+---------------------------------------------------+ +| G-Code | gcode, nc | ++-------------------------+---------------------------------------------------+ +| Gams | gams, gms | ++-------------------------+---------------------------------------------------+ +| GAUSS | gauss, gss | ++-------------------------+---------------------------------------------------+ +| Gherkin | gherkin | ++-------------------------+---------------------------------------------------+ +| Go | go, golang | ++-------------------------+---------------------------------------------------+ +| Golo | golo, gololang | ++-------------------------+---------------------------------------------------+ +| Gradle | gradle | ++-------------------------+---------------------------------------------------+ +| Groovy | groovy | ++-------------------------+---------------------------------------------------+ +| HTML, XML | xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist | ++-------------------------+---------------------------------------------------+ +| HTTP | http, https | ++-------------------------+---------------------------------------------------+ +| Haml | haml | ++-------------------------+---------------------------------------------------+ +| Handlebars | handlebars, hbs, html.hbs, html.handlebars | ++-------------------------+---------------------------------------------------+ +| Haskell | haskell, hs | ++-------------------------+---------------------------------------------------+ +| Haxe | haxe, hx | ++-------------------------+---------------------------------------------------+ +| Hy | hy, hylang | ++-------------------------+---------------------------------------------------+ +| Ini | ini | ++-------------------------+---------------------------------------------------+ +| Inform7 | inform7, i7 | ++-------------------------+---------------------------------------------------+ +| IRPF90 | irpf90 | ++-------------------------+---------------------------------------------------+ +| JSON | json | ++-------------------------+---------------------------------------------------+ +| Java | java, jsp | ++-------------------------+---------------------------------------------------+ +| JavaScript | javascript, js, jsx | ++-------------------------+---------------------------------------------------+ +| Leaf | leaf | ++-------------------------+---------------------------------------------------+ +| Lasso | lasso, ls, lassoscript | ++-------------------------+---------------------------------------------------+ +| Less | less | ++-------------------------+---------------------------------------------------+ +| LDIF | ldif | ++-------------------------+---------------------------------------------------+ +| Lisp | lisp | ++-------------------------+---------------------------------------------------+ +| LiveCode Server | livecodeserver | ++-------------------------+---------------------------------------------------+ +| LiveScript | livescript, ls | ++-------------------------+---------------------------------------------------+ +| Lua | lua | ++-------------------------+---------------------------------------------------+ +| Makefile | makefile, mk, mak | ++-------------------------+---------------------------------------------------+ +| Markdown | markdown, md, mkdown, mkd | ++-------------------------+---------------------------------------------------+ +| Mathematica | mathematica, mma | ++-------------------------+---------------------------------------------------+ +| Matlab | matlab | ++-------------------------+---------------------------------------------------+ +| Maxima | maxima | ++-------------------------+---------------------------------------------------+ +| Maya Embedded Language | mel | ++-------------------------+---------------------------------------------------+ +| Mercury | mercury | ++-------------------------+---------------------------------------------------+ +| Mizar | mizar | ++-------------------------+---------------------------------------------------+ +| Mojolicious | mojolicious | ++-------------------------+---------------------------------------------------+ +| Monkey | monkey | ++-------------------------+---------------------------------------------------+ +| Moonscript | moonscript, moon | ++-------------------------+---------------------------------------------------+ +| N1QL | n1ql | ++-------------------------+---------------------------------------------------+ +| NSIS | nsis | ++-------------------------+---------------------------------------------------+ +| Nginx | nginx, nginxconf | ++-------------------------+---------------------------------------------------+ +| Nimrod | nimrod, nim | ++-------------------------+---------------------------------------------------+ +| Nix | nix | ++-------------------------+---------------------------------------------------+ +| OCaml | ocaml, ml | ++-------------------------+---------------------------------------------------+ +| Objective C | objectivec, mm, objc, obj-c | ++-------------------------+---------------------------------------------------+ +| OpenGL Shading Language | glsl | ++-------------------------+---------------------------------------------------+ +| OpenSCAD | openscad, scad | ++-------------------------+---------------------------------------------------+ +| Oracle Rules Language | ruleslanguage | ++-------------------------+---------------------------------------------------+ +| Oxygene | oxygene | ++-------------------------+---------------------------------------------------+ +| PF | pf, pf.conf | ++-------------------------+---------------------------------------------------+ +| PHP | php, php3, php4, php5, php6 | ++-------------------------+---------------------------------------------------+ +| Parser3 | parser3 | ++-------------------------+---------------------------------------------------+ +| Perl | perl, pl, pm | ++-------------------------+---------------------------------------------------+ +| Pony | pony | ++-------------------------+---------------------------------------------------+ +| PowerShell | powershell, ps | ++-------------------------+---------------------------------------------------+ +| Processing | processing | ++-------------------------+---------------------------------------------------+ +| Prolog | prolog | ++-------------------------+---------------------------------------------------+ +| Protocol Buffers | protobuf | ++-------------------------+---------------------------------------------------+ +| Puppet | puppet, pp | ++-------------------------+---------------------------------------------------+ +| Python | python, py, gyp | ++-------------------------+---------------------------------------------------+ +| Python profiler results | profile | ++-------------------------+---------------------------------------------------+ +| Q | k, kdb | ++-------------------------+---------------------------------------------------+ +| QML | qml | ++-------------------------+---------------------------------------------------+ +| R | r | ++-------------------------+---------------------------------------------------+ +| RenderMan RIB | rib | ++-------------------------+---------------------------------------------------+ +| RenderMan RSL | rsl | ++-------------------------+---------------------------------------------------+ +| Roboconf | graph, instances | ++-------------------------+---------------------------------------------------+ +| Ruby | ruby, rb, gemspec, podspec, thor, irb | ++-------------------------+---------------------------------------------------+ +| Rust | rust, rs | ++-------------------------+---------------------------------------------------+ +| SCSS | scss | ++-------------------------+---------------------------------------------------+ +| SQL | sql | ++-------------------------+---------------------------------------------------+ +| STEP Part 21 | p21, step, stp | ++-------------------------+---------------------------------------------------+ +| Scala | scala | ++-------------------------+---------------------------------------------------+ +| Scheme | scheme | ++-------------------------+---------------------------------------------------+ +| Scilab | scilab, sci | ++-------------------------+---------------------------------------------------+ +| Shell | shell, console | ++-------------------------+---------------------------------------------------+ +| Smali | smali | ++-------------------------+---------------------------------------------------+ +| Smalltalk | smalltalk, st | ++-------------------------+---------------------------------------------------+ +| Stan | stan | ++-------------------------+---------------------------------------------------+ +| Stata | stata | ++-------------------------+---------------------------------------------------+ +| Stylus | stylus, styl | ++-------------------------+---------------------------------------------------+ +| SubUnit | subunit | ++-------------------------+---------------------------------------------------+ +| Swift | swift | ++-------------------------+---------------------------------------------------+ +| Test Anything Protocol | tap | ++-------------------------+---------------------------------------------------+ +| Tcl | tcl, tk | ++-------------------------+---------------------------------------------------+ +| TeX | tex | ++-------------------------+---------------------------------------------------+ +| Thrift | thrift | ++-------------------------+---------------------------------------------------+ +| TP | tp | ++-------------------------+---------------------------------------------------+ +| Twig | twig, craftcms | ++-------------------------+---------------------------------------------------+ +| TypeScript | typescript, ts | ++-------------------------+---------------------------------------------------+ +| VB.Net | vbnet, vb | ++-------------------------+---------------------------------------------------+ +| VBScript | vbscript, vbs | ++-------------------------+---------------------------------------------------+ +| VHDL | vhdl | ++-------------------------+---------------------------------------------------+ +| Vala | vala | ++-------------------------+---------------------------------------------------+ +| Verilog | verilog, v | ++-------------------------+---------------------------------------------------+ +| Vim Script | vim | ++-------------------------+---------------------------------------------------+ +| x86 Assembly | x86asm | ++-------------------------+---------------------------------------------------+ +| XL | xl, tao | ++-------------------------+---------------------------------------------------+ +| XQuery | xpath, xq | ++-------------------------+---------------------------------------------------+ +| Zephir | zephir, zep | ++-------------------------+---------------------------------------------------+ diff --git a/node_modules/highlight.js/docs/index.rst b/node_modules/highlight.js/docs/index.rst new file mode 100644 index 000000000..0559dfd2a --- /dev/null +++ b/node_modules/highlight.js/docs/index.rst @@ -0,0 +1,44 @@ +.. highlight.js documentation master file, created by + sphinx-quickstart on Wed Sep 12 23:48:27 2012. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +``highlight.js`` developer documentation +========================================== + +Contents: + +.. toctree:: + :maxdepth: 1 + + api + language-guide + reference + css-classes-reference + style-guide + language-contribution + building-testing + release-process + +Miscellaneous: + +.. toctree:: + :maxdepth: 1 + + line-numbers + language-requests + +Links: + +- Code: https://github.com/isagalaev/highlight.js +- Discussion: http://groups.google.com/group/highlightjs +- Bug tracking: https://github.com/isagalaev/highlight.js/issues + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/node_modules/highlight.js/docs/language-contribution.rst b/node_modules/highlight.js/docs/language-contribution.rst new file mode 100644 index 000000000..4deae3f36 --- /dev/null +++ b/node_modules/highlight.js/docs/language-contribution.rst @@ -0,0 +1,78 @@ +Language contributor checklist +============================== + +1. Put language definition into a .js file +------------------------------------------ + +The file defines a function accepting a reference to the library and returning a language object. +The library parameter is useful to access common modes and regexps. You should not immediately call this function, +this is done during the build process and details differ for different build targets. + +:: + + function(hljs) { + return { + keywords: 'foo bar', + contains: [ ..., hljs.NUMBER_MODE, ... ] + } + } + +The name of the file is used as a short language identifier and should be usable as a class name in HTML and CSS. + + +2. Provide meta data +-------------------- + +At the top of the file there is a specially formatted comment with meta data processed by a build system. +Meta data format is simply key-value pairs each occupying its own line: + +:: + + /* + Language: Superlanguage + Requires: java.js, sql.js + Author: John Smith + Contributors: Mike Johnson <...@...>, Matt Wilson <...@...> + Description: Some cool language definition + */ + +``Language`` — the only required header giving a human-readable language name. + +``Requires`` — a list of other language files required for this language to work. +This make it possible to describe languages that extend definitions of other ones. +Required files aren't processed in any special way. +The build system just makes sure that they will be in the final package in +``LANGUAGES`` object. + +The meaning of the other headers is pretty obvious. + + +3. Create a code example +------------------------ + +The code example is used both to test language detection and for the demo page +on https://highlightjs.org/. Put it in ``test/detect//default.txt``. + +Take inspiration from other languages in ``test/detect/`` and read +:ref:`testing instructions ` for more details. + + +4. Write class reference +------------------------ + +Class reference lives in the :doc:`CSS classes reference `.. +Describe shortly names of all meaningful modes used in your language definition. + + +5. Add yourself to AUTHORS.*.txt and CHANGES.md +----------------------------------------------- + +If you're a new contributor add yourself to the authors list. Feel free to use +either English and/or Russian version. +Also it will be good to update CHANGES.md. + + +6. Create a pull request +------------------------ + +Send your contribution as a pull request on GitHub. diff --git a/node_modules/highlight.js/docs/language-guide.rst b/node_modules/highlight.js/docs/language-guide.rst new file mode 100644 index 000000000..f48c748be --- /dev/null +++ b/node_modules/highlight.js/docs/language-guide.rst @@ -0,0 +1,264 @@ +Language definition guide +========================= + +Highlighting overview +--------------------- + +Programming language code consists of parts with different rules of parsing: keywords like ``for`` or ``if`` +don't make sense inside strings, strings may contain backslash-escaped symbols like ``\"`` +and comments usually don't contain anything interesting except the end of the comment. + +In highlight.js such parts are called "modes". + +Each mode consists of: + +* starting condition +* ending condition +* list of contained sub-modes +* lexing rules and keywords +* …exotic stuff like another language inside a language + +The parser's work is to look for modes and their keywords. +Upon finding, it wraps them into the markup ``...`` +and puts the name of the mode ("string", "comment", "number") +or a keyword group name ("keyword", "literal", "built-in") as the span's class name. + + +General syntax +-------------- + +A language definition is a JavaScript object describing the default parsing mode for the language. +This default mode contains sub-modes which in turn contain other sub-modes, effectively making the language definition a tree of modes. + +Here's an example: + +:: + + { + case_insensitive: true, // language is case-insensitive + keywords: 'for if while', + contains: [ + { + className: 'string', + begin: '"', end: '"' + }, + hljs.COMMENT( + '/\\*', // begin + '\\*/', // end + { + contains: [ + { + className: 'doc', begin: '@\\w+' + } + ] + } + ) + ] + } + +Usually the default mode accounts for the majority of the code and describes all language keywords. +A notable exception here is XML in which a default mode is just a user text that doesn't contain any keywords, +and most interesting parsing happens inside tags. + + +Keywords +-------- + +In the simple case language keywords are defined in a string, separated by space: + +:: + + { + keywords: 'else for if while' + } + +Some languages have different kinds of "keywords" that might not be called as such by the language spec +but are very close to them from the point of view of a syntax highlighter. These are all sorts of "literals", "built-ins", "symbols" and such. +To define such keyword groups the attribute ``keywords`` becomes an object each property of which defines its own group of keywords: + +:: + + { + keywords: { + keyword: 'else for if while', + literal: 'false true null' + } + } + +The group name becomes then a class name in a generated markup enabling different styling for different kinds of keywords. + +To detect keywords highlight.js breaks the processed chunk of code into separate words — a process called lexing. +The "word" here is defined by the regexp ``[a-zA-Z][a-zA-Z0-9_]*`` that works for keywords in most languages. +Different lexing rules can be defined by the ``lexemes`` attribute: + +:: + + { + lexemes '-[a-z]+', + keywords: '-import -export' + } + + +Sub-modes +--------- + +Sub-modes are listed in the ``contains`` attribute: + +:: + + { + keywords: '...', + contains: [ + hljs.QUOTE_STRING_MODE, + hljs.C_LINE_COMMENT, + { ... custom mode definition ... } + ] + } + +A mode can reference itself in the ``contains`` array by using a special keyword ``'self``'. +This is commonly used to define nested modes: + +:: + + { + className: 'object', + begin: '{', end: '}', + contains: [hljs.QUOTE_STRING_MODE, 'self'] + } + + +Comments +-------- + +To define custom comments it is recommended to use a built-in helper function ``hljs.COMMENT`` instead of describing the mode directly, as it also defines a few default sub-modes that improve language detection and do other nice things. + +Parameters for the function are: + +:: + + hljs.COMMENT( + begin, // begin regex + end, // end regex + extra // optional object with extra attributes to override defaults + // (for example {relevance: 0}) + ) + + +Markup generation +----------------- + +Modes usually generate actual highlighting markup — ```` elements with specific class names that are defined by the ``className`` attribute: + +:: + + { + contains: [ + { + className: 'string', + // ... other attributes + }, + { + className: 'number', + // ... + } + ] + } + +Names are not required to be unique, it's quite common to have several definitions with the same name. +For example, many languages have various syntaxes for strings, comments, etc… + +Sometimes modes are defined only to support specific parsing rules and aren't needed in the final markup. +A classic example is an escaping sequence inside strings allowing them to contain an ending quote. + +:: + + { + className: 'string', + begin: '"', end: '"', + contains: [{begin: '\\\\.'}], + } + +For such modes ``className`` attribute should be omitted so they won't generate excessive markup. + + +Mode attributes +--------------- + +Other useful attributes are defined in the :doc:`mode reference `. + + +.. _relevance: + +Relevance +--------- + +Highlight.js tries to automatically detect the language of a code fragment. +The heuristics is essentially simple: it tries to highlight a fragment with all the language definitions +and the one that yields most specific modes and keywords wins. The job of a language definition +is to help this heuristics by hinting relative relevance (or irrelevance) of modes. + +This is best illustrated by example. Python has special kinds of strings defined by prefix letters before the quotes: +``r"..."``, ``u"..."``. If a code fragment contains such strings there is a good chance that it's in Python. +So these string modes are given high relevance: + +:: + + { + className: 'string', + begin: 'r"', end: '"', + relevance: 10 + } + +On the other hand, conventional strings in plain single or double quotes aren't specific to any language +and it makes sense to bring their relevance to zero to lessen statistical noise: + +:: + + { + className: 'string', + begin: '"', end: '"', + relevance: 0 + } + +The default value for relevance is 1. When setting an explicit value it's recommended to use either 10 or 0. + +Keywords also influence relevance. Each of them usually has a relevance of 1, but there are some unique names +that aren't likely to be found outside of their languages, even in the form of variable names. +For example just having ``reinterpret_cast`` somewhere in the code is a good indicator that we're looking at C++. +It's worth to set relevance of such keywords a bit higher. This is done with a pipe: + +:: + + { + keywords: 'for if reinterpret_cast|10' + } + + +Illegal symbols +--------------- + +Another way to improve language detection is to define illegal symbols for a mode. +For example in Python first line of class definition (``class MyClass(object):``) cannot contain symbol "{" or a newline. +Presence of these symbols clearly shows that the language is not Python and the parser can drop this attempt early. + +Illegal symbols are defined as a a single regular expression: + +:: + + { + className: 'class', + illegal: '[${]' + } + + +Pre-defined modes and regular expressions +----------------------------------------- + +Many languages share common modes and regular expressions. Such expressions are defined in core highlight.js code +at the end under "Common regexps" and "Common modes" titles. Use them when possible. + + +Contributing +------------ + +Follow the :doc:`contributor checklist `. diff --git a/node_modules/highlight.js/docs/language-requests.rst b/node_modules/highlight.js/docs/language-requests.rst new file mode 100644 index 000000000..4e4c2f0b6 --- /dev/null +++ b/node_modules/highlight.js/docs/language-requests.rst @@ -0,0 +1,17 @@ +On requesting new languages +=========================== + +This is a general answer to requests for adding new languages that appear from +time to time in the highlight.js issue tracker and discussion group. + + Highlight.js doesn't have a fundamental plan for implementing languages, + instead the project works by accepting language definitions from + interested contributors. There are also no rules at the moment forbidding + any languages from being added to the library, no matter how obscure or + weird. + + This means that there's no point in requesting a new language without + providing an implementation for it. If you want to see a particular language + included in highlight.js but cannot implement it, the best way to make it + happen is to get another developer interested in doing so. Here's our + :doc:`language-guide`. diff --git a/node_modules/highlight.js/docs/line-numbers.rst b/node_modules/highlight.js/docs/line-numbers.rst new file mode 100644 index 000000000..674542d4e --- /dev/null +++ b/node_modules/highlight.js/docs/line-numbers.rst @@ -0,0 +1,39 @@ +Line numbers +============ + +Highlight.js' notable lack of line numbers support is not an oversight but a +feature. Following is the explanation of this policy from the current project +maintainer (hey guys!): + + One of the defining design principles for highlight.js from the start was + simplicity. Not the simplicity of code (in fact, it's quite complex) but + the simplicity of usage and of the actual look of highlighted snippets on + HTML pages. Many highlighters, in my opinion, are overdoing it with such + things as separate colors for every single type of lexemes, striped + backgrounds, fancy buttons around code blocks and — yes — line numbers. + The more fancy stuff resides around the code the more it distracts a + reader from understanding it. + + This is why it's not a straightforward decision: this new feature will not + just make highlight.js better, it might actually make it worse simply by + making it look more bloated in blog posts around the Internet. This is why + I'm asking people to show that it's worth it. + + The only real use-case that ever was brought up in support of line numbers + is referencing code from the descriptive text around it. On my own blog I + was always solving this either with comments within the code itself or by + breaking the larger snippets into smaller ones and describing each small + part separately. I'm not saying that my solution is better. But I don't + see how line numbers are better either. And the only way to show that they + are better is to set up some usability research on the subject. I doubt + anyone would bother to do it. + + Then there's maintenance. So far the core code of highlight.js is + maintained by only one person — yours truly. Inclusion of any new code in + highlight.js means that from that moment I will have to fix bugs in it, + improve it further, make it work together with the rest of the code, + defend its design. And I don't want to do all this for the feature that I + consider "evil" and probably will never use myself. + +This position is `subject to discuss `_. +Also it doesn't stop anyone from forking the code and maintaining line-numbers implementation separately. diff --git a/node_modules/highlight.js/docs/reference.rst b/node_modules/highlight.js/docs/reference.rst new file mode 100644 index 000000000..56879fbd9 --- /dev/null +++ b/node_modules/highlight.js/docs/reference.rst @@ -0,0 +1,324 @@ +Mode reference +============== + +Types +----- + +Types of attributes values in this reference: + ++------------+-------------------------------------------------------------------------------------+ +| identifier | String suitable to be used as a Javascript variable and CSS class name | +| | (i.e. mostly ``/[A-Za-z0-9_]+/``) | ++------------+-------------------------------------------------------------------------------------+ +| regexp | String representing a Javascript regexp. | +| | Note that since it's not a literal regexp all back-slashes should be repeated twice | ++------------+-------------------------------------------------------------------------------------+ +| boolean | Javascript boolean: ``true`` or ``false`` | ++------------+-------------------------------------------------------------------------------------+ +| number | Javascript number | ++------------+-------------------------------------------------------------------------------------+ +| object | Javascript object: ``{ ... }`` | ++------------+-------------------------------------------------------------------------------------+ +| array | Javascript array: ``[ ... ]`` | ++------------+-------------------------------------------------------------------------------------+ + + +Attributes +---------- + +case_insensitive +^^^^^^^^^^^^^^^^ + +**type**: boolean + +Case insensitivity of language keywords and regexps. Used only on the top-level mode. + + +aliases +^^^^^^^ + +**type**: array + +A list of additional names (besides the canonical one given by the filename) that can be used to identify a language in HTML classes and in a call to :ref:`getLanguage `. + + +className +^^^^^^^^^ + +**type**: identifier + +The name of the mode. It is used as a class name in HTML markup. + +Multiple modes can have the same name. This is useful when a language has multiple variants of syntax +for one thing like string in single or double quotes. + + +begin +^^^^^ + +**type**: regexp + +Regular expression starting a mode. For example a single quote for strings or two forward slashes for C-style comments. +If absent, ``begin`` defaults to a regexp that matches anything, so the mode starts immediately. + + +end +^^^ + +**type**: regexp + +Regular expression ending a mode. For example a single quote for strings or "$" (end of line) for one-line comments. + +It's often the case that a beginning regular expression defines the entire mode and doesn't need any special ending. +For example a number can be defined with ``begin: "\\b\\d+"`` which spans all the digits. + +If absent, ``end`` defaults to a regexp that matches anything, so the mode ends immediately. + +Sometimes a mode can end not by itself but implicitly with its containing (parent) mode. +This is achieved with :ref:`endsWithParent ` attribute. + + +beginKeywords +^^^^^^^^^^^^^^^^ + +**type**: string + +Used instead of ``begin`` for modes starting with keywords to avoid needless repetition: + +:: + + { + begin: '\\b(extends|implements) ', + keywords: 'extends implements' + } + +… becomes: + +:: + + { + beginKeywords: 'extends implements' + } + +Unlike the :ref:`keywords ` attribute, this one allows only a simple list of space separated keywords. +If you do need additional features of ``keywords`` or you just need more keywords for this mode you may include ``keywords`` along with ``beginKeywords``. + + +.. _endsWithParent: + +endsWithParent +^^^^^^^^^^^^^^ + +**type**: boolean + +A flag showing that a mode ends when its parent ends. + +This is best demonstrated by example. In CSS syntax a selector has a set of rules contained within symbols "{" and "}". +Individual rules separated by ";" but the last one in a set can omit the terminating semicolon: + +:: + + p { + width: 100%; color: red + } + +This is when ``endsWithParent`` comes into play: + +:: + + { + className: 'rules', begin: '{', end: '}', + contains: [ + {className: 'rule', /* ... */ end: ';', endsWithParent: true} + ] + } + +.. _endsParent: + +endsParent +^^^^^^^^^^^^^^ + +**type**: boolean + +Forces closing of the parent mode right after the current mode is closed. + +This is used for modes that don't have an easily expressible ending lexeme but +instead could be closed after the last interesting sub-mode is found. + +Here's an example with two ways of defining functions in Elixir, one using a +keyword ``do`` and another using a comma: + +:: + + def foo :clear, list do + :ok + end + + def foo, do: IO.puts "hello world" + +Note that in the first case the parameter list after the function title may also +include a comma. And iIf we're only interested in highlighting a title we can +tell it to end the function definition after itself: + +:: + + { + className: 'function', + beginKeywords: 'def', end: /\B\b/, + contains: [ + { + className: 'title', + begin: hljs.IDENT_RE, endsParent: true + } + ] + } + +(The ``end: /\B\b/`` regex tells function to never end by itself.) + +.. _lexemes: + +lexemes +^^^^^^^ + +**type**: regexp + +A regular expression that extracts individual lexemes from language text to find :ref:`keywords ` among them. +Default value is ``hljs.IDENT_RE`` which works for most languages. + + +.. _keywords: + +keywords +^^^^^^^^ + +**type**: object + +Keyword definition comes in two forms: + +* ``'for while if else weird_voodoo|10 ... '`` -- a string of space-separated keywords with an optional relevance over a pipe +* ``{'keyword': ' ... ', 'literal': ' ... '}`` -- an object whose keys are names of different kinds of keywords and values are keyword definition strings in the first form + +For detailed explanation see :doc:`Language definition guide `. + + +illegal +^^^^^^^ + +**type**: regexp + +A regular expression that defines symbols illegal for the mode. +When the parser finds a match for illegal expression it immediately drops parsing the whole language altogether. + + +excludeBegin, excludeEnd +^^^^^^^^^^^^^^^^^^^^^^^^ + +**type**: boolean + +Exclude beginning or ending lexemes out of mode's generated markup. For example in CSS syntax a rule ends with a semicolon. +However visually it's better not to color it as the rule contents. Having ``excludeEnd: true`` forces a ```` element for the rule to close before the semicolon. + + +returnBegin +^^^^^^^^^^^ + +**type**: boolean + +Returns just found beginning lexeme back into parser. This is used when beginning of a sub-mode is a complex expression +that should not only be found within a parent mode but also parsed according to the rules of a sub-mode. + +Since the parser is effectively goes back it's quite possible to create a infinite loop here so use with caution! + + +returnEnd +^^^^^^^^^ + +**type**: boolean + +Returns just found ending lexeme back into parser. This is used for example to parse Javascript embedded into HTML. +A Javascript block ends with the HTML closing tag ```` that cannot be parsed with Javascript rules. +So it is returned back into its parent HTML mode that knows what to do with it. + +Since the parser is effectively goes back it's quite possible to create a infinite loop here so use with caution! + + +contains +^^^^^^^^ + +**type**: array + +The list of sub-modes that can be found inside the mode. For detailed explanation see :doc:`Language definition guide `. + + +starts +^^^^^^ + +**type**: identifier + +The name of the mode that will start right after the current mode ends. The new mode won't be contained within the current one. + +Currently this attribute is used to highlight Javascript and CSS contained within HTML. +Tags ``