├── .github └── workflows │ ├── latest.yml │ └── release.yml ├── .gitignore ├── .npmignore ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── components ├── index.js ├── prism-abap.js ├── prism-abap.min.js ├── prism-abnf.js ├── prism-abnf.min.js ├── prism-actionscript.js ├── prism-actionscript.min.js ├── prism-ada.js ├── prism-ada.min.js ├── prism-apacheconf.js ├── prism-apacheconf.min.js ├── prism-apl.js ├── prism-apl.min.js ├── prism-applescript.js ├── prism-applescript.min.js ├── prism-arduino.js ├── prism-arduino.min.js ├── prism-arff.js ├── prism-arff.min.js ├── prism-asciidoc.js ├── prism-asciidoc.min.js ├── prism-asm6502.js ├── prism-asm6502.min.js ├── prism-aspnet.js ├── prism-aspnet.min.js ├── prism-autohotkey.js ├── prism-autohotkey.min.js ├── prism-autoit.js ├── prism-autoit.min.js ├── prism-bash.js ├── prism-bash.min.js ├── prism-basic.js ├── prism-basic.min.js ├── prism-batch.js ├── prism-batch.min.js ├── prism-bison.js ├── prism-bison.min.js ├── prism-bnf.js ├── prism-bnf.min.js ├── prism-brainfuck.js ├── prism-brainfuck.min.js ├── prism-bro.js ├── prism-bro.min.js ├── prism-c.js ├── prism-c.min.js ├── prism-cil.js ├── prism-cil.min.js ├── prism-clike.js ├── prism-clike.min.js ├── prism-clojure.js ├── prism-clojure.min.js ├── prism-cmake.js ├── prism-cmake.min.js ├── prism-coffeescript.js ├── prism-coffeescript.min.js ├── prism-core.js ├── prism-core.min.js ├── prism-cpp.js ├── prism-cpp.min.js ├── prism-crystal.js ├── prism-crystal.min.js ├── prism-csharp.js ├── prism-csharp.min.js ├── prism-csp.js ├── prism-csp.min.js ├── prism-css-extras.js ├── prism-css-extras.min.js ├── prism-css.js ├── prism-css.min.js ├── prism-d.js ├── prism-d.min.js ├── prism-dart.js ├── prism-dart.min.js ├── prism-diff.js ├── prism-diff.min.js ├── prism-django.js ├── prism-django.min.js ├── prism-docker.js ├── prism-docker.min.js ├── prism-ebnf.js ├── prism-ebnf.min.js ├── prism-eiffel.js ├── prism-eiffel.min.js ├── prism-ejs.js ├── prism-ejs.min.js ├── prism-elixir.js ├── prism-elixir.min.js ├── prism-elm.js ├── prism-elm.min.js ├── prism-erb.js ├── prism-erb.min.js ├── prism-erlang.js ├── prism-erlang.min.js ├── prism-flow.js ├── prism-flow.min.js ├── prism-fortran.js ├── prism-fortran.min.js ├── prism-fsharp.js ├── prism-fsharp.min.js ├── prism-gcode.js ├── prism-gcode.min.js ├── prism-gedcom.js ├── prism-gedcom.min.js ├── prism-gherkin.js ├── prism-gherkin.min.js ├── prism-git.js ├── prism-git.min.js ├── prism-glsl.js ├── prism-glsl.min.js ├── prism-gml.js ├── prism-gml.min.js ├── prism-go.js ├── prism-go.min.js ├── prism-graphql.js ├── prism-graphql.min.js ├── prism-groovy.js ├── prism-groovy.min.js ├── prism-haml.js ├── prism-haml.min.js ├── prism-handlebars.js ├── prism-handlebars.min.js ├── prism-haskell.js ├── prism-haskell.min.js ├── prism-haxe.js ├── prism-haxe.min.js ├── prism-hcl.js ├── prism-hcl.min.js ├── prism-hpkp.js ├── prism-hpkp.min.js ├── prism-hsts.js ├── prism-hsts.min.js ├── prism-http.js ├── prism-http.min.js ├── prism-ichigojam.js ├── prism-ichigojam.min.js ├── prism-icon.js ├── prism-icon.min.js ├── prism-inform7.js ├── prism-inform7.min.js ├── prism-ini.js ├── prism-ini.min.js ├── prism-io.js ├── prism-io.min.js ├── prism-j.js ├── prism-j.min.js ├── prism-java.js ├── prism-java.min.js ├── prism-javadoc.js ├── prism-javadoc.min.js ├── prism-javadoclike.js ├── prism-javadoclike.min.js ├── prism-javascript.js ├── prism-javascript.min.js ├── prism-javastacktrace.js ├── prism-javastacktrace.min.js ├── prism-jolie.js ├── prism-jolie.min.js ├── prism-js-extras.js ├── prism-js-extras.min.js ├── prism-jsdoc.js ├── prism-jsdoc.min.js ├── prism-json.js ├── prism-json.min.js ├── prism-json5.js ├── prism-json5.min.js ├── prism-jsonp.js ├── prism-jsonp.min.js ├── prism-jsx.js ├── prism-jsx.min.js ├── prism-julia.js ├── prism-julia.min.js ├── prism-keyman.js ├── prism-keyman.min.js ├── prism-kotlin.js ├── prism-kotlin.min.js ├── prism-latex.js ├── prism-latex.min.js ├── prism-less.js ├── prism-less.min.js ├── prism-liquid.js ├── prism-liquid.min.js ├── prism-lisp.js ├── prism-lisp.min.js ├── prism-livescript.js ├── prism-livescript.min.js ├── prism-lolcode.js ├── prism-lolcode.min.js ├── prism-lua.js ├── prism-lua.min.js ├── prism-makefile.js ├── prism-makefile.min.js ├── prism-markdown.js ├── prism-markdown.min.js ├── prism-markup-templating.js ├── prism-markup-templating.min.js ├── prism-markup.js ├── prism-markup.min.js ├── prism-matlab.js ├── prism-matlab.min.js ├── prism-mel.js ├── prism-mel.min.js ├── prism-mizar.js ├── prism-mizar.min.js ├── prism-monkey.js ├── prism-monkey.min.js ├── prism-n1ql.js ├── prism-n1ql.min.js ├── prism-n4js.js ├── prism-n4js.min.js ├── prism-nand2tetris-hdl.js ├── prism-nand2tetris-hdl.min.js ├── prism-nasm.js ├── prism-nasm.min.js ├── prism-nginx.js ├── prism-nginx.min.js ├── prism-nim.js ├── prism-nim.min.js ├── prism-nix.js ├── prism-nix.min.js ├── prism-nsis.js ├── prism-nsis.min.js ├── prism-objectivec.js ├── prism-objectivec.min.js ├── prism-ocaml.js ├── prism-ocaml.min.js ├── prism-opencl.js ├── prism-opencl.min.js ├── prism-oz.js ├── prism-oz.min.js ├── prism-parigp.js ├── prism-parigp.min.js ├── prism-parser.js ├── prism-parser.min.js ├── prism-pascal.js ├── prism-pascal.min.js ├── prism-perl.js ├── prism-perl.min.js ├── prism-php-extras.js ├── prism-php-extras.min.js ├── prism-php.js ├── prism-php.min.js ├── prism-phpdoc.js ├── prism-phpdoc.min.js ├── prism-plsql.js ├── prism-plsql.min.js ├── prism-powershell.js ├── prism-powershell.min.js ├── prism-processing.js ├── prism-processing.min.js ├── prism-prolog.js ├── prism-prolog.min.js ├── prism-properties.js ├── prism-properties.min.js ├── prism-protobuf.js ├── prism-protobuf.min.js ├── prism-pug.js ├── prism-pug.min.js ├── prism-puppet.js ├── prism-puppet.min.js ├── prism-pure.js ├── prism-pure.min.js ├── prism-python.js ├── prism-python.min.js ├── prism-q.js ├── prism-q.min.js ├── prism-qore.js ├── prism-qore.min.js ├── prism-r.js ├── prism-r.min.js ├── prism-reason.js ├── prism-reason.min.js ├── prism-regex.js ├── prism-regex.min.js ├── prism-renpy.js ├── prism-renpy.min.js ├── prism-rest.js ├── prism-rest.min.js ├── prism-rip.js ├── prism-rip.min.js ├── prism-roboconf.js ├── prism-roboconf.min.js ├── prism-ruby.js ├── prism-ruby.min.js ├── prism-rust.js ├── prism-rust.min.js ├── prism-sas.js ├── prism-sas.min.js ├── prism-sass.js ├── prism-sass.min.js ├── prism-scala.js ├── prism-scala.min.js ├── prism-scheme.js ├── prism-scheme.min.js ├── prism-scss.js ├── prism-scss.min.js ├── prism-smalltalk.js ├── prism-smalltalk.min.js ├── prism-smarty.js ├── prism-smarty.min.js ├── prism-soy.js ├── prism-soy.min.js ├── prism-sql.js ├── prism-sql.min.js ├── prism-stylus.js ├── prism-stylus.min.js ├── prism-swift.js ├── prism-swift.min.js ├── prism-t4-cs.js ├── prism-t4-cs.min.js ├── prism-t4-templating.js ├── prism-t4-templating.min.js ├── prism-t4-vb.js ├── prism-t4-vb.min.js ├── prism-tap.js ├── prism-tap.min.js ├── prism-tcl.js ├── prism-tcl.min.js ├── prism-textile.js ├── prism-textile.min.js ├── prism-toml.js ├── prism-toml.min.js ├── prism-tsx.js ├── prism-tsx.min.js ├── prism-tt2.js ├── prism-tt2.min.js ├── prism-twig.js ├── prism-twig.min.js ├── prism-typescript.js ├── prism-typescript.min.js ├── prism-vala.js ├── prism-vala.min.js ├── prism-vbnet.js ├── prism-vbnet.min.js ├── prism-velocity.js ├── prism-velocity.min.js ├── prism-verilog.js ├── prism-verilog.min.js ├── prism-vhdl.js ├── prism-vhdl.min.js ├── prism-vim.js ├── prism-vim.min.js ├── prism-visual-basic.js ├── prism-visual-basic.min.js ├── prism-wasm.js ├── prism-wasm.min.js ├── prism-wiki.js ├── prism-wiki.min.js ├── prism-xeora.js ├── prism-xeora.min.js ├── prism-xojo.js ├── prism-xojo.min.js ├── prism-xquery.js ├── prism-xquery.min.js ├── prism-yaml.js └── prism-yaml.min.js ├── dev ├── index.html ├── sample.md ├── sample2.md └── sample3.md ├── examples ├── cdn │ ├── cpp.html │ ├── external-source.html │ ├── inline-source.html │ ├── python.html │ └── syntax-highlighting.html └── npm │ ├── cpp.html │ ├── external-source.html │ ├── inline-source.html │ ├── python.html │ └── syntax-highlighting.html ├── index.js ├── index.min.js ├── package.json ├── src └── wc-markdown.js └── themes ├── prism-coy.css ├── prism-dark.css ├── prism-funky.css ├── prism-okaidia.css ├── prism-solarizedlight.css ├── prism-tomorrow.css ├── prism-twilight.css ├── prism.css └── themes ├── prism-coy.css ├── prism-dark.css ├── prism-funky.css ├── prism-okaidia.css ├── prism-solarizedlight.css ├── prism-tomorrow.css ├── prism-twilight.css └── prism.css /.github/workflows/latest.yml: -------------------------------------------------------------------------------- 1 | name: Latest 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | verify: 7 | name: Verify 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v1 12 | - name: Setup 13 | uses: actions/setup-node@v1 14 | with: 15 | node-version: 14 16 | - name: Cache 17 | uses: actions/cache@v1 18 | with: 19 | path: node_modules 20 | key: ${{ runner.OS }}-npm-cache-${{ hashFiles('**/package.json') }} 21 | restore-keys: | 22 | ${{ runner.OS }}-npm-cache- 23 | - name: Install 24 | run: npm i 25 | - name: Test 26 | run: npm run test --if-present 27 | - name: Lint 28 | run: npm run lint --if-present 29 | - name: Types 30 | run: npm run types --if-present 31 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | check: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@master 14 | - name: Setup 15 | uses: actions/setup-node@v1 16 | with: 17 | node-version: 14 18 | - name: Cache 19 | uses: actions/cache@v1 20 | with: 21 | path: node_modules 22 | key: ${{ runner.OS }}-npm-cache-${{ hashFiles('**/package.json') }} 23 | restore-keys: | 24 | ${{ runner.OS }}-npm-cache- 25 | - name: Verify 26 | run: | 27 | npm i 28 | npm run preversion 29 | npm: 30 | runs-on: ubuntu-latest 31 | needs: check 32 | steps: 33 | - name: Checkout 34 | uses: actions/checkout@master 35 | - name: Publish 36 | run: | 37 | echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_AUTH_TOKEN }}" > ~/.npmrc 38 | npm publish --access public 39 | gh: 40 | runs-on: ubuntu-latest 41 | needs: check 42 | steps: 43 | - name: Checkout 44 | uses: actions/checkout@master 45 | - name: Publish 46 | run: | 47 | echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc 48 | ORG="$(echo '${{ github.repository }}' | cut -d'/' -f1)" 49 | echo "registry=https://npm.pkg.github.com/$ORG" > .npmrc 50 | npm publish 51 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | package/ 3 | *.tgz 4 | package-lock.json 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .github/ 2 | .vscode/ 3 | dev/ 4 | examples/ 5 | *.tgz 6 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "chrome", 6 | "request": "launch", 7 | "name": "Chrome", 8 | "url": "http://localhost:5500/dev", 9 | "webRoot": "${workspaceFolder}", 10 | "pathMapping": { 11 | "/dev/": "${workspaceFolder}/dev/" 12 | } 13 | }, 14 | { 15 | "type": "browser-preview", 16 | "request": "launch", 17 | "name": "Browser Preview", 18 | "url": "http://localhost:5500/dev/", 19 | "webRoot": "${workspaceFolder}", 20 | "pathMapping": { 21 | "/dev/": "${workspaceFolder}/dev/" 22 | } 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 VanillaWC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /components/prism-abnf.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | var coreRules = '(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)'; 4 | 5 | Prism.languages.abnf = { 6 | 'comment': /;.*/, 7 | 'string': { 8 | pattern: /(?:%[is])?"[^"\n\r]*"/, 9 | greedy: true, 10 | inside: { 11 | 'punctuation': /^%[is]/ 12 | } 13 | }, 14 | 'range': { 15 | pattern: /%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i, 16 | alias: 'number' 17 | }, 18 | 'terminal': { 19 | pattern: /%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i, 20 | alias: 'number' 21 | }, 22 | 'repetition': { 23 | pattern: /(^|[^\w-])(?:\d*\*\d*|\d+)/, 24 | lookbehind: true, 25 | alias: 'operator' 26 | }, 27 | 'definition': { 28 | pattern: /(^[ \t]*)(?:[a-z][\w-]*|<[^>\r\n]*>)(?=\s*=)/m, 29 | lookbehind: true, 30 | alias: 'keyword', 31 | inside: { 32 | 'punctuation': /<|>/ 33 | } 34 | }, 35 | 'core-rule': { 36 | pattern: RegExp('(?:(^|[^<\\w-])' + coreRules + '|<' + coreRules + '>)(?![\\w-])', 'i'), 37 | lookbehind: true, 38 | alias: ['rule', 'constant'], 39 | inside: { 40 | 'punctuation': /<|>/ 41 | } 42 | }, 43 | 'rule': { 44 | pattern: /(^|[^<\w-])[a-z][\w-]*|<[^>\r\n]*>/i, 45 | lookbehind: true, 46 | inside: { 47 | 'punctuation': /<|>/ 48 | } 49 | }, 50 | 'operator': /=\/?|\//, 51 | 'punctuation': /[()\[\]]/ 52 | }; 53 | 54 | })(Prism); 55 | -------------------------------------------------------------------------------- /components/prism-abnf.min.js: -------------------------------------------------------------------------------- 1 | !function(n){var i="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";Prism.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:!0,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^>\r\n]*>)(?=\s*=)/m,lookbehind:!0,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+i+"|<"+i+">)(?![\\w-])","i"),lookbehind:!0,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^>\r\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}}(); -------------------------------------------------------------------------------- /components/prism-actionscript.js: -------------------------------------------------------------------------------- 1 | Prism.languages.actionscript = Prism.languages.extend('javascript', { 2 | 'keyword': /\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/, 3 | 'operator': /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/ 4 | }); 5 | Prism.languages.actionscript['class-name'].alias = 'function'; 6 | 7 | if (Prism.languages.markup) { 8 | Prism.languages.insertBefore('actionscript', 'string', { 9 | 'xml': { 10 | pattern: /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/, 11 | lookbehind: true, 12 | inside: { 13 | rest: Prism.languages.markup 14 | } 15 | } 16 | }); 17 | } -------------------------------------------------------------------------------- /components/prism-actionscript.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.actionscript=Prism.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),Prism.languages.actionscript["class-name"].alias="function",Prism.languages.markup&&Prism.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:{rest:Prism.languages.markup}}}); -------------------------------------------------------------------------------- /components/prism-ada.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ada = { 2 | 'comment': /--.*/, 3 | 'string': /"(?:""|[^"\r\f\n])*"/i, 4 | 'number': [ 5 | { 6 | pattern: /\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i 7 | }, 8 | { 9 | pattern: /\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i 10 | } 11 | ], 12 | 'attr-name': /\b'\w+/i, 13 | 'keyword': /\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i, 14 | 'boolean': /\b(?:true|false)\b/i, 15 | 'operator': /<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/, 16 | 'punctuation': /\.\.?|[,;():]/, 17 | 'char': /'.'/, 18 | 'variable': /\b[a-z](?:[_a-z\d])*\b/i 19 | }; -------------------------------------------------------------------------------- /components/prism-ada.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/i,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],"attr-name":/\b'\w+/i,keyword:/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,boolean:/\b(?:true|false)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:[_a-z\d])*\b/i}; -------------------------------------------------------------------------------- /components/prism-apl.js: -------------------------------------------------------------------------------- 1 | Prism.languages.apl = { 2 | 'comment': /(?:⍝|#[! ]).*$/m, 3 | 'string': { 4 | pattern: /'(?:[^'\r\n]|'')*'/, 5 | greedy: true 6 | }, 7 | 'number': /¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞))?/i, 8 | 'statement': /:[A-Z][a-z][A-Za-z]*\b/, 9 | 'system-function': { 10 | pattern: /⎕[A-Z]+/i, 11 | alias: 'function' 12 | }, 13 | 'constant': /[⍬⌾#⎕⍞]/, 14 | 'function': /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/, 15 | 'monadic-operator': { 16 | pattern: /[\\\/⌿⍀¨⍨⌶&∥]/, 17 | alias: 'operator' 18 | }, 19 | 'dyadic-operator': { 20 | pattern: /[.⍣⍠⍤∘⌸@⌺]/, 21 | alias: 'operator' 22 | }, 23 | 'assignment': { 24 | pattern: /←/, 25 | alias: 'keyword' 26 | }, 27 | 'punctuation': /[\[;\]()◇⋄]/, 28 | 'dfn': { 29 | pattern: /[{}⍺⍵⍶⍹∇⍫:]/, 30 | alias: 'builtin' 31 | } 32 | }; -------------------------------------------------------------------------------- /components/prism-apl.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.apl={comment:/(?:⍝|#[! ]).*$/m,string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:!0},number:/¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞))?/i,statement:/:[A-Z][a-z][A-Za-z]*\b/,"system-function":{pattern:/⎕[A-Z]+/i,alias:"function"},constant:/[⍬⌾#⎕⍞]/,function:/[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,"monadic-operator":{pattern:/[\\\/⌿⍀¨⍨⌶&∥]/,alias:"operator"},"dyadic-operator":{pattern:/[.⍣⍠⍤∘⌸@⌺]/,alias:"operator"},assignment:{pattern:/←/,alias:"keyword"},punctuation:/[\[;\]()◇⋄]/,dfn:{pattern:/[{}⍺⍵⍶⍹∇⍫:]/,alias:"builtin"}}; -------------------------------------------------------------------------------- /components/prism-arff.js: -------------------------------------------------------------------------------- 1 | Prism.languages.arff = { 2 | 'comment': /%.*/, 3 | 'string': { 4 | pattern: /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/, 5 | greedy: true 6 | }, 7 | 'keyword': /@(?:attribute|data|end|relation)\b/i, 8 | 'number': /\b\d+(?:\.\d+)?\b/, 9 | 'punctuation': /[{},]/ 10 | }; -------------------------------------------------------------------------------- /components/prism-arff.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.arff={comment:/%.*/,string:{pattern:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\b/i,number:/\b\d+(?:\.\d+)?\b/,punctuation:/[{},]/}; -------------------------------------------------------------------------------- /components/prism-asm6502.js: -------------------------------------------------------------------------------- 1 | Prism.languages.asm6502 = { 2 | 'comment': /;.*/, 3 | 'directive': { 4 | pattern: /\.\w+(?= )/, 5 | alias: 'keyword' 6 | }, 7 | 'string': /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/, 8 | 'opcode': { 9 | pattern: /\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/, 10 | alias: 'property' 11 | }, 12 | 'hexnumber': { 13 | pattern: /#?\$[\da-f]{2,4}/i, 14 | alias: 'string' 15 | }, 16 | 'binarynumber': { 17 | pattern: /#?%[01]+/, 18 | alias: 'string' 19 | }, 20 | 'decimalnumber': { 21 | pattern: /#?\d+/, 22 | alias: 'string' 23 | }, 24 | 'register': { 25 | pattern: /\b[xya]\b/i, 26 | alias: 'variable' 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /components/prism-asm6502.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"keyword"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,opcode:{pattern:/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/,alias:"property"},hexnumber:{pattern:/#?\$[\da-f]{2,4}/i,alias:"string"},binarynumber:{pattern:/#?%[01]+/,alias:"string"},decimalnumber:{pattern:/#?\d+/,alias:"string"},register:{pattern:/\b[xya]\b/i,alias:"variable"}}; -------------------------------------------------------------------------------- /components/prism-aspnet.js: -------------------------------------------------------------------------------- 1 | Prism.languages.aspnet = Prism.languages.extend('markup', { 2 | 'page-directive tag': { 3 | pattern: /<%\s*@.*%>/i, 4 | inside: { 5 | 'page-directive tag': /<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i, 6 | rest: Prism.languages.markup.tag.inside 7 | } 8 | }, 9 | 'directive tag': { 10 | pattern: /<%.*%>/i, 11 | inside: { 12 | 'directive tag': /<%\s*?[$=%#:]{0,2}|%>/i, 13 | rest: Prism.languages.csharp 14 | } 15 | } 16 | }); 17 | // Regexp copied from prism-markup, with a negative look-ahead added 18 | Prism.languages.aspnet.tag.pattern = /<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i; 19 | 20 | // match directives of attribute value foo="<% Bar %>" 21 | Prism.languages.insertBefore('inside', 'punctuation', { 22 | 'directive tag': Prism.languages.aspnet['directive tag'] 23 | }, Prism.languages.aspnet.tag.inside["attr-value"]); 24 | 25 | Prism.languages.insertBefore('aspnet', 'comment', { 26 | 'asp comment': /<%--[\s\S]*?--%>/ 27 | }); 28 | 29 | // script runat="server" contains csharp, not javascript 30 | Prism.languages.insertBefore('aspnet', Prism.languages.javascript ? 'script' : 'tag', { 31 | 'asp script': { 32 | pattern: /()[\s\S]*?(?=<\/script>)/i, 33 | lookbehind: true, 34 | inside: Prism.languages.csharp || {} 35 | } 36 | }); -------------------------------------------------------------------------------- /components/prism-aspnet.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.aspnet=Prism.languages.extend("markup",{"page-directive tag":{pattern:/<%\s*@.*%>/i,inside:{"page-directive tag":/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,rest:Prism.languages.markup.tag.inside}},"directive tag":{pattern:/<%.*%>/i,inside:{"directive tag":/<%\s*?[$=%#:]{0,2}|%>/i,rest:Prism.languages.csharp}}}),Prism.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,Prism.languages.insertBefore("inside","punctuation",{"directive tag":Prism.languages.aspnet["directive tag"]},Prism.languages.aspnet.tag.inside["attr-value"]),Prism.languages.insertBefore("aspnet","comment",{"asp comment":/<%--[\s\S]*?--%>/}),Prism.languages.insertBefore("aspnet",Prism.languages.javascript?"script":"tag",{"asp script":{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.csharp||{}}}); -------------------------------------------------------------------------------- /components/prism-autoit.js: -------------------------------------------------------------------------------- 1 | Prism.languages.autoit = { 2 | "comment": [ 3 | /;.*/, 4 | { 5 | // The multi-line comments delimiters can actually be commented out with ";" 6 | pattern: /(^\s*)#(?:comments-start|cs)[\s\S]*?^\s*#(?:comments-end|ce)/m, 7 | lookbehind: true 8 | } 9 | ], 10 | "url": { 11 | pattern: /(^\s*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m, 12 | lookbehind: true 13 | }, 14 | "string": { 15 | pattern: /(["'])(?:\1\1|(?!\1)[^\r\n])*\1/, 16 | greedy: true, 17 | inside: { 18 | "variable": /([%$@])\w+\1/ 19 | } 20 | }, 21 | "directive": { 22 | pattern: /(^\s*)#\w+/m, 23 | lookbehind: true, 24 | alias: 'keyword' 25 | }, 26 | "function": /\b\w+(?=\()/, 27 | // Variables and macros 28 | "variable": /[$@]\w+/, 29 | "keyword": /\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i, 30 | "number": /\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i, 31 | "boolean": /\b(?:True|False)\b/i, 32 | "operator": /<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Or|Not)\b/i, 33 | "punctuation": /[\[\]().,:]/ 34 | }; -------------------------------------------------------------------------------- /components/prism-autoit.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.autoit={comment:[/;.*/,{pattern:/(^\s*)#(?:comments-start|cs)[\s\S]*?^\s*#(?:comments-end|ce)/m,lookbehind:!0}],url:{pattern:/(^\s*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^\s*)#\w+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:True|False)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Or|Not)\b/i,punctuation:/[\[\]().,:]/}; -------------------------------------------------------------------------------- /components/prism-batch.min.js: -------------------------------------------------------------------------------- 1 | !function(e){var r=/%%?[~:\w]+%?|!\S+!/,t={pattern:/\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,alias:"attr-name",inside:{punctuation:/:/}},n=/"[^"]*"/,i=/(?:\b|-)\d+\b/;Prism.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:"property"},command:[{pattern:/((?:^|[&(])[ \t]*)for(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* \S+ in \([^)]+\) do/im,lookbehind:!0,inside:{keyword:/^for\b|\b(?:in|do)\b/i,string:n,parameter:t,variable:r,number:i,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*)if(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|\S+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:"[^"]*"|\S+))/im,lookbehind:!0,inside:{keyword:/^if\b|\b(?:not|cmdextversion|defined|errorlevel|exist)\b/i,string:n,parameter:t,variable:r,number:i,operator:/\^|==|\b(?:equ|neq|lss|leq|gtr|geq)\b/i}},{pattern:/((?:^|[&()])[ \t]*)else\b/im,lookbehind:!0,inside:{keyword:/^else\b/i}},{pattern:/((?:^|[&(])[ \t]*)set(?: ?\/[a-z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^set\b/i,string:n,parameter:t,variable:[r,/\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],number:i,operator:/[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^\w+\b/i,string:n,parameter:t,label:{pattern:/(^\s*):\S+/m,lookbehind:!0,alias:"property"},variable:r,number:i,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}}(); -------------------------------------------------------------------------------- /components/prism-bison.js: -------------------------------------------------------------------------------- 1 | Prism.languages.bison = Prism.languages.extend('c', {}); 2 | 3 | Prism.languages.insertBefore('bison', 'comment', { 4 | 'bison': { 5 | // This should match all the beginning of the file 6 | // including the prologue(s), the bison declarations and 7 | // the grammar rules. 8 | pattern: /^[\s\S]*?%%[\s\S]*?%%/, 9 | inside: { 10 | 'c': { 11 | // Allow for one level of nested braces 12 | pattern: /%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/, 13 | inside: { 14 | 'delimiter': { 15 | pattern: /^%?\{|%?\}$/, 16 | alias: 'punctuation' 17 | }, 18 | 'bison-variable': { 19 | pattern: /[$@](?:<[^\s>]+>)?[\w$]+/, 20 | alias: 'variable', 21 | inside: { 22 | 'punctuation': /<|>/ 23 | } 24 | }, 25 | rest: Prism.languages.c 26 | } 27 | }, 28 | 'comment': Prism.languages.c.comment, 29 | 'string': Prism.languages.c.string, 30 | 'property': /\S+(?=:)/, 31 | 'keyword': /%\w+/, 32 | 'number': { 33 | pattern: /(^|[^@])\b(?:0x[\da-f]+|\d+)/i, 34 | lookbehind: true 35 | }, 36 | 'punctuation': /%[%?]|[|:;\[\]<>]/ 37 | } 38 | } 39 | }); -------------------------------------------------------------------------------- /components/prism-bison.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.bison=Prism.languages.extend("c",{}),Prism.languages.insertBefore("bison","comment",{bison:{pattern:/^[\s\S]*?%%[\s\S]*?%%/,inside:{c:{pattern:/%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,inside:{delimiter:{pattern:/^%?\{|%?\}$/,alias:"punctuation"},"bison-variable":{pattern:/[$@](?:<[^\s>]+>)?[\w$]+/,alias:"variable",inside:{punctuation:/<|>/}},rest:Prism.languages.c}},comment:Prism.languages.c.comment,string:Prism.languages.c.string,property:/\S+(?=:)/,keyword:/%\w+/,number:{pattern:/(^|[^@])\b(?:0x[\da-f]+|\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\[\]<>]/}}}); -------------------------------------------------------------------------------- /components/prism-bnf.js: -------------------------------------------------------------------------------- 1 | Prism.languages.bnf = { 2 | 'string': { 3 | pattern: /"[^\r\n"]*"|'[^\r\n']*'/ 4 | }, 5 | 'definition': { 6 | pattern: /<[^<>\r\n\t]+>(?=\s*::=)/, 7 | alias: ['rule', 'keyword'], 8 | inside: { 9 | 'punctuation': /^<|>$/ 10 | } 11 | }, 12 | 'rule': { 13 | pattern: /<[^<>\r\n\t]+>/, 14 | inside: { 15 | 'punctuation': /^<|>$/ 16 | } 17 | }, 18 | 'operator': /::=|[|()[\]{}*+?]|\.{3}/ 19 | }; 20 | 21 | Prism.languages.rbnf = Prism.languages.bnf; 22 | -------------------------------------------------------------------------------- /components/prism-bnf.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.bnf={string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},definition:{pattern:/<[^<>\r\n\t]+>(?=\s*::=)/,alias:["rule","keyword"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\r\n\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\]{}*+?]|\.{3}/},Prism.languages.rbnf=Prism.languages.bnf; -------------------------------------------------------------------------------- /components/prism-brainfuck.js: -------------------------------------------------------------------------------- 1 | Prism.languages.brainfuck = { 2 | 'pointer': { 3 | pattern: /<|>/, 4 | alias: 'keyword' 5 | }, 6 | 'increment': { 7 | pattern: /\+/, 8 | alias: 'inserted' 9 | }, 10 | 'decrement': { 11 | pattern: /-/, 12 | alias: 'deleted' 13 | }, 14 | 'branching': { 15 | pattern: /\[|\]/, 16 | alias: 'important' 17 | }, 18 | 'operator': /[.,]/, 19 | 'comment': /\S+/ 20 | }; -------------------------------------------------------------------------------- /components/prism-brainfuck.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.brainfuck={pointer:{pattern:/<|>/,alias:"keyword"},increment:{pattern:/\+/,alias:"inserted"},decrement:{pattern:/-/,alias:"deleted"},branching:{pattern:/\[|\]/,alias:"important"},operator:/[.,]/,comment:/\S+/}; -------------------------------------------------------------------------------- /components/prism-bro.js: -------------------------------------------------------------------------------- 1 | Prism.languages.bro = { 2 | 3 | 'comment': { 4 | pattern: /(^|[^\\$])#.*/, 5 | lookbehind: true, 6 | inside: { 7 | 'italic': /\b(?:TODO|FIXME|XXX)\b/ 8 | } 9 | }, 10 | 11 | 'string': { 12 | pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, 13 | greedy: true 14 | }, 15 | 16 | 'boolean': /\b[TF]\b/, 17 | 18 | 'function': { 19 | pattern: /(?:function|hook|event) \w+(?:::\w+)?/, 20 | inside: { 21 | keyword: /^(?:function|hook|event)/ 22 | } 23 | }, 24 | 25 | 'variable': { 26 | pattern: /(?:global|local) \w+/i, 27 | inside: { 28 | keyword: /(?:global|local)/ 29 | } 30 | }, 31 | 32 | 'builtin': /(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/, 33 | 34 | 'constant': { 35 | pattern: /const \w+/i, 36 | inside: { 37 | keyword: /const/ 38 | } 39 | }, 40 | 41 | 'keyword': /\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/, 42 | 43 | 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/, 44 | 45 | 'number': /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, 46 | 47 | 'punctuation': /[{}[\];(),.:]/ 48 | }; 49 | -------------------------------------------------------------------------------- /components/prism-bro.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.bro={comment:{pattern:/(^|[^\\$])#.*/,lookbehind:!0,inside:{italic:/\b(?:TODO|FIXME|XXX)\b/}},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},boolean:/\b[TF]\b/,function:{pattern:/(?:function|hook|event) \w+(?:::\w+)?/,inside:{keyword:/^(?:function|hook|event)/}},variable:{pattern:/(?:global|local) \w+/i,inside:{keyword:/(?:global|local)/}},builtin:/(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/,constant:{pattern:/const \w+/i,inside:{keyword:/const/}},keyword:/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,punctuation:/[{}[\];(),.:]/}; -------------------------------------------------------------------------------- /components/prism-c.js: -------------------------------------------------------------------------------- 1 | Prism.languages.c = Prism.languages.extend('clike', { 2 | 'class-name': { 3 | pattern: /(\b(?:enum|struct)\s+)\w+/, 4 | lookbehind: true 5 | }, 6 | 'keyword': /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/, 7 | 'operator': />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/, 8 | 'number': /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i 9 | }); 10 | 11 | Prism.languages.insertBefore('c', 'string', { 12 | 'macro': { 13 | // allow for multiline macro definitions 14 | // spaces after the # character compile fine with gcc 15 | pattern: /(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im, 16 | lookbehind: true, 17 | alias: 'property', 18 | inside: { 19 | // highlight the path of the include statement as a string 20 | 'string': { 21 | pattern: /(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/, 22 | lookbehind: true 23 | }, 24 | // highlight macro directives as keywords 25 | 'directive': { 26 | pattern: /(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/, 27 | lookbehind: true, 28 | alias: 'keyword' 29 | } 30 | } 31 | }, 32 | // highlight predefined macros as constants 33 | 'constant': /\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ 34 | }); 35 | 36 | delete Prism.languages.c['boolean']; 37 | -------------------------------------------------------------------------------- /components/prism-c.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.c=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean; -------------------------------------------------------------------------------- /components/prism-clike.js: -------------------------------------------------------------------------------- 1 | Prism.languages.clike = { 2 | 'comment': [ 3 | { 4 | pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, 5 | lookbehind: true 6 | }, 7 | { 8 | pattern: /(^|[^\\:])\/\/.*/, 9 | lookbehind: true, 10 | greedy: true 11 | } 12 | ], 13 | 'string': { 14 | pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, 15 | greedy: true 16 | }, 17 | 'class-name': { 18 | pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, 19 | lookbehind: true, 20 | inside: { 21 | punctuation: /[.\\]/ 22 | } 23 | }, 24 | 'keyword': /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, 25 | 'boolean': /\b(?:true|false)\b/, 26 | 'function': /\w+(?=\()/, 27 | 'number': /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, 28 | 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, 29 | 'punctuation': /[{}[\];(),.:]/ 30 | }; 31 | -------------------------------------------------------------------------------- /components/prism-clike.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/}; -------------------------------------------------------------------------------- /components/prism-coffeescript.min.js: -------------------------------------------------------------------------------- 1 | !function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},rest:e.languages.javascript}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); -------------------------------------------------------------------------------- /components/prism-cpp.js: -------------------------------------------------------------------------------- 1 | Prism.languages.cpp = Prism.languages.extend('c', { 2 | 'class-name': { 3 | pattern: /(\b(?:class|enum|struct)\s+)\w+/, 4 | lookbehind: true 5 | }, 6 | 'keyword': /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, 7 | 'boolean': /\b(?:true|false)\b/, 8 | 'operator': />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ 9 | }); 10 | 11 | Prism.languages.insertBefore('cpp', 'string', { 12 | 'raw-string': { 13 | pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, 14 | alias: 'string', 15 | greedy: true 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /components/prism-cpp.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.cpp=Prism.languages.extend("c",{"class-name":{pattern:/(\b(?:class|enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,boolean:/\b(?:true|false)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),Prism.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}); -------------------------------------------------------------------------------- /components/prism-crystal.js: -------------------------------------------------------------------------------- 1 | (function(Prism) { 2 | Prism.languages.crystal = Prism.languages.extend('ruby', { 3 | keyword: [ 4 | /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/, 5 | { 6 | pattern: /(\.\s*)(?:is_a|responds_to)\?/, 7 | lookbehind: true 8 | } 9 | ], 10 | 11 | number: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/ 12 | }); 13 | 14 | Prism.languages.insertBefore('crystal', 'string', { 15 | attribute: { 16 | pattern: /@\[.+?\]/, 17 | alias: 'attr-name', 18 | inside: { 19 | delimiter: { 20 | pattern: /^@\[|\]$/, 21 | alias: 'tag' 22 | }, 23 | rest: Prism.languages.crystal 24 | } 25 | }, 26 | 27 | expansion: [ 28 | { 29 | pattern: /\{\{.+?\}\}/, 30 | inside: { 31 | delimiter: { 32 | pattern: /^\{\{|\}\}$/, 33 | alias: 'tag' 34 | }, 35 | rest: Prism.languages.crystal 36 | } 37 | }, 38 | { 39 | pattern: /\{%.+?%\}/, 40 | inside: { 41 | delimiter: { 42 | pattern: /^\{%|%\}$/, 43 | alias: 'tag' 44 | }, 45 | rest: Prism.languages.crystal 46 | } 47 | } 48 | ] 49 | }); 50 | 51 | }(Prism)); 52 | -------------------------------------------------------------------------------- /components/prism-crystal.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/}),e.languages.insertBefore("crystal","string",{attribute:{pattern:/@\[.+?\]/,alias:"attr-name",inside:{delimiter:{pattern:/^@\[|\]$/,alias:"tag"},rest:e.languages.crystal}},expansion:[{pattern:/\{\{.+?\}\}/,inside:{delimiter:{pattern:/^\{\{|\}\}$/,alias:"tag"},rest:e.languages.crystal}},{pattern:/\{%.+?%\}/,inside:{delimiter:{pattern:/^\{%|%\}$/,alias:"tag"},rest:e.languages.crystal}}]})}(Prism); -------------------------------------------------------------------------------- /components/prism-csp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Original by Scott Helme. 3 | * 4 | * Reference: https://scotthelme.co.uk/csp-cheat-sheet/ 5 | * 6 | * Supports the following: 7 | * - CSP Level 1 8 | * - CSP Level 2 9 | * - CSP Level 3 10 | */ 11 | 12 | Prism.languages.csp = { 13 | 'directive': { 14 | pattern: /\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i, 15 | alias: 'keyword' 16 | }, 17 | 'safe': { 18 | pattern: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=/]+)'/, 19 | alias: 'selector' 20 | }, 21 | 'unsafe': { 22 | pattern: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/, 23 | alias: 'function' 24 | } 25 | }; -------------------------------------------------------------------------------- /components/prism-csp.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.csp={directive:{pattern:/\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,alias:"keyword"},safe:{pattern:/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=/]+)'/,alias:"selector"},unsafe:{pattern:/(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/,alias:"function"}}; -------------------------------------------------------------------------------- /components/prism-css-extras.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.css.selector={pattern:Prism.languages.css.selector,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-:.\w]+/,id:/#[-:.\w]+/,attribute:{pattern:/\[(?:[^[\]"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*\]/,greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},attribute:{pattern:/^(\s*)[-\w\xA0-\uFFFF]+/,lookbehind:!0},value:[/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,{pattern:/(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},punctuation:/[()]/}},Prism.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i,lookbehind:!0}}),Prism.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:/#[\da-f]{3,8}/i,entity:/\\[\da-f]{1,8}/i,unit:{pattern:/(\d)(?:%|[a-z]+)/,lookbehind:!0},number:/-?[\d.]+/}); -------------------------------------------------------------------------------- /components/prism-css.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/; 4 | 5 | Prism.languages.css = { 6 | 'comment': /\/\*[\s\S]*?\*\//, 7 | 'atrule': { 8 | pattern: /@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i, 9 | inside: { 10 | 'rule': /@[\w-]+/ 11 | // See rest below 12 | } 13 | }, 14 | 'url': RegExp('url\\((?:' + string.source + '|.*?)\\)', 'i'), 15 | 'selector': RegExp('[^{}\\s](?:[^{};"\']|' + string.source + ')*?(?=\\s*\\{)'), 16 | 'string': { 17 | pattern: string, 18 | greedy: true 19 | }, 20 | 'property': /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, 21 | 'important': /!important\b/i, 22 | 'function': /[-a-z0-9]+(?=\()/i, 23 | 'punctuation': /[(){};:,]/ 24 | }; 25 | 26 | Prism.languages.css['atrule'].inside.rest = Prism.languages.css; 27 | 28 | var markup = Prism.languages.markup; 29 | if (markup) { 30 | markup.tag.addInlined('style', 'css'); 31 | 32 | Prism.languages.insertBefore('inside', 'attr-value', { 33 | 'style-attr': { 34 | pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, 35 | inside: { 36 | 'attr-name': { 37 | pattern: /^\s*style/i, 38 | inside: markup.tag.inside 39 | }, 40 | 'punctuation': /^\s*=\s*['"]|['"]\s*$/, 41 | 'attr-value': { 42 | pattern: /.+/i, 43 | inside: Prism.languages.css 44 | } 45 | }, 46 | alias: 'language-css' 47 | } 48 | }, markup.tag); 49 | } 50 | 51 | }(Prism)); 52 | -------------------------------------------------------------------------------- /components/prism-css.min.js: -------------------------------------------------------------------------------- 1 | !function(s){var e=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:RegExp("url\\((?:"+e.source+"|.*?)\\)","i"),selector:RegExp("[^{}\\s](?:[^{};\"']|"+e.source+")*?(?=\\s*\\{)"),string:{pattern:e,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var a=s.languages.markup;a&&(a.tag.addInlined("style","css"),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},a.tag))}(Prism); -------------------------------------------------------------------------------- /components/prism-dart.js: -------------------------------------------------------------------------------- 1 | Prism.languages.dart = Prism.languages.extend('clike', { 2 | 'string': [ 3 | { 4 | pattern: /r?("""|''')[\s\S]*?\1/, 5 | greedy: true 6 | }, 7 | { 8 | pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, 9 | greedy: true 10 | } 11 | ], 12 | 'keyword': [ 13 | /\b(?:async|sync|yield)\*/, 14 | /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ 15 | ], 16 | 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ 17 | }); 18 | 19 | Prism.languages.insertBefore('dart','function',{ 20 | 'metadata': { 21 | pattern: /@\w+/, 22 | alias: 'symbol' 23 | } 24 | }); -------------------------------------------------------------------------------- /components/prism-dart.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.dart=Prism.languages.extend("clike",{string:[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:!0},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/],operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}}); -------------------------------------------------------------------------------- /components/prism-diff.js: -------------------------------------------------------------------------------- 1 | Prism.languages.diff = { 2 | 'coord': [ 3 | // Match all kinds of coord lines (prefixed by "+++", "---" or "***"). 4 | /^(?:\*{3}|-{3}|\+{3}).*$/m, 5 | // Match "@@ ... @@" coord lines in unified diff. 6 | /^@@.*@@$/m, 7 | // Match coord lines in normal diff (starts with a number). 8 | /^\d+.*$/m 9 | ], 10 | 11 | // Match inserted and deleted lines. Support both +/- and >/< styles. 12 | 'deleted': /^[-<].*$/m, 13 | 'inserted': /^[+>].*$/m, 14 | 15 | // Match "different" lines (prefixed with "!") in context diff. 16 | 'diff': { 17 | 'pattern': /^!(?!!).+$/m, 18 | 'alias': 'important' 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /components/prism-diff.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d+.*$/m],deleted:/^[-<].*$/m,inserted:/^[+>].*$/m,diff:{pattern:/^!(?!!).+$/m,alias:"important"}}; -------------------------------------------------------------------------------- /components/prism-django.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e.languages.django={comment:/^{#[\s\S]*?#}$/,tag:{pattern:/(^{%[+-]?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^{[{%][+-]?|[+-]?[}%]}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},filter:{pattern:/(\|)\w+/,lookbehind:!0,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:!0,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+*/%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Tt]rue|[Ff]alse|[Nn]one/,variable:/\b\w+?\b/,punctuation:/[{}[\](),.:;]/};var n=/{{[\s\S]*?}}|{%[\s\S]*?%}|{#[\s\S]*?#}/g,o=e.languages["markup-templating"];e.hooks.add("before-tokenize",function(e){o.buildPlaceholders(e,"django",n)}),e.hooks.add("after-tokenize",function(e){o.tokenizePlaceholders(e,"django")}),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",function(e){o.buildPlaceholders(e,"jinja2",n)}),e.hooks.add("after-tokenize",function(e){o.tokenizePlaceholders(e,"jinja2")})}(Prism); -------------------------------------------------------------------------------- /components/prism-docker.js: -------------------------------------------------------------------------------- 1 | Prism.languages.docker = { 2 | 'keyword': { 3 | pattern: /(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/mi, 4 | lookbehind: true 5 | }, 6 | 'string': /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/, 7 | 'comment': /#.*/, 8 | 'punctuation': /---|\.\.\.|[:[\]{}\-,|>?]/ 9 | }; 10 | 11 | Prism.languages.dockerfile = Prism.languages.docker; 12 | -------------------------------------------------------------------------------- /components/prism-docker.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.docker={keyword:{pattern:/(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im,lookbehind:!0},string:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,comment:/#.*/,punctuation:/---|\.\.\.|[:[\]{}\-,|>?]/},Prism.languages.dockerfile=Prism.languages.docker; -------------------------------------------------------------------------------- /components/prism-ebnf.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ebnf = { 2 | 'comment': /\(\*[\s\S]*?\*\)/, 3 | 'string': { 4 | pattern: /"[^"\r\n]*"|'[^'\r\n]*'/, 5 | greedy: true 6 | }, 7 | 'special': { 8 | pattern: /\?[^?\r\n]*\?/, 9 | greedy: true, 10 | alias: 'class-name' 11 | }, 12 | 13 | 'definition': { 14 | pattern: /^(\s*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im, 15 | lookbehind: true, 16 | alias: ['rule', 'keyword'] 17 | }, 18 | 'rule': /[a-z]\w*(?:[ \t]+[a-z]\w*)*/i, 19 | 20 | 'punctuation': /\([:/]|[:/]\)|[.,;()[\]{}]/, 21 | 'operator': /[-=|*/!]/ 22 | }; 23 | -------------------------------------------------------------------------------- /components/prism-ebnf.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},special:{pattern:/\?[^?\r\n]*\?/,greedy:!0,alias:"class-name"},definition:{pattern:/^(\s*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:!0,alias:["rule","keyword"]},rule:/[a-z]\w*(?:[ \t]+[a-z]\w*)*/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}; -------------------------------------------------------------------------------- /components/prism-eiffel.js: -------------------------------------------------------------------------------- 1 | Prism.languages.eiffel = { 2 | 'comment': /--.*/, 3 | 'string': [ 4 | // Aligned-verbatim-strings 5 | { 6 | pattern: /"([^[]*)\[[\s\S]*?\]\1"/, 7 | greedy: true 8 | }, 9 | // Non-aligned-verbatim-strings 10 | { 11 | pattern: /"([^{]*)\{[\s\S]*?\}\1"/, 12 | greedy: true 13 | }, 14 | // Single-line string 15 | { 16 | pattern: /"(?:%\s+%|%.|[^%"\r\n])*"/, 17 | greedy: true 18 | } 19 | ], 20 | // normal char | special char | char code 21 | 'char': /'(?:%.|[^%'\r\n])+'/, 22 | 'keyword': /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i, 23 | 'boolean': /\b(?:True|False)\b/i, 24 | // Convention: class-names are always all upper-case characters 25 | 'class-name': { 26 | 'pattern': /\b[A-Z][\dA-Z_]*\b/, 27 | 'alias': 'builtin' 28 | }, 29 | 'number': [ 30 | // hexa | octal | bin 31 | /\b0[xcb][\da-f](?:_*[\da-f])*\b/i, 32 | // Decimal 33 | /(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/i 34 | ], 35 | 'punctuation': /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/, 36 | 'operator': /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/ 37 | }; 38 | -------------------------------------------------------------------------------- /components/prism-eiffel.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:!0},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:!0},{pattern:/"(?:%\s+%|%.|[^%"\r\n])*"/,greedy:!0}],char:/'(?:%.|[^%'\r\n])+'/,keyword:/\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,boolean:/\b(?:True|False)\b/i,"class-name":{pattern:/\b[A-Z][\dA-Z_]*\b/,alias:"builtin"},number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}; -------------------------------------------------------------------------------- /components/prism-ejs.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | Prism.languages.ejs = { 4 | 'delimiter': { 5 | pattern: /^<%[-_=]?|[-_]?%>$/, 6 | alias: 'punctuation' 7 | }, 8 | 'comment': /^#[\s\S]*/, 9 | 'language-javascript': { 10 | pattern: /[\s\S]+/, 11 | inside: Prism.languages.javascript 12 | } 13 | }; 14 | 15 | Prism.hooks.add('before-tokenize', function(env) { 16 | var ejsPattern = /<%(?!%)[\s\S]+?%>/g; 17 | Prism.languages['markup-templating'].buildPlaceholders(env, 'ejs', ejsPattern); 18 | }); 19 | 20 | Prism.hooks.add('after-tokenize', function(env) { 21 | Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs'); 22 | }); 23 | 24 | }(Prism)); 25 | -------------------------------------------------------------------------------- /components/prism-ejs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:"punctuation"},comment:/^#[\s\S]*/,"language-javascript":{pattern:/[\s\S]+/,inside:a.languages.javascript}},a.hooks.add("before-tokenize",function(e){a.languages["markup-templating"].buildPlaceholders(e,"ejs",/<%(?!%)[\s\S]+?%>/g)}),a.hooks.add("after-tokenize",function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"ejs")})}(Prism); -------------------------------------------------------------------------------- /components/prism-elixir.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.elixir={comment:{pattern:/#.*/m,lookbehind:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},"attr-name":/\w+:(?!:)/,capture:{pattern:/(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,lookbehind:!0,alias:"function"},argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,boolean:/\b(?:true|false|nil)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},Prism.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.languages.elixir}}}}); -------------------------------------------------------------------------------- /components/prism-elm.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.elm={comment:/--.*|{-[\s\S]*?-}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/,greedy:!0}],import_statement:{pattern:/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+([A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,inside:{keyword:/\b(?:import|as|exposing)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}; -------------------------------------------------------------------------------- /components/prism-erb.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | Prism.languages.erb = Prism.languages.extend('ruby', {}); 4 | Prism.languages.insertBefore('erb', 'comment', { 5 | 'delimiter': { 6 | pattern: /^<%=?|%>$/, 7 | alias: 'punctuation' 8 | } 9 | }); 10 | 11 | Prism.hooks.add('before-tokenize', function(env) { 12 | var erbPattern = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s[\s\S]*?^=end)+?%>/gm; 13 | Prism.languages['markup-templating'].buildPlaceholders(env, 'erb', erbPattern); 14 | }); 15 | 16 | Prism.hooks.add('after-tokenize', function(env) { 17 | Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb'); 18 | }); 19 | 20 | }(Prism)); 21 | -------------------------------------------------------------------------------- /components/prism-erb.min.js: -------------------------------------------------------------------------------- 1 | !function(n){n.languages.erb=n.languages.extend("ruby",{}),n.languages.insertBefore("erb","comment",{delimiter:{pattern:/^<%=?|%>$/,alias:"punctuation"}}),n.hooks.add("before-tokenize",function(e){n.languages["markup-templating"].buildPlaceholders(e,"erb",/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s[\s\S]*?^=end)+?%>/gm)}),n.hooks.add("after-tokenize",function(e){n.languages["markup-templating"].tokenizePlaceholders(e,"erb")})}(Prism); -------------------------------------------------------------------------------- /components/prism-erlang.js: -------------------------------------------------------------------------------- 1 | Prism.languages.erlang = { 2 | 'comment': /%.+/, 3 | 'string': { 4 | pattern: /"(?:\\.|[^\\"\r\n])*"/, 5 | greedy: true 6 | }, 7 | 'quoted-function': { 8 | pattern: /'(?:\\.|[^\\'\r\n])+'(?=\()/, 9 | alias: 'function' 10 | }, 11 | 'quoted-atom': { 12 | pattern: /'(?:\\.|[^\\'\r\n])+'/, 13 | alias: 'atom' 14 | }, 15 | 'boolean': /\b(?:true|false)\b/, 16 | 'keyword': /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/, 17 | 'number': [ 18 | /\$\\?./, 19 | /\d+#[a-z0-9]+/i, 20 | /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i 21 | ], 22 | 'function': /\b[a-z][\w@]*(?=\()/, 23 | 'variable': { 24 | // Look-behind is used to prevent wrong highlighting of atoms containing "@" 25 | pattern: /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/, 26 | lookbehind: true 27 | }, 28 | 'operator': [ 29 | /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/, 30 | { 31 | // We don't want to match << 32 | pattern: /(^|[^<])<(?!<)/, 33 | lookbehind: true 34 | }, 35 | { 36 | // We don't want to match >> 37 | pattern: /(^|[^>])>(?!>)/, 38 | lookbehind: true 39 | } 40 | ], 41 | 'atom': /\b[a-z][\w@]*/, 42 | 'punctuation': /[()[\]{}:;,.#|]|<<|>>/ 43 | 44 | }; -------------------------------------------------------------------------------- /components/prism-erlang.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:true|false)\b/,keyword:/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,number:[/\$\\?./,/\d+#[a-z0-9]+/i,/(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/}; -------------------------------------------------------------------------------- /components/prism-flow.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | Prism.languages.flow = Prism.languages.extend('javascript', {}); 3 | 4 | Prism.languages.insertBefore('flow', 'keyword', { 5 | 'type': [ 6 | { 7 | pattern: /\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/, 8 | alias: 'tag' 9 | } 10 | ] 11 | }); 12 | Prism.languages.flow['function-variable'].pattern = /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i; 13 | delete Prism.languages.flow['parameter']; 14 | 15 | Prism.languages.insertBefore('flow', 'operator', { 16 | 'flow-punctuation': { 17 | pattern: /\{\||\|\}/, 18 | alias: 'punctuation' 19 | } 20 | }); 21 | 22 | if (!Array.isArray(Prism.languages.flow.keyword)) { 23 | Prism.languages.flow.keyword = [Prism.languages.flow.keyword]; 24 | } 25 | Prism.languages.flow.keyword.unshift( 26 | { 27 | pattern: /(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/, 28 | lookbehind: true 29 | }, 30 | { 31 | pattern: /(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/, 32 | lookbehind: true 33 | } 34 | ); 35 | }(Prism)); 36 | -------------------------------------------------------------------------------- /components/prism-flow.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.languages.flow=a.languages.extend("javascript",{}),a.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/,alias:"tag"}]}),a.languages.flow["function-variable"].pattern=/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,delete a.languages.flow.parameter,a.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(a.languages.flow.keyword)||(a.languages.flow.keyword=[a.languages.flow.keyword]),a.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:!0})}(Prism); -------------------------------------------------------------------------------- /components/prism-fortran.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.fortran={"quoted-number":{pattern:/[BOZ](['"])[A-F0-9]+\1/i,alias:"number"},string:{pattern:/(?:\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!\1).)*(?:\1|&)/,inside:{comment:{pattern:/(&(?:\r\n?|\n)\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},boolean:/\.(?:TRUE|FALSE)\.(?:_\w+)?/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,keyword:[/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i,/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i],operator:[/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i,{pattern:/(^|(?!\().)\/(?!\))/,lookbehind:!0}],punctuation:/\(\/|\/\)|[(),;:&]/}; -------------------------------------------------------------------------------- /components/prism-gcode.js: -------------------------------------------------------------------------------- 1 | Prism.languages.gcode = { 2 | 'comment': /;.*|\B\(.*?\)\B/, 3 | 'string': { 4 | pattern: /"(?:""|[^"])*"/, 5 | greedy: true 6 | }, 7 | 'keyword': /\b[GM]\d+(?:\.\d+)?\b/, 8 | 'property': /\b[A-Z]/, 9 | 'checksum': { 10 | pattern: /\*\d+/, 11 | alias: 'punctuation' 12 | }, 13 | // T0:0:0 14 | 'punctuation': /:/ 15 | }; 16 | -------------------------------------------------------------------------------- /components/prism-gcode.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:!0},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/\*\d+/,alias:"punctuation"},punctuation:/:/}; -------------------------------------------------------------------------------- /components/prism-gedcom.js: -------------------------------------------------------------------------------- 1 | Prism.languages.gedcom = { 2 | 'line-value': { 3 | // Preceded by level, optional pointer, and tag 4 | pattern: /(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ +).+/m, 5 | lookbehind: true, 6 | inside: { 7 | 'pointer': { 8 | pattern: /^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/, 9 | alias: 'variable' 10 | } 11 | } 12 | }, 13 | 'tag': { 14 | // Preceded by level and optional pointer 15 | pattern: /(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m, 16 | lookbehind: true, 17 | alias: 'string' 18 | }, 19 | 'level': { 20 | pattern: /(^\s*)\d+/m, 21 | lookbehind: true, 22 | alias: 'number' 23 | }, 24 | 'pointer': { 25 | pattern: /@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/, 26 | alias: 'variable' 27 | } 28 | }; -------------------------------------------------------------------------------- /components/prism-gedcom.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.gedcom={"line-value":{pattern:/(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ +).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,alias:"variable"}}},tag:{pattern:/(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,lookbehind:!0,alias:"string"},level:{pattern:/(^\s*)\d+/m,lookbehind:!0,alias:"number"},pointer:{pattern:/@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,alias:"variable"}}; -------------------------------------------------------------------------------- /components/prism-git.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit \w{40}$/m}; -------------------------------------------------------------------------------- /components/prism-glsl.js: -------------------------------------------------------------------------------- 1 | Prism.languages.glsl = Prism.languages.extend('clike', { 2 | 'comment': [ 3 | /\/\*[\s\S]*?\*\//, 4 | /\/\/(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/ 5 | ], 6 | 'number': /(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ulf]*/i, 7 | 'keyword': /\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ 8 | }); 9 | 10 | Prism.languages.insertBefore('glsl', 'comment', { 11 | 'preprocessor': { 12 | pattern: /(^[ \t]*)#(?:(?:define|undef|if|ifdef|ifndef|else|elif|endif|error|pragma|extension|version|line)\b)?/m, 13 | lookbehind: true, 14 | alias: 'builtin' 15 | } 16 | }); -------------------------------------------------------------------------------- /components/prism-glsl.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.glsl=Prism.languages.extend("clike",{comment:[/\/\*[\s\S]*?\*\//,/\/\/(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/],number:/(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ulf]*/i,keyword:/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/}),Prism.languages.insertBefore("glsl","comment",{preprocessor:{pattern:/(^[ \t]*)#(?:(?:define|undef|if|ifdef|ifndef|else|elif|endif|error|pragma|extension|version|line)\b)?/m,lookbehind:!0,alias:"builtin"}}); -------------------------------------------------------------------------------- /components/prism-go.js: -------------------------------------------------------------------------------- 1 | Prism.languages.go = Prism.languages.extend('clike', { 2 | 'keyword': /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/, 3 | 'builtin': /\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/, 4 | 'boolean': /\b(?:_|iota|nil|true|false)\b/, 5 | 'operator': /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, 6 | 'number': /(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i, 7 | 'string': { 8 | pattern: /(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/, 9 | greedy: true 10 | } 11 | }); 12 | delete Prism.languages.go['class-name']; 13 | -------------------------------------------------------------------------------- /components/prism-go.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.go=Prism.languages.extend("clike",{keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete Prism.languages.go["class-name"]; -------------------------------------------------------------------------------- /components/prism-graphql.js: -------------------------------------------------------------------------------- 1 | Prism.languages.graphql = { 2 | 'comment': /#.*/, 3 | 'string': { 4 | pattern: /"(?:\\.|[^\\"\r\n])*"/, 5 | greedy: true 6 | }, 7 | 'number': /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, 8 | 'boolean': /\b(?:true|false)\b/, 9 | 'variable': /\$[a-z_]\w*/i, 10 | 'directive': { 11 | pattern: /@[a-z_]\w*/i, 12 | alias: 'function' 13 | }, 14 | 'attr-name': { 15 | pattern: /[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i, 16 | greedy: true 17 | }, 18 | 'class-name': { 19 | pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+)[a-zA-Z_]\w*/, 20 | lookbehind: true 21 | }, 22 | 'fragment': { 23 | pattern: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/, 24 | lookbehind: true, 25 | alias: 'function' 26 | }, 27 | 'keyword': /\b(?:enum|fragment|implements|input|interface|mutation|on|query|scalar|schema|type|union)\b/, 28 | 'operator': /[!=|]|\.{3}/, 29 | 'punctuation': /[!(){}\[\]:=,]/, 30 | 'constant': /\b(?!ID\b)[A-Z][A-Z_\d]*\b/ 31 | }; 32 | -------------------------------------------------------------------------------- /components/prism-graphql.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.graphql={comment:/#.*/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:true|false)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+)[a-zA-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:enum|fragment|implements|input|interface|mutation|on|query|scalar|schema|type|union)\b/,operator:/[!=|]|\.{3}/,punctuation:/[!(){}\[\]:=,]/,constant:/\b(?!ID\b)[A-Z][A-Z_\d]*\b/}; -------------------------------------------------------------------------------- /components/prism-groovy.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.groovy=Prism.languages.extend("clike",{keyword:/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,string:[{pattern:/("""|''')[\s\S]*?\1|(?:\$\/)(?:\$\/\$|[\s\S])*?\/\$/,greedy:!0},{pattern:/(["'\/])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.{1,2}(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),Prism.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment"}}),Prism.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:setup|given|when|then|and|cleanup|expect|where):/}),Prism.languages.insertBefore("groovy","function",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0}}),Prism.hooks.add("wrap",function(e){if("groovy"===e.language&&"string"===e.type){var t=e.content[0];if("'"!=t){var n=/([^\\])(?:\$(?:\{.*?\}|[\w.]+))/;"$"===t&&(n=/([^\$])(?:\$(?:\{.*?\}|[\w.]+))/),e.content=e.content.replace(/</g,"<").replace(/&/g,"&"),e.content=Prism.highlight(e.content,{expression:{pattern:n,lookbehind:!0,inside:Prism.languages.groovy}}),e.classes.push("/"===t?"regex":"gstring")}}}); -------------------------------------------------------------------------------- /components/prism-handlebars.js: -------------------------------------------------------------------------------- 1 | (function(Prism) { 2 | 3 | Prism.languages.handlebars = { 4 | 'comment': /\{\{![\s\S]*?\}\}/, 5 | 'delimiter': { 6 | pattern: /^\{\{\{?|\}\}\}?$/i, 7 | alias: 'punctuation' 8 | }, 9 | 'string': /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/, 10 | 'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, 11 | 'boolean': /\b(?:true|false)\b/, 12 | 'block': { 13 | pattern: /^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i, 14 | lookbehind: true, 15 | alias: 'keyword' 16 | }, 17 | 'brackets': { 18 | pattern: /\[[^\]]+\]/, 19 | inside: { 20 | punctuation: /\[|\]/, 21 | variable: /[\s\S]+/ 22 | } 23 | }, 24 | 'punctuation': /[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/, 25 | 'variable': /[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/ 26 | }; 27 | 28 | Prism.hooks.add('before-tokenize', function(env) { 29 | var handlebarsPattern = /\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g; 30 | Prism.languages['markup-templating'].buildPlaceholders(env, 'handlebars', handlebarsPattern); 31 | }); 32 | 33 | Prism.hooks.add('after-tokenize', function(env) { 34 | Prism.languages['markup-templating'].tokenizePlaceholders(env, 'handlebars'); 35 | }); 36 | 37 | }(Prism)); 38 | -------------------------------------------------------------------------------- /components/prism-handlebars.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",function(a){e.languages["markup-templating"].buildPlaceholders(a,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)}),e.hooks.add("after-tokenize",function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"handlebars")})}(Prism); -------------------------------------------------------------------------------- /components/prism-haxe.js: -------------------------------------------------------------------------------- 1 | Prism.languages.haxe = Prism.languages.extend('clike', { 2 | // Strings can be multi-line 3 | 'string': { 4 | pattern: /(["'])(?:(?!\1)[^\\]|\\[\s\S])*\1/, 5 | greedy: true, 6 | inside: { 7 | 'interpolation': { 8 | pattern: /(^|[^\\])\$(?:\w+|\{[^}]+\})/, 9 | lookbehind: true, 10 | inside: { 11 | 'interpolation': { 12 | pattern: /^\$\w*/, 13 | alias: 'variable' 14 | } 15 | // See rest below 16 | } 17 | } 18 | } 19 | }, 20 | // The final look-ahead prevents highlighting of keywords if expressions such as "haxe.macro.Expr" 21 | 'keyword': /\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/, 22 | 'operator': /\.{3}|\+\+?|-[->]?|[=!]=?|&&?|\|\|?|<[<=]?|>[>=]?|[*\/%~^]/ 23 | }); 24 | Prism.languages.insertBefore('haxe', 'class-name', { 25 | 'regex': { 26 | pattern: /~\/(?:[^\/\\\r\n]|\\.)+\/[igmsu]*/, 27 | greedy: true 28 | } 29 | }); 30 | Prism.languages.insertBefore('haxe', 'keyword', { 31 | 'preprocessor': { 32 | pattern: /#\w+/, 33 | alias: 'builtin' 34 | }, 35 | 'metadata': { 36 | pattern: /@:?\w+/, 37 | alias: 'symbol' 38 | }, 39 | 'reification': { 40 | pattern: /\$(?:\w+|(?=\{))/, 41 | alias: 'variable' 42 | } 43 | }); 44 | Prism.languages.haxe['string'].inside['interpolation'].inside.rest = Prism.languages.haxe; 45 | delete Prism.languages.haxe['class-name']; -------------------------------------------------------------------------------- /components/prism-haxe.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.haxe=Prism.languages.extend("clike",{string:{pattern:/(["'])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\])\$(?:\w+|\{[^}]+\})/,lookbehind:!0,inside:{interpolation:{pattern:/^\$\w*/,alias:"variable"}}}}},keyword:/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/,operator:/\.{3}|\+\+?|-[->]?|[=!]=?|&&?|\|\|?|<[<=]?|>[>=]?|[*\/%~^]/}),Prism.languages.insertBefore("haxe","class-name",{regex:{pattern:/~\/(?:[^\/\\\r\n]|\\.)+\/[igmsu]*/,greedy:!0}}),Prism.languages.insertBefore("haxe","keyword",{preprocessor:{pattern:/#\w+/,alias:"builtin"},metadata:{pattern:/@:?\w+/,alias:"symbol"},reification:{pattern:/\$(?:\w+|(?=\{))/,alias:"variable"}}),Prism.languages.haxe.string.inside.interpolation.inside.rest=Prism.languages.haxe,delete Prism.languages.haxe["class-name"]; -------------------------------------------------------------------------------- /components/prism-hcl.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+)[\s\S]*?^\s*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:resource|data)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?={)/i,inside:{type:{pattern:/(provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},{pattern:/[\w-]+(?=\s+{)/}],property:[/[\w-\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:terraform|var|self|count|module|path|data|local)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:terraform|var|self|count|module|path|data|local)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+|\d+\.?\d*(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+|\d+\.?\d*(?:e[+-]?\d+)?/i,boolean:/\b(?:true|false)\b/i,punctuation:/[=\[\]{}]/}; -------------------------------------------------------------------------------- /components/prism-hpkp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Original by Scott Helme. 3 | * 4 | * Reference: https://scotthelme.co.uk/hpkp-cheat-sheet/ 5 | */ 6 | 7 | Prism.languages.hpkp = { 8 | 'directive': { 9 | pattern: /\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[a-zA-Z\d+=/]+"|(?:max-age|report-uri)=|report-to )/, 10 | alias: 'keyword' 11 | }, 12 | 'safe': { 13 | pattern: /\d{7,}/, 14 | alias: 'selector' 15 | }, 16 | 'unsafe': { 17 | pattern: /\d{1,6}/, 18 | alias: 'function' 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /components/prism-hpkp.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.hpkp={directive:{pattern:/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[a-zA-Z\d+=/]+"|(?:max-age|report-uri)=|report-to )/,alias:"keyword"},safe:{pattern:/\d{7,}/,alias:"selector"},unsafe:{pattern:/\d{1,6}/,alias:"function"}}; -------------------------------------------------------------------------------- /components/prism-hsts.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Original by Scott Helme. 3 | * 4 | * Reference: https://scotthelme.co.uk/hsts-cheat-sheet/ 5 | */ 6 | 7 | Prism.languages.hsts = { 8 | 'directive': { 9 | pattern: /\b(?:max-age=|includeSubDomains|preload)/, 10 | alias: 'keyword' 11 | }, 12 | 'safe': { 13 | pattern: /\d{8,}/, 14 | alias: 'selector' 15 | }, 16 | 'unsafe': { 17 | pattern: /\d{1,7}/, 18 | alias: 'function' 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /components/prism-hsts.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.hsts={directive:{pattern:/\b(?:max-age=|includeSubDomains|preload)/,alias:"keyword"},safe:{pattern:/\d{8,}/,alias:"selector"},unsafe:{pattern:/\d{1,7}/,alias:"function"}}; -------------------------------------------------------------------------------- /components/prism-http.min.js: -------------------------------------------------------------------------------- 1 | !function(t){t.languages.http={"request-line":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] \d+.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )\d+.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var a,e,n,i=t.languages,s={"application/javascript":i.javascript,"application/json":i.json||i.javascript,"application/xml":i.xml,"text/xml":i.xml,"text/html":i.html,"text/css":i.css},p={"application/json":!0,"application/xml":!0};for(var r in s)if(s[r]){a=a||{};var T=p[r]?(void 0,n=(e=r).replace(/^[a-z]+\//,""),"(?:"+e+"|\\w+/(?:[\\w.-]+\\+)+"+n+"(?![+\\w.-]))"):r;a[r]={pattern:RegExp("(content-type:\\s*"+T+"[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:!0,inside:{rest:s[r]}}}a&&t.languages.insertBefore("http","header-name",a)}(Prism); -------------------------------------------------------------------------------- /components/prism-ichigojam.js: -------------------------------------------------------------------------------- 1 | // according to the offical reference (EN) 2 | // https://ichigojam.net/IchigoJam-en.html 3 | Prism.languages.ichigojam = { 4 | 'comment': /(?:\B'|REM)(?:[^\n\r]*)/i, 5 | 'string': { 6 | pattern: /"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i, 7 | greedy: true 8 | }, 9 | 'number': /\B#[0-9A-F]+|\B`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i, 10 | 'keyword': /\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i, 11 | 'function': /\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i, 12 | 'label': /(?:\B@[^\s]+)/i, 13 | 'operator': /<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i, 14 | 'punctuation': /[\[,;:()\]]/ 15 | }; -------------------------------------------------------------------------------- /components/prism-ichigojam.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ichigojam={comment:/(?:\B'|REM)(?:[^\n\r]*)/i,string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i,greedy:!0},number:/\B#[0-9A-F]+|\B`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i,function:/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i,label:/(?:\B@[^\s]+)/i,operator:/<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,punctuation:/[\[,;:()\]]/}; -------------------------------------------------------------------------------- /components/prism-icon.js: -------------------------------------------------------------------------------- 1 | Prism.languages.icon = { 2 | 'comment': /#.*/, 3 | 'string': { 4 | pattern: /(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/, 5 | greedy: true 6 | }, 7 | 'number': /\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i, 8 | 'builtin-keyword': { 9 | pattern: /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/, 10 | alias: 'variable' 11 | }, 12 | 'directive': { 13 | pattern: /\$\w+/, 14 | alias: 'builtin' 15 | }, 16 | 'keyword': /\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/, 17 | 'function': /(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/, 18 | 'operator': /[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/, 19 | 'punctuation': /[\[\](){},;]/ 20 | }; -------------------------------------------------------------------------------- /components/prism-icon.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.icon={comment:/#.*/,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,greedy:!0},number:/\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,"builtin-keyword":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/,alias:"variable"},directive:{pattern:/\$\w+/,alias:"builtin"},keyword:/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/,function:/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,operator:/[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,punctuation:/[\[\](){},;]/}; -------------------------------------------------------------------------------- /components/prism-ini.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ini= { 2 | 'comment': /^[ \t]*[;#].*$/m, 3 | 'selector': /^[ \t]*\[.*?\]/m, 4 | 'constant': /^[ \t]*[^\s=]+?(?=[ \t]*=)/m, 5 | 'attr-value': { 6 | pattern: /=.*/, 7 | inside: { 8 | 'punctuation': /^[=]/ 9 | } 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /components/prism-ini.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ini={comment:/^[ \t]*[;#].*$/m,selector:/^[ \t]*\[.*?\]/m,constant:/^[ \t]*[^\s=]+?(?=[ \t]*=)/m,"attr-value":{pattern:/=.*/,inside:{punctuation:/^[=]/}}}; -------------------------------------------------------------------------------- /components/prism-j.js: -------------------------------------------------------------------------------- 1 | Prism.languages.j = { 2 | 'comment': /\bNB\..*/, 3 | 'string': { 4 | pattern: /'(?:''|[^'\r\n])*'/, 5 | greedy: true 6 | }, 7 | 'keyword': /\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/, 8 | 'verb': { 9 | // Negative look-ahead prevents bad highlighting 10 | // of ^: ;. =. =: !. !: 11 | pattern: /(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/, 12 | alias: 'keyword' 13 | }, 14 | 'number': /\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\.))/, 15 | 'adverb': { 16 | pattern: /[~}]|[\/\\]\.?|[bfM]\.|t[.:]/, 17 | alias: 'builtin' 18 | }, 19 | 'operator': /[=a][.:]|_\./, 20 | 'conjunction': { 21 | pattern: /&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/, 22 | alias: 'variable' 23 | }, 24 | 'punctuation': /[()]/ 25 | }; -------------------------------------------------------------------------------- /components/prism-j.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.j={comment:/\bNB\..*/,string:{pattern:/'(?:''|[^'\r\n])*'/,greedy:!0},keyword:/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/,verb:{pattern:/(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,alias:"keyword"},number:/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\.))/,adverb:{pattern:/[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,alias:"builtin"},operator:/[=a][.:]|_\./,conjunction:{pattern:/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,alias:"variable"},punctuation:/[()]/}; -------------------------------------------------------------------------------- /components/prism-java.min.js: -------------------------------------------------------------------------------- 1 | !function(e){var t=/\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\b/,a=/\b[A-Z](?:\w*[a-z]\w*)?\b/;e.languages.java=e.languages.extend("clike",{"class-name":[a,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\2|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); -------------------------------------------------------------------------------- /components/prism-javadoc.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | var codeLines = { 4 | 'code': { 5 | pattern: /(^(\s*(?:\*\s*)*)).*[^*\s].+$/m, 6 | lookbehind: true, 7 | inside: Prism.languages.java, 8 | alias: 'language-java' 9 | } 10 | }; 11 | 12 | Prism.languages.javadoc = Prism.languages.extend('javadoclike', {}); 13 | Prism.languages.insertBefore('javadoc', 'keyword', { 14 | 'class-name': [ 15 | { 16 | pattern: /(@(?:exception|throws|see|link|linkplain|value)\s+(?:[a-z\d]+\.)*)[A-Z](?:\w*[a-z]\w*)?(?:\.[A-Z](?:\w*[a-z]\w*)?)*/, 17 | lookbehind: true, 18 | inside: { 19 | 'punctuation': /\./ 20 | } 21 | }, 22 | { 23 | // @param the first generic type parameter 24 | pattern: /(@param\s+)<[A-Z]\w*>/, 25 | lookbehind: true, 26 | inside: { 27 | 'punctuation': /[.<>]/ 28 | } 29 | } 30 | ], 31 | 'namespace': { 32 | pattern: /(@(?:exception|throws|see|link|linkplain)\s+)(?:[a-z\d]+\.)+/, 33 | lookbehind: true, 34 | inside: { 35 | 'punctuation': /\./ 36 | } 37 | }, 38 | 'code-section': [ 39 | { 40 | pattern: /(\{@code\s+)(?:[^{}]|\{[^{}]*\})+?(?=\s*\})/, 41 | lookbehind: true, 42 | inside: codeLines 43 | }, 44 | { 45 | pattern: /(<(code|tt)>\s*)[\s\S]+?(?=\s*<\/\2>)/, 46 | lookbehind: true, 47 | inside: codeLines 48 | } 49 | ], 50 | 'tag': Prism.languages.markup.tag, 51 | }); 52 | 53 | Prism.languages.javadoclike.addSupport('java', Prism.languages.javadoc); 54 | }(Prism)); 55 | -------------------------------------------------------------------------------- /components/prism-javadoc.min.js: -------------------------------------------------------------------------------- 1 | !function(a){var e={code:{pattern:/(^(\s*(?:\*\s*)*)).*[^*\s].+$/m,lookbehind:!0,inside:a.languages.java,alias:"language-java"}};a.languages.javadoc=a.languages.extend("javadoclike",{}),a.languages.insertBefore("javadoc","keyword",{"class-name":[{pattern:/(@(?:exception|throws|see|link|linkplain|value)\s+(?:[a-z\d]+\.)*)[A-Z](?:\w*[a-z]\w*)?(?:\.[A-Z](?:\w*[a-z]\w*)?)*/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}}],namespace:{pattern:/(@(?:exception|throws|see|link|linkplain)\s+)(?:[a-z\d]+\.)+/,lookbehind:!0,inside:{punctuation:/\./}},"code-section":[{pattern:/(\{@code\s+)(?:[^{}]|\{[^{}]*\})+?(?=\s*\})/,lookbehind:!0,inside:e},{pattern:/(<(code|tt)>\s*)[\s\S]+?(?=\s*<\/\2>)/,lookbehind:!0,inside:e}],tag:a.languages.markup.tag}),a.languages.javadoclike.addSupport("java",a.languages.javadoc)}(Prism); -------------------------------------------------------------------------------- /components/prism-javadoclike.min.js: -------------------------------------------------------------------------------- 1 | !function(p){var a=p.languages.javadoclike={parameter:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(a,"addSupport",{value:function(a,e){"string"==typeof a&&(a=[a]),a.forEach(function(a){!function(a,e){var n="doc-comment",t=p.languages[a];if(t){var r=t[n];if(!r){var i={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,alias:"comment"}};r=(t=p.languages.insertBefore(a,"comment",i))[n]}if(r instanceof RegExp&&(r=t[n]={pattern:r}),Array.isArray(r))for(var o=0,s=r.length;o)?\([^()]*\)/m,inside:{keyword:{pattern:/^(\s*)at/,lookbehind:!0},source:[{pattern:/(\()\w+.\w+:\d+(?=\))/,lookbehind:!0,inside:{file:/^\w+\.\w+/,punctuation:/:/,"line-number":{pattern:/\d+/,alias:"number"}}},{pattern:/(\()[^()]*(?=\))/,lookbehind:!0,inside:{keyword:/^(?:Unknown Source|Native Method)$/}}],"class-name":/[\w$]+(?=\.(?:|[\w$]+)\()/,function:/(?:|[\w$]+)(?=\()/,namespace:/[a-z]\w*/,punctuation:/[.()]/}},more:{pattern:/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m,inside:{punctuation:/\.{3}/,number:/\d+/,keyword:/\b[a-z]+(?: [a-z]+)*\b/}}}; -------------------------------------------------------------------------------- /components/prism-jolie.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.jolie=Prism.languages.extend("clike",{keyword:/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/,builtin:/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/,number:/(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[:?\/%^]/,symbol:/[|;@]/,punctuation:/[,.]/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0}}),delete Prism.languages.jolie["class-name"],Prism.languages.insertBefore("jolie","keyword",{function:{pattern:/((?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*)\w+/,lookbehind:!0},aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:!0,inside:{withExtension:{pattern:/\bwith\s+\w+/,inside:{keyword:/\bwith\b/}},function:{pattern:/\w+/},punctuation:{pattern:/,/}}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:!0,inside:{punctuation:{pattern:/,/},function:{pattern:/\w+/},symbol:{pattern:/=>/}}}}); -------------------------------------------------------------------------------- /components/prism-jsdoc.min.js: -------------------------------------------------------------------------------- 1 | !function(a){var e=a.languages.javascript,n="{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}",s="(@(?:param|arg|argument|property)\\s+(?:"+n+"\\s+)?)";a.languages.jsdoc=a.languages.extend("javadoclike",{parameter:{pattern:RegExp(s+"[$\\w\\xA0-\\uFFFF.]+(?=\\s|$)"),lookbehind:!0,inside:{punctuation:/\./}}}),a.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(s+"\\[[$\\w\\xA0-\\uFFFF.]+(?:=[^[\\]]+)?\\](?=\\s|$)"),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:e,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{punctuation:/[.,:?=<>|{}()[\]]/}},{pattern:/(@(?:augments|extends|class|interface|memberof!?|this)\s+)[A-Z]\w*(?:\.[A-Z]\w*)*/,lookbehind:!0,inside:{punctuation:/\./}}],example:{pattern:/(@example\s+)[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^(\s*(?:\*\s*)?).+$/m,lookbehind:!0,inside:e,alias:"language-javascript"}}}}),a.languages.javadoclike.addSupport("javascript",a.languages.jsdoc)}(Prism); -------------------------------------------------------------------------------- /components/prism-json.js: -------------------------------------------------------------------------------- 1 | Prism.languages.json = { 2 | 'comment': /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, 3 | 'property': { 4 | pattern: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, 5 | greedy: true 6 | }, 7 | 'string': { 8 | pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, 9 | greedy: true 10 | }, 11 | 'number': /-?\d+\.?\d*(e[+-]?\d+)?/i, 12 | 'punctuation': /[{}[\],]/, 13 | 'operator': /:/, 14 | 'boolean': /\b(?:true|false)\b/, 15 | 'null': { 16 | pattern: /\bnull\b/, 17 | alias: 'keyword' 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /components/prism-json.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.json={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}}; -------------------------------------------------------------------------------- /components/prism-json5.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | var string = /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/ 4 | 5 | Prism.languages.json5 = Prism.languages.extend('json', { 6 | 'property': [ 7 | { 8 | pattern: RegExp(string.source + '(?=\\s*:)'), 9 | greedy: true 10 | }, 11 | { 12 | pattern: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*:)/, 13 | alias: 'unquoted' 14 | } 15 | ], 16 | 'string': { 17 | pattern: string, 18 | greedy: true 19 | }, 20 | 'number': /[+-]?(?:NaN|Infinity|0x[a-fA-F\d]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?)/ 21 | }); 22 | 23 | }(Prism)); 24 | -------------------------------------------------------------------------------- /components/prism-json5.min.js: -------------------------------------------------------------------------------- 1 | !function(n){var e=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;n.languages.json5=n.languages.extend("json",{property:[{pattern:RegExp(e.source+"(?=\\s*:)"),greedy:!0},{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*:)/,alias:"unquoted"}],string:{pattern:e,greedy:!0},number:/[+-]?(?:NaN|Infinity|0x[a-fA-F\d]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?)/})}(Prism); -------------------------------------------------------------------------------- /components/prism-jsonp.js: -------------------------------------------------------------------------------- 1 | Prism.languages.jsonp = Prism.languages.extend('json', { 2 | 'punctuation': /[{}[\]();,.]/ 3 | }); 4 | 5 | Prism.languages.insertBefore('jsonp', 'punctuation', { 6 | 'function': /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/ 7 | }); 8 | -------------------------------------------------------------------------------- /components/prism-jsonp.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.jsonp=Prism.languages.extend("json",{punctuation:/[{}[\]();,.]/}),Prism.languages.insertBefore("jsonp","punctuation",{function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/}); -------------------------------------------------------------------------------- /components/prism-julia.js: -------------------------------------------------------------------------------- 1 | Prism.languages.julia= { 2 | 'comment': { 3 | pattern: /(^|[^\\])#.*/, 4 | lookbehind: true 5 | }, 6 | 'string': /("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2/, 7 | 'keyword' : /\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/, 8 | 'boolean' : /\b(?:true|false)\b/, 9 | 'number' : /(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?/i, 10 | 'operator': /[-+*^%÷&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/, 11 | 'punctuation' : /[{}[\];(),.:]/ 12 | }; -------------------------------------------------------------------------------- /components/prism-julia.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.julia={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2/,keyword:/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/,boolean:/\b(?:true|false)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?/i,operator:/[-+*^%÷&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\];(),.:]/}; -------------------------------------------------------------------------------- /components/prism-keyman.js: -------------------------------------------------------------------------------- 1 | Prism.languages.keyman = { 2 | 'comment': /\bc\s.*/i, 3 | 'function': /\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[TKU]_[\w?]+|".+?"|'.+?')\s*\]/i, // virtual key 4 | 'string': /("|').*?\1/, 5 | 'bold': [ // header statements, system stores and variable system stores 6 | /&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i, 7 | /\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\b/i 8 | ], 9 | 'keyword': /\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\b/i, // rule keywords 10 | 'atrule': /\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\b/i, // structural keywords 11 | 'number': /\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i, // U+####, x###, d### characters and numbers 12 | 'operator': /[+>\\,()]/, 13 | 'tag': /\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i // prefixes 14 | }; -------------------------------------------------------------------------------- /components/prism-keyman.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.keyman={comment:/\bc\s.*/i,function:/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[TKU]_[\w?]+|".+?"|'.+?')\s*\]/i,string:/("|').*?\1/,bold:[/&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i,/\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\b/i],keyword:/\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\b/i,atrule:/\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\b/i,number:/\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\,()]/,tag:/\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i}; -------------------------------------------------------------------------------- /components/prism-kotlin.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[/\w+(?=\s*\()/,{pattern:/(\.)\w+(?=\s*\{)/,lookbehind:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"],e.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/("""|''')[\s\S]*?\1/,alias:"string"}}),e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\w+@|@\w+/,alias:"symbol"}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:"variable"}];e.languages.kotlin.string.inside=e.languages.kotlin["raw-string"].inside={interpolation:n}}(Prism); -------------------------------------------------------------------------------- /components/prism-latex.min.js: -------------------------------------------------------------------------------- 1 | !function(a){var e=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:e,alias:"regex"}};Prism.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$(?:\\[\s\S]|[^\\$])*\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/,lookbehind:!0,alias:"class-name"},function:{pattern:e,alias:"selector"},punctuation:/[[\]{}&]/}}(); -------------------------------------------------------------------------------- /components/prism-less.js: -------------------------------------------------------------------------------- 1 | /* FIXME : 2 | :extend() is not handled specifically : its highlighting is buggy. 3 | Mixin usage must be inside a ruleset to be highlighted. 4 | At-rules (e.g. import) containing interpolations are buggy. 5 | Detached rulesets are highlighted as at-rules. 6 | A comment before a mixin usage prevents the latter to be properly highlighted. 7 | */ 8 | 9 | Prism.languages.less = Prism.languages.extend('css', { 10 | 'comment': [ 11 | /\/\*[\s\S]*?\*\//, 12 | { 13 | pattern: /(^|[^\\])\/\/.*/, 14 | lookbehind: true 15 | } 16 | ], 17 | 'atrule': { 18 | pattern: /@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i, 19 | inside: { 20 | 'punctuation': /[:()]/ 21 | } 22 | }, 23 | // selectors and mixins are considered the same 24 | 'selector': { 25 | pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/, 26 | inside: { 27 | // mixin parameters 28 | 'variable': /@+[\w-]+/ 29 | } 30 | }, 31 | 32 | 'property': /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i, 33 | 'operator': /[+\-*\/]/ 34 | }); 35 | 36 | Prism.languages.insertBefore('less', 'property', { 37 | 'variable': [ 38 | // Variable declaration (the colon must be consumed!) 39 | { 40 | pattern: /@[\w-]+\s*:/, 41 | inside: { 42 | "punctuation": /:/ 43 | } 44 | }, 45 | 46 | // Variable usage 47 | /@@?[\w-]+/ 48 | ], 49 | 'mixin-usage': { 50 | pattern: /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/, 51 | lookbehind: true, 52 | alias: 'function' 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /components/prism-less.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,lookbehind:!0,alias:"function"}}); -------------------------------------------------------------------------------- /components/prism-liquid.js: -------------------------------------------------------------------------------- 1 | Prism.languages.liquid = { 2 | 'keyword': /\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/, 3 | 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i, 4 | 'operator': { 5 | pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m, 6 | lookbehind: true 7 | }, 8 | 'function': { 9 | pattern: /(^|[\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s;|&])/, 10 | lookbehind: true 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /components/prism-liquid.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.liquid={keyword:/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0},function:{pattern:/(^|[\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s;|&])/,lookbehind:!0}}; -------------------------------------------------------------------------------- /components/prism-lolcode.js: -------------------------------------------------------------------------------- 1 | Prism.languages.lolcode = { 2 | 'comment': [ 3 | /\bOBTW\s+[\s\S]*?\s+TLDR\b/, 4 | /\bBTW.+/ 5 | ], 6 | 'string': { 7 | pattern: /"(?::.|[^"])*"/, 8 | inside: { 9 | 'variable': /:\{[^}]+\}/, 10 | 'symbol': [ 11 | /:\([a-f\d]+\)/i, 12 | /:\[[^\]]+\]/, 13 | /:[)>o":]/ 14 | ] 15 | }, 16 | greedy: true 17 | }, 18 | 'number': /(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/, 19 | 'symbol': { 20 | pattern: /(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/, 21 | lookbehind: true, 22 | inside: { 23 | 'keyword': /A(?=\s)/ 24 | } 25 | }, 26 | 'label': { 27 | pattern: /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/, 28 | lookbehind: true, 29 | alias: 'string' 30 | }, 31 | 'function': { 32 | pattern: /((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/, 33 | lookbehind: true 34 | }, 35 | 'keyword': [ 36 | { 37 | pattern: /(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/, 38 | lookbehind: true 39 | }, 40 | /'Z(?=\s|,|$)/ 41 | ], 42 | 'boolean': { 43 | pattern: /(^|\s)(?:WIN|FAIL)(?=\s|,|$)/, 44 | lookbehind: true 45 | }, 46 | 'variable': { 47 | pattern: /(^|\s)IT(?=\s|,|$)/, 48 | lookbehind: true 49 | }, 50 | 'operator': { 51 | pattern: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/, 52 | lookbehind: true 53 | }, 54 | 'punctuation': /\.{3}|…|,|!/ 55 | }; -------------------------------------------------------------------------------- /components/prism-lolcode.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.lolcode={comment:[/\bOBTW\s+[\s\S]*?\s+TLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^"])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]},greedy:!0},number:/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/,symbol:{pattern:/(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:!0,alias:"string"},function:{pattern:/((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/,lookbehind:!0},keyword:[{pattern:/(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/,lookbehind:!0},/'Z(?=\s|,|$)/],boolean:{pattern:/(^|\s)(?:WIN|FAIL)(?=\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/,lookbehind:!0},punctuation:/\.{3}|…|,|!/}; -------------------------------------------------------------------------------- /components/prism-lua.js: -------------------------------------------------------------------------------- 1 | Prism.languages.lua = { 2 | 'comment': /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m, 3 | // \z may be used to skip the following space 4 | 'string': { 5 | pattern: /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/, 6 | greedy: true 7 | }, 8 | 'number': /\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i, 9 | 'keyword': /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/, 10 | 'function': /(?!\d)\w+(?=\s*(?:[({]))/, 11 | 'operator': [ 12 | /[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/, 13 | { 14 | // Match ".." but don't break "..." 15 | pattern: /(^|[^.])\.\.(?!\.)/, 16 | lookbehind: true 17 | } 18 | ], 19 | 'punctuation': /[\[\](){},;]|\.+|:+/ 20 | }; -------------------------------------------------------------------------------- /components/prism-lua.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}; -------------------------------------------------------------------------------- /components/prism-makefile.js: -------------------------------------------------------------------------------- 1 | Prism.languages.makefile = { 2 | 'comment': { 3 | pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/, 4 | lookbehind: true 5 | }, 6 | 'string': { 7 | pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, 8 | greedy: true 9 | }, 10 | 11 | // Built-in target names 12 | 'builtin': /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/, 13 | 14 | // Targets 15 | 'symbol': { 16 | pattern: /^[^:=\r\n]+(?=\s*:(?!=))/m, 17 | inside: { 18 | 'variable': /\$+(?:[^(){}:#=\s]+|(?=[({]))/ 19 | } 20 | }, 21 | 'variable': /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/, 22 | 23 | 'keyword': [ 24 | // Directives 25 | /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/, 26 | // Functions 27 | { 28 | pattern: /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/, 29 | lookbehind: true 30 | } 31 | ], 32 | 'operator': /(?:::|[?:+!])?=|[|@]/, 33 | 'punctuation': /[:;(){}]/ 34 | }; -------------------------------------------------------------------------------- /components/prism-makefile.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^[^:=\r\n]+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}; -------------------------------------------------------------------------------- /components/prism-markup-templating.min.js: -------------------------------------------------------------------------------- 1 | !function(h){function v(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(h.languages["markup-templating"]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if("function"==typeof o&&!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&&p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t=d.length);t++){var a=n[t];if("string"==typeof a||a.content&&"string"==typeof a.content){var r=d[m],o=p.tokenStack[r],c="string"==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1/,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var i={};i[a]={pattern:RegExp("(<__[\\s\\S]*?>)(?:\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,a),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",i)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup; -------------------------------------------------------------------------------- /components/prism-matlab.js: -------------------------------------------------------------------------------- 1 | Prism.languages.matlab = { 2 | 'comment': [ 3 | /%\{[\s\S]*?\}%/, 4 | /%.+/ 5 | ], 6 | 'string': { 7 | pattern: /\B'(?:''|[^'\r\n])*'/, 8 | greedy: true 9 | }, 10 | // FIXME We could handle imaginary numbers as a whole 11 | 'number': /(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/, 12 | 'keyword': /\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/, 13 | 'function': /(?!\d)\w+(?=\s*\()/, 14 | 'operator': /\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/, 15 | 'punctuation': /\.{3}|[.,;\[\](){}!]/ 16 | }; -------------------------------------------------------------------------------- /components/prism-matlab.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.matlab={comment:[/%\{[\s\S]*?\}%/,/%.+/],string:{pattern:/\B'(?:''|[^'\r\n])*'/,greedy:!0},number:/(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,keyword:/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/,function:/(?!\d)\w+(?=\s*\()/,operator:/\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,punctuation:/\.{3}|[.,;\[\](){}!]/}; -------------------------------------------------------------------------------- /components/prism-mizar.js: -------------------------------------------------------------------------------- 1 | Prism.languages.mizar = { 2 | 'comment': /::.+/, 3 | 'keyword': /@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/, 4 | 'parameter': { 5 | pattern: /\$(?:10|\d)/, 6 | alias: 'variable' 7 | }, 8 | 'variable': /\w+(?=:)/, 9 | 'number': /(?:\b|-)\d+\b/, 10 | 'operator': /\.\.\.|->|&|\.?=/, 11 | 'punctuation': /\(#|#\)|[,:;\[\](){}]/ 12 | }; -------------------------------------------------------------------------------- /components/prism-mizar.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.mizar={comment:/::.+/,keyword:/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}; -------------------------------------------------------------------------------- /components/prism-monkey.js: -------------------------------------------------------------------------------- 1 | Prism.languages.monkey = { 2 | 'string': /"[^"\r\n]*"/, 3 | 'comment': [ 4 | { 5 | pattern: /^#Rem\s+[\s\S]*?^#End/im, 6 | greedy: true 7 | }, 8 | { 9 | pattern: /'.+/, 10 | greedy: true 11 | } 12 | ], 13 | 'preprocessor': { 14 | pattern: /(^[ \t]*)#.+/m, 15 | lookbehind: true, 16 | alias: 'comment' 17 | }, 18 | 'function': /\w+(?=\()/, 19 | 'type-char': { 20 | pattern: /(\w)[?%#$]/, 21 | lookbehind: true, 22 | alias: 'variable' 23 | }, 24 | 'number': { 25 | pattern: /((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i, 26 | lookbehind: true 27 | }, 28 | 'keyword': /\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\b/i, 29 | 'operator': /\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i, 30 | 'punctuation': /[.,:;()\[\]]/ 31 | }; -------------------------------------------------------------------------------- /components/prism-monkey.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.monkey={string:/"[^"\r\n]*"/,comment:[{pattern:/^#Rem\s+[\s\S]*?^#End/im,greedy:!0},{pattern:/'.+/,greedy:!0}],preprocessor:{pattern:/(^[ \t]*)#.+/m,lookbehind:!0,alias:"comment"},function:/\w+(?=\()/,"type-char":{pattern:/(\w)[?%#$]/,lookbehind:!0,alias:"variable"},number:{pattern:/((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,lookbehind:!0},keyword:/\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\b/i,operator:/\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,punctuation:/[.,:;()\[\]]/}; -------------------------------------------------------------------------------- /components/prism-n4js.js: -------------------------------------------------------------------------------- 1 | Prism.languages.n4js = Prism.languages.extend('javascript', { 2 | // Keywords from N4JS language spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html 3 | 'keyword': /\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ 4 | }); 5 | 6 | Prism.languages.insertBefore('n4js', 'constant', { 7 | // Annotations in N4JS spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html#_annotations 8 | 'annotation': { 9 | pattern: /@+\w+/, 10 | alias: 'operator' 11 | } 12 | }); 13 | 14 | Prism.languages.n4jsd=Prism.languages.n4js; 15 | -------------------------------------------------------------------------------- /components/prism-n4js.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.n4js=Prism.languages.extend("javascript",{keyword:/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),Prism.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),Prism.languages.n4jsd=Prism.languages.n4js; -------------------------------------------------------------------------------- /components/prism-nand2tetris-hdl.js: -------------------------------------------------------------------------------- 1 | Prism.languages['nand2tetris-hdl'] = { 2 | 'comment': /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, 3 | 'keyword': /\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/, 4 | 'boolean': /\b(?:true|false)\b/, 5 | 'function': /[A-Za-z][A-Za-z0-9]*(?=\()/, 6 | 'number': /\b\d+\b/, 7 | 'operator': /=|\.\./, 8 | 'punctuation': /[{}[\];(),:]/ 9 | }; 10 | -------------------------------------------------------------------------------- /components/prism-nand2tetris-hdl.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages["nand2tetris-hdl"]={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,keyword:/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/,boolean:/\b(?:true|false)\b/,function:/[A-Za-z][A-Za-z0-9]*(?=\()/,number:/\b\d+\b/,operator:/=|\.\./,punctuation:/[{}[\];(),:]/}; -------------------------------------------------------------------------------- /components/prism-nasm.js: -------------------------------------------------------------------------------- 1 | Prism.languages.nasm = { 2 | 'comment': /;.*$/m, 3 | 'string': /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/, 4 | 'label': { 5 | pattern: /(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m, 6 | lookbehind: true, 7 | alias: 'function' 8 | }, 9 | 'keyword': [ 10 | /\[?BITS (?:16|32|64)\]?/, 11 | { 12 | pattern: /(^\s*)section\s*[a-zA-Z.]+:?/im, 13 | lookbehind: true 14 | }, 15 | /(?:extern|global)[^;\r\n]*/i, 16 | /(?:CPU|FLOAT|DEFAULT).*$/m 17 | ], 18 | 'register': { 19 | pattern: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\b/i, 20 | alias: 'variable' 21 | }, 22 | 'number': /(?:\b|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(?:\.?e[+-]?\d+)?[dt]?)\b/i, 23 | 'operator': /[\[\]*+\-\/%<>=&|$!]/ 24 | }; 25 | -------------------------------------------------------------------------------- /components/prism-nasm.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.nasm={comment:/;.*$/m,string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:!0,alias:"function"},keyword:[/\[?BITS (?:16|32|64)\]?/,{pattern:/(^\s*)section\s*[a-zA-Z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\r\n]*/i,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\b/i,alias:"variable"},number:/(?:\b|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-\/%<>=&|$!]/}; -------------------------------------------------------------------------------- /components/prism-nim.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.nim={comment:/#.*/,string:{pattern:/(?:(?:\b(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")|'(?:\\(?:\d+|x[\da-fA-F]{2}|.)|[^'])')/,greedy:!0},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,function:{pattern:/(?:(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,inside:{operator:/\*$/}},ignore:{pattern:/`[^`\r\n]+`/,inside:{punctuation:/`/}},operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}; -------------------------------------------------------------------------------- /components/prism-nix.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.nix={comment:/\/\*[\s\S]*?\*\/|#.*/,string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*}/,lookbehind:!0,inside:{antiquotation:{pattern:/^\$(?=\{)/,alias:"variable"}}}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\$(?=\{)/,alias:"variable"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,function:/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,boolean:/\b(?:true|false)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/},Prism.languages.nix.string.inside.interpolation.inside.rest=Prism.languages.nix; -------------------------------------------------------------------------------- /components/prism-objectivec.js: -------------------------------------------------------------------------------- 1 | Prism.languages.objectivec = Prism.languages.extend('c', { 2 | 'keyword': /\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, 3 | 'string': /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, 4 | 'operator': /-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/ 5 | }); 6 | 7 | delete Prism.languages.objectivec['class-name']; 8 | -------------------------------------------------------------------------------- /components/prism-objectivec.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.objectivec=Prism.languages.extend("c",{keyword:/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Prism.languages.objectivec["class-name"]; -------------------------------------------------------------------------------- /components/prism-ocaml.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ocaml = { 2 | 'comment': /\(\*[\s\S]*?\*\)/, 3 | 'string': [ 4 | { 5 | pattern: /"(?:\\.|[^\\\r\n"])*"/, 6 | greedy: true 7 | }, 8 | { 9 | pattern: /(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i, 10 | greedy: true 11 | } 12 | ], 13 | 'number': /\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i, 14 | 'type': { 15 | pattern: /\B['`]\w*/, 16 | alias: 'variable' 17 | }, 18 | 'directive': { 19 | pattern: /\B#\w+/, 20 | alias: 'function' 21 | }, 22 | 'keyword': /\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/, 23 | 'boolean': /\b(?:false|true)\b/, 24 | // Custom operators are allowed 25 | 'operator': /:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/, 26 | 'punctuation': /[(){}\[\]|_.,:;]/ 27 | }; -------------------------------------------------------------------------------- /components/prism-ocaml.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i,type:{pattern:/\B['`]\w*/,alias:"variable"},directive:{pattern:/\B#\w+/,alias:"function"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/,punctuation:/[(){}\[\]|_.,:;]/}; -------------------------------------------------------------------------------- /components/prism-oz.js: -------------------------------------------------------------------------------- 1 | Prism.languages.oz = { 2 | 'comment': /\/\*[\s\S]*?\*\/|%.*/, 3 | 'string': { 4 | pattern: /"(?:[^"\\]|\\[\s\S])*"/, 5 | greedy: true 6 | }, 7 | 'atom': { 8 | pattern: /'(?:[^'\\]|\\[\s\S])*'/, 9 | greedy: true, 10 | alias: 'builtin' 11 | }, 12 | 'keyword': /[$_]|\[\]|\b(?:at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/, 13 | 'function': [ 14 | /[a-z][A-Za-z\d]*(?=\()/, 15 | { 16 | pattern: /(\{)[A-Z][A-Za-z\d]*/, 17 | lookbehind: true 18 | } 19 | ], 20 | 'number': /\b(?:0[bx][\da-f]+|\d+\.?\d*(?:e~?\d+)?\b)|&(?:[^\\]|\\(?:\d{3}|.))/i, 21 | 'variable': /\b[A-Z][A-Za-z\d]*|`(?:[^`\\]|\\.)+`/, 22 | 'attr-name': /\w+(?=:)/, 23 | 'operator': /:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/, 24 | 'punctuation': /[\[\](){}.:;?]/ 25 | }; -------------------------------------------------------------------------------- /components/prism-oz.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.oz={comment:/\/\*[\s\S]*?\*\/|%.*/,string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,alias:"builtin"},keyword:/[$_]|\[\]|\b(?:at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,function:[/[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*/,lookbehind:!0}],number:/\b(?:0[bx][\da-f]+|\d+\.?\d*(?:e~?\d+)?\b)|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/\b[A-Z][A-Za-z\d]*|`(?:[^`\\]|\\.)+`/,"attr-name":/\w+(?=:)/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}; -------------------------------------------------------------------------------- /components/prism-parigp.js: -------------------------------------------------------------------------------- 1 | Prism.languages.parigp = { 2 | 'comment': /\/\*[\s\S]*?\*\/|\\\\.*/, 3 | 'string': { 4 | pattern: /"(?:[^"\\\r\n]|\\.)*"/, 5 | greedy: true 6 | }, 7 | // PARI/GP does not care about white spaces at all 8 | // so let's process the keywords to build an appropriate regexp 9 | // (e.g. "b *r *e *a *k", etc.) 10 | 'keyword': (function () { 11 | var keywords = [ 12 | 'breakpoint', 'break', 'dbg_down', 'dbg_err', 'dbg_up', 'dbg_x', 13 | 'forcomposite', 'fordiv', 'forell', 'forpart', 'forprime', 14 | 'forstep', 'forsubgroup', 'forvec', 'for', 'iferr', 'if', 15 | 'local', 'my', 'next', 'return', 'until', 'while' 16 | ]; 17 | keywords = keywords.map(function (keyword) { 18 | return keyword.split('').join(' *'); 19 | }).join('|'); 20 | return RegExp('\\b(?:' + keywords + ')\\b'); 21 | }()), 22 | 'function': /\w[\w ]*?(?= *\()/, 23 | 'number': { 24 | // The lookbehind and the negative lookahead prevent from breaking the .. operator 25 | pattern: /((?:\. *\. *)?)(?:\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *[+-]? *\d(?: *\d)*)?/i, 26 | lookbehind: true 27 | }, 28 | 'operator': /\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/, 29 | 'punctuation': /[\[\]{}().,:;|]/ 30 | }; -------------------------------------------------------------------------------- /components/prism-parigp.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.parigp={comment:/\/\*[\s\S]*?\*\/|\\\\.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},keyword:function(){var r=["breakpoint","break","dbg_down","dbg_err","dbg_up","dbg_x","forcomposite","fordiv","forell","forpart","forprime","forstep","forsubgroup","forvec","for","iferr","if","local","my","next","return","until","while"];return r=r.map(function(r){return r.split("").join(" *")}).join("|"),RegExp("\\b(?:"+r+")\\b")}(),function:/\w[\w ]*?(?= *\()/,number:{pattern:/((?:\. *\. *)?)(?:\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *[+-]? *\d(?: *\d)*)?/i,lookbehind:!0},operator:/\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,punctuation:/[\[\]{}().,:;|]/}; -------------------------------------------------------------------------------- /components/prism-parser.min.js: -------------------------------------------------------------------------------- 1 | !function(e){var n=e.languages.parser=e.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});n=e.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:!0,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:!0},keyword:n.keyword,variable:n.variable,function:n.function,boolean:/\b(?:true|false)\b/,number:/\b(?:0x[a-f\d]+|\d+\.?\d*(?:e[+-]?\d+)?)\b/i,escape:n.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:n.punctuation}}}),n=e.languages.insertBefore("inside","punctuation",{expression:n.expression,keyword:n.keyword,variable:n.variable,function:n.function,escape:n.escape,"parser-punctuation":{pattern:n.punctuation,alias:"punctuation"}},n.tag.inside["attr-value"])}(Prism); -------------------------------------------------------------------------------- /components/prism-pascal.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.pascal={comment:[/\(\*[\s\S]+?\*\)/,/\{[\s\S]+?\}/,/\/\/.*/],string:{pattern:/(?:'(?:''|[^'\r\n])*'|#[&$%]?[a-f\d]+)+|\^[a-z]/i,greedy:!0},keyword:[{pattern:/(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i,lookbehind:!0}],number:[/(?:[&%]\d+|\$[a-f\d]+)/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i],operator:[/\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/i,{pattern:/(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,lookbehind:!0}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/},Prism.languages.objectpascal=Prism.languages.pascal; -------------------------------------------------------------------------------- /components/prism-php-extras.js: -------------------------------------------------------------------------------- 1 | Prism.languages.insertBefore('php', 'variable', { 2 | 'this': /\$this\b/, 3 | 'global': /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/, 4 | 'scope': { 5 | pattern: /\b[\w\\]+::/, 6 | inside: { 7 | keyword: /static|self|parent/, 8 | punctuation: /::|\\/ 9 | } 10 | } 11 | }); -------------------------------------------------------------------------------- /components/prism-php-extras.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.insertBefore("php","variable",{this:/\$this\b/,global:/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/static|self|parent/,punctuation:/::|\\/}}}); -------------------------------------------------------------------------------- /components/prism-phpdoc.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | var typeExpression = /(?:[a-zA-Z]\w*|[|\\[\]])+/.source; 4 | 5 | Prism.languages.phpdoc = Prism.languages.extend('javadoclike', { 6 | 'parameter': { 7 | pattern: RegExp('(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:' + typeExpression + '\\s+)?)\\$\\w+'), 8 | lookbehind: true 9 | } 10 | }); 11 | 12 | Prism.languages.insertBefore('phpdoc', 'keyword', { 13 | 'class-name': [ 14 | { 15 | pattern: RegExp('(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)' + typeExpression), 16 | lookbehind: true, 17 | inside: { 18 | 'keyword': /\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/, 19 | 'punctuation': /[|\\[\]()]/ 20 | } 21 | } 22 | ], 23 | }); 24 | 25 | Prism.languages.javadoclike.addSupport('php', Prism.languages.phpdoc); 26 | 27 | }(Prism)); 28 | -------------------------------------------------------------------------------- /components/prism-phpdoc.min.js: -------------------------------------------------------------------------------- 1 | !function(a){var e="(?:[a-zA-Z]\\w*|[|\\\\[\\]])+";a.languages.phpdoc=a.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+e+"\\s+)?)\\$\\w+"),lookbehind:!0}}),a.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+e),lookbehind:!0,inside:{keyword:/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/,punctuation:/[|\\[\]()]/}}]}),a.languages.javadoclike.addSupport("php",a.languages.phpdoc)}(Prism); -------------------------------------------------------------------------------- /components/prism-processing.js: -------------------------------------------------------------------------------- 1 | Prism.languages.processing = Prism.languages.extend('clike', { 2 | 'keyword': /\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/, 3 | 'operator': /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/ 4 | }); 5 | Prism.languages.insertBefore('processing', 'number', { 6 | // Special case: XML is a type 7 | 'constant': /\b(?!XML\b)[A-Z][A-Z\d_]+\b/, 8 | 'type': { 9 | pattern: /\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/, 10 | alias: 'variable' 11 | } 12 | }); 13 | 14 | // Spaces are allowed between function name and parenthesis 15 | Prism.languages.processing['function'].pattern = /\w+(?=\s*\()/; 16 | 17 | // Class-names is not styled by default 18 | Prism.languages.processing['class-name'].alias = 'variable'; -------------------------------------------------------------------------------- /components/prism-processing.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.processing=Prism.languages.extend("clike",{keyword:/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),Prism.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/,alias:"variable"}}),Prism.languages.processing.function.pattern=/\w+(?=\s*\()/,Prism.languages.processing["class-name"].alias="variable"; -------------------------------------------------------------------------------- /components/prism-prolog.js: -------------------------------------------------------------------------------- 1 | Prism.languages.prolog = { 2 | // Syntax depends on the implementation 3 | 'comment': [ 4 | /%.+/, 5 | /\/\*[\s\S]*?\*\// 6 | ], 7 | // Depending on the implementation, strings may allow escaped newlines and quote-escape 8 | 'string': { 9 | pattern: /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, 10 | greedy: true 11 | }, 12 | 'builtin': /\b(?:fx|fy|xf[xy]?|yfx?)\b/, 13 | 'variable': /\b[A-Z_]\w*/, 14 | // FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.? 15 | 'function': /\b[a-z]\w*(?:(?=\()|\/\d+)/, 16 | 'number': /\b\d+\.?\d*/, 17 | // Custom operators are allowed 18 | 'operator': /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/, 19 | 'punctuation': /[(){}\[\],]/ 20 | }; -------------------------------------------------------------------------------- /components/prism-prolog.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.prolog={comment:[/%.+/,/\/\*[\s\S]*?\*\//],string:{pattern:/(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\b(?:fx|fy|xf[xy]?|yfx?)\b/,variable:/\b[A-Z_]\w*/,function:/\b[a-z]\w*(?:(?=\()|\/\d+)/,number:/\b\d+\.?\d*/,operator:/[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,punctuation:/[(){}\[\],]/}; -------------------------------------------------------------------------------- /components/prism-properties.js: -------------------------------------------------------------------------------- 1 | Prism.languages.properties = { 2 | 'comment': /^[ \t]*[#!].*$/m, 3 | 'attr-value': { 4 | pattern: /(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?: *[=:] *| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m, 5 | lookbehind: true 6 | }, 7 | 'attr-name': /^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?= *[=:] *| )/m, 8 | 'punctuation': /[=:]/ 9 | }; -------------------------------------------------------------------------------- /components/prism-properties.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.properties={comment:/^[ \t]*[#!].*$/m,"attr-value":{pattern:/(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?: *[=:] *| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,lookbehind:!0},"attr-name":/^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?= *[=:] *| )/m,punctuation:/[=:]/}; -------------------------------------------------------------------------------- /components/prism-protobuf.js: -------------------------------------------------------------------------------- 1 | Prism.languages.protobuf = Prism.languages.extend('clike', { 2 | keyword: /\b(?:package|import|message|enum)\b/, 3 | builtin: /\b(?:required|repeated|optional|reserved)\b/, 4 | primitive: { 5 | pattern: /\b(?:double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\b/, 6 | alias: 'symbol' 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /components/prism-protobuf.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.protobuf=Prism.languages.extend("clike",{keyword:/\b(?:package|import|message|enum)\b/,builtin:/\b(?:required|repeated|optional|reserved)\b/,primitive:{pattern:/\b(?:double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\b/,alias:"symbol"}}); -------------------------------------------------------------------------------- /components/prism-q.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,alias:"number"},number:/\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+\.?\d*(?:e[+-]?\d+)?[hjfeb]?)/,keyword:/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?_~=|$&#@^]):?/,alias:"operator"},punctuation:/[(){}\[\];.]/}; -------------------------------------------------------------------------------- /components/prism-qore.js: -------------------------------------------------------------------------------- 1 | Prism.languages.qore = Prism.languages.extend('clike', { 2 | 'comment': { 3 | pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/, 4 | lookbehind: true 5 | }, 6 | // Overridden to allow unescaped multi-line strings 7 | 'string': { 8 | pattern: /("|')(\\[\s\S]|(?!\1)[^\\])*\1/, 9 | greedy: true 10 | }, 11 | 'variable': /\$(?!\d)\w+\b/, 12 | 'keyword': /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/, 13 | 'number': /\b(?:0b[01]+|0x[\da-f]*\.?[\da-fp\-]+|\d*\.?\d+e?\d*[df]|\d*\.?\d+)\b/i, 14 | 'boolean': /\b(?:true|false)\b/i, 15 | 'operator': { 16 | pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/, 17 | lookbehind: true 18 | }, 19 | 'function': /\$?\b(?!\d)\w+(?=\()/ 20 | }); -------------------------------------------------------------------------------- /components/prism-qore.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.qore=Prism.languages.extend("clike",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,lookbehind:!0},string:{pattern:/("|')(\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},variable:/\$(?!\d)\w+\b/,keyword:/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,number:/\b(?:0b[01]+|0x[\da-f]*\.?[\da-fp\-]+|\d*\.?\d+e?\d*[df]|\d*\.?\d+)\b/i,boolean:/\b(?:true|false)\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,lookbehind:!0},function:/\$?\b(?!\d)\w+(?=\()/}); -------------------------------------------------------------------------------- /components/prism-r.js: -------------------------------------------------------------------------------- 1 | Prism.languages.r = { 2 | 'comment': /#.*/, 3 | 'string': { 4 | pattern: /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/, 5 | greedy: true 6 | }, 7 | 'percent-operator': { 8 | // Includes user-defined operators 9 | // and %%, %*%, %/%, %in%, %o%, %x% 10 | pattern: /%[^%\s]*%/, 11 | alias: 'operator' 12 | }, 13 | 'boolean': /\b(?:TRUE|FALSE)\b/, 14 | 'ellipsis': /\.\.(?:\.|\d+)/, 15 | 'number': [ 16 | /\b(?:NaN|Inf)\b/, 17 | /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/ 18 | ], 19 | 'keyword': /\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/, 20 | 'operator': /->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/, 21 | 'punctuation': /[(){}\[\],;]/ 22 | }; -------------------------------------------------------------------------------- /components/prism-r.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:TRUE|FALSE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:NaN|Inf)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}; -------------------------------------------------------------------------------- /components/prism-reason.js: -------------------------------------------------------------------------------- 1 | Prism.languages.reason = Prism.languages.extend('clike', { 2 | 'comment': { 3 | pattern: /(^|[^\\])\/\*[\s\S]*?\*\//, 4 | lookbehind: true 5 | }, 6 | 'string': { 7 | pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/, 8 | greedy: true 9 | }, 10 | // 'class-name' must be matched *after* 'constructor' defined below 11 | 'class-name': /\b[A-Z]\w*/, 12 | 'keyword': /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/, 13 | 'operator': /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ 14 | }); 15 | Prism.languages.insertBefore('reason', 'class-name', { 16 | 'character': { 17 | pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/, 18 | alias: 'string' 19 | }, 20 | 'constructor': { 21 | // Negative look-ahead prevents from matching things like String.capitalize 22 | pattern: /\b[A-Z]\w*\b(?!\s*\.)/, 23 | alias: 'variable' 24 | }, 25 | 'label': { 26 | pattern: /\b[a-z]\w*(?=::)/, 27 | alias: 'symbol' 28 | } 29 | }); 30 | 31 | // We can't match functions property, so let's not even try. 32 | delete Prism.languages.reason.function; -------------------------------------------------------------------------------- /components/prism-reason.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.reason=Prism.languages.extend("clike",{comment:{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/}),Prism.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete Prism.languages.reason.function; -------------------------------------------------------------------------------- /components/prism-regex.min.js: -------------------------------------------------------------------------------- 1 | !function(n){var e={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},a=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|c[a-zA-Z]|0[0-7]{0,2}|[123][0-7]{2}|.)/,r=/\\[wsd]|\.|\\p{[^{}]+}/i,i="(?:[^\\\\-]|"+a.source+")",s=RegExp(i+"-"+i),t={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},c=[/\\(?![123][0-7]{2})[1-9]/,{pattern:/\\k<[^<>']+>/,inside:{"group-name":t}}];n.languages.regex={charset:{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"charset-negation":{pattern:/(^\[)\^/,lookbehind:!0},"charset-punctuation":/^\[|\]$/,range:{pattern:s,inside:{escape:a,"range-punctuation":/-/}},"special-escape":e,charclass:r,backreference:c,escape:a}},"special-escape":e,charclass:r,backreference:c,anchor:/[$^]|\\[ABbGZz]/,escape:a,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]||->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/, 5 | 6 | 'builtin': /@|\bSystem\b/, 7 | 8 | 'boolean': /\b(?:true|false)\b/, 9 | 10 | 'date': /\b\d{4}-\d{2}-\d{2}\b/, 11 | 'time': /\b\d{2}:\d{2}:\d{2}\b/, 12 | 'datetime': /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/, 13 | 14 | 'character': /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/, 15 | 16 | 'regex': { 17 | pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/(?=\s*($|[\r\n,.;})]))/, 18 | lookbehind: true, 19 | greedy: true 20 | }, 21 | 22 | 'symbol': /:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/, 23 | 'string': { 24 | pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, 25 | greedy: true 26 | }, 27 | 'number': /[+-]?(?:(?:\d+\.\d+)|(?:\d+))/, 28 | 29 | 'punctuation': /(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/, 30 | 31 | 'reference': /[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/ 32 | }; 33 | -------------------------------------------------------------------------------- /components/prism-rip.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.rip={comment:/#.*/,keyword:/(?:=>|->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:true|false)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,character:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},number:/[+-]?(?:(?:\d+\.\d+)|(?:\d+))/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/}; -------------------------------------------------------------------------------- /components/prism-roboconf.js: -------------------------------------------------------------------------------- 1 | Prism.languages.roboconf = { 2 | 'comment': /#.*/, 3 | 'keyword': { 4 | 'pattern': /(^|\s)(?:(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{)|(?:external|import)\b)/, 5 | lookbehind: true 6 | }, 7 | 'component': { 8 | pattern: /[\w-]+(?=[ \t]*\{)/, 9 | alias: 'variable' 10 | }, 11 | 'property': /[\w.-]+(?=[ \t]*:)/, 12 | 'value': { 13 | pattern: /(=[ \t]*)[^,;]+/, 14 | lookbehind: true, 15 | alias: 'attr-value' 16 | }, 17 | 'optional': { 18 | pattern: /\(optional\)/, 19 | alias: 'builtin' 20 | }, 21 | 'wildcard': { 22 | pattern: /(\.)\*/, 23 | lookbehind: true, 24 | alias: 'operator' 25 | }, 26 | 'punctuation': /[{},.;:=]/ 27 | }; -------------------------------------------------------------------------------- /components/prism-roboconf.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\s)(?:(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{)|(?:external|import)\b)/,lookbehind:!0},component:{pattern:/[\w-]+(?=[ \t]*\{)/,alias:"variable"},property:/[\w.-]+(?=[ \t]*:)/,value:{pattern:/(=[ \t]*)[^,;]+/,lookbehind:!0,alias:"attr-value"},optional:{pattern:/\(optional\)/,alias:"builtin"},wildcard:{pattern:/(\.)\*/,lookbehind:!0,alias:"operator"},punctuation:/[{},.;:=]/}; -------------------------------------------------------------------------------- /components/prism-rust.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.rust={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:[{pattern:/b?r(#*)"(?:\\.|(?!"\1)[^\\\r\n])*"\1/,greedy:!0},{pattern:/b?"(?:\\.|[^\\\r\n"])*"/,greedy:!0}],char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/,alias:"string"},"lifetime-annotation":{pattern:/'[^\s>']+/,alias:"symbol"},keyword:/\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,attribute:{pattern:/#!?\[.+?\]/,greedy:!0,alias:"attr-name"},function:[/\w+(?=\s*\()/,/\w+!(?=\s*\(|\[)/],"macro-rules":{pattern:/\w+!/,alias:"function"},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/,"closure-params":{pattern:/\|[^|]*\|(?=\s*[{-])/,inside:{punctuation:/[|:,]/,operator:/[&*]/}},punctuation:/[{}[\];(),:]|\.+|->/,operator:/[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<>?=?/}; -------------------------------------------------------------------------------- /components/prism-sas.js: -------------------------------------------------------------------------------- 1 | Prism.languages.sas = { 2 | 'datalines': { 3 | pattern: /^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im, 4 | alias: 'string', 5 | inside: { 6 | 'keyword': { 7 | pattern: /^(\s*)(?:(?:data)?lines|cards)/i, 8 | lookbehind: true 9 | }, 10 | 'punctuation': /;/ 11 | } 12 | }, 13 | 'comment': [ 14 | { 15 | pattern: /(^\s*|;\s*)\*.*;/m, 16 | lookbehind: true 17 | }, 18 | /\/\*[\s\S]+?\*\// 19 | ], 20 | 'datetime': { 21 | // '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt 22 | pattern: /'[^']+'(?:dt?|t)\b/i, 23 | alias: 'number' 24 | }, 25 | 'string': { 26 | pattern: /(["'])(?:\1\1|(?!\1)[\s\S])*\1/, 27 | greedy: true 28 | }, 29 | 'keyword': /\b(?:data|else|format|if|input|proc\s\w+|quit|run|then|libname|set|output|options)\b/i, 30 | // Decimal (1.2e23), hexadecimal (0c1x) 31 | 'number': /\b(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i, 32 | 'operator': /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i, 33 | 'punctuation': /[$%@.(){}\[\];,\\]/ 34 | }; 35 | -------------------------------------------------------------------------------- /components/prism-sas.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.sas={datalines:{pattern:/^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im,alias:"string",inside:{keyword:{pattern:/^(\s*)(?:(?:data)?lines|cards)/i,lookbehind:!0},punctuation:/;/}},comment:[{pattern:/(^\s*|;\s*)\*.*;/m,lookbehind:!0},/\/\*[\s\S]+?\*\//],datetime:{pattern:/'[^']+'(?:dt?|t)\b/i,alias:"number"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},keyword:/\b(?:data|else|format|if|input|proc\s\w+|quit|run|then|libname|set|output|options)\b/i,number:/\b(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,operator:/\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i,punctuation:/[$%@.(){}\[\];,\\]/}; -------------------------------------------------------------------------------- /components/prism-sass.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,a=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s+)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:t,operator:a}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:a,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,lookbehind:!0}})}(Prism); -------------------------------------------------------------------------------- /components/prism-scala.js: -------------------------------------------------------------------------------- 1 | Prism.languages.scala = Prism.languages.extend('java', { 2 | 'keyword': /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/, 3 | 'string': [ 4 | { 5 | pattern: /"""[\s\S]*?"""/, 6 | greedy: true 7 | }, 8 | { 9 | pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, 10 | greedy: true 11 | } 12 | ], 13 | 'builtin': /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/, 14 | 'number': /\b0x[\da-f]*\.?[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e\d+)?[dfl]?/i, 15 | 'symbol': /'[^\d\s\\]\w*/ 16 | }); 17 | delete Prism.languages.scala['class-name']; 18 | delete Prism.languages.scala['function']; 19 | -------------------------------------------------------------------------------- /components/prism-scala.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.scala=Prism.languages.extend("java",{keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],builtin:/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,number:/\b0x[\da-f]*\.?[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e\d+)?[dfl]?/i,symbol:/'[^\d\s\\]\w*/}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function; -------------------------------------------------------------------------------- /components/prism-scheme.js: -------------------------------------------------------------------------------- 1 | Prism.languages.scheme = { 2 | 'comment': /;.*/, 3 | 'string': { 4 | pattern: /"(?:[^"\\]|\\.)*"|'[^()#'\s]+/, 5 | greedy: true 6 | }, 7 | 'character': { 8 | pattern: /#\\(?:[ux][a-fA-F\d]+|[a-zA-Z]+|\S)/, 9 | alias: 'string' 10 | }, 11 | 'keyword': { 12 | pattern: /(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\s])/, 13 | lookbehind: true 14 | }, 15 | 'builtin': { 16 | pattern: /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[()\s])/, 17 | lookbehind: true 18 | }, 19 | 'number': { 20 | pattern: /([\s()])[-+]?\d*\.?\d+(?:\s*[-+]\s*\d*\.?\d+i)?\b/, 21 | lookbehind: true 22 | }, 23 | 'boolean': /#[tf]/, 24 | 'operator': { 25 | pattern: /(\()(?:[-+*%\/]|[<>]=?|=>?)(?=\s|$)/, 26 | lookbehind: true 27 | }, 28 | 'function': { 29 | pattern: /(\()[^()'\s]+(?=[()\s)]|$)/, 30 | lookbehind: true 31 | }, 32 | 'punctuation': /[()']/ 33 | }; 34 | -------------------------------------------------------------------------------- /components/prism-scheme.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.scheme={comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"|'[^()#'\s]+/,greedy:!0},character:{pattern:/#\\(?:[ux][a-fA-F\d]+|[a-zA-Z]+|\S)/,alias:"string"},keyword:{pattern:/(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\s])/,lookbehind:!0},builtin:{pattern:/(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[()\s])/,lookbehind:!0},number:{pattern:/([\s()])[-+]?\d*\.?\d+(?:\s*[-+]\s*\d*\.?\d+i)?\b/,lookbehind:!0},boolean:/#[tf]/,operator:{pattern:/(\()(?:[-+*%\/]|[<>]=?|=>?)(?=\s|$)/,lookbehind:!0},function:{pattern:/(\()[^()'\s]+(?=[()\s)]|$)/,lookbehind:!0},punctuation:/[()']/}; -------------------------------------------------------------------------------- /components/prism-scss.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)*url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; -------------------------------------------------------------------------------- /components/prism-smalltalk.js: -------------------------------------------------------------------------------- 1 | Prism.languages.smalltalk = { 2 | 'comment': /"(?:""|[^"])*"/, 3 | 'string': /'(?:''|[^'])*'/, 4 | 'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i, 5 | 'block-arguments': { 6 | pattern: /(\[\s*):[^\[|]*\|/, 7 | lookbehind: true, 8 | inside: { 9 | 'variable': /:[\da-z]+/i, 10 | 'punctuation': /\|/ 11 | } 12 | }, 13 | 'temporary-variables': { 14 | pattern: /\|[^|]+\|/, 15 | inside: { 16 | 'variable': /[\da-z]+/i, 17 | 'punctuation': /\|/ 18 | } 19 | }, 20 | 'keyword': /\b(?:nil|true|false|self|super|new)\b/, 21 | 'character': { 22 | pattern: /\$./, 23 | alias: 'string' 24 | }, 25 | 'number': [ 26 | /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/, 27 | /\b\d+(?:\.\d+)?(?:e-?\d+)?/ 28 | ], 29 | 'operator': /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/, 30 | 'punctuation': /[.;:?\[\](){}]/ 31 | }; 32 | -------------------------------------------------------------------------------- /components/prism-smalltalk.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.smalltalk={comment:/"(?:""|[^"])*"/,string:/'(?:''|[^'])*'/,symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:nil|true|false|self|super|new)\b/,character:{pattern:/\$./,alias:"string"},number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/}; -------------------------------------------------------------------------------- /components/prism-smarty.min.js: -------------------------------------------------------------------------------- 1 | !function(n){n.languages.smarty={comment:/\{\*[\s\S]*?\*\}/,delimiter:{pattern:/^\{|\}$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->)(?!\d)\w+/,lookbehind:!0},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:!0}],function:[{pattern:/(\|\s*)@?(?!\d)\w+/,lookbehind:!0},/^\/?(?!\d)\w+/,/(?!\d)\w+(?=\()/],"attr-name":{pattern:/\w+\s*=\s*(?:(?!\d)\w+)?/,inside:{variable:{pattern:/(=\s*)(?!\d)\w+/,lookbehind:!0},operator:/=/}},punctuation:[/[\[\]().,:`]|->/],operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/],keyword:/\b(?:false|off|on|no|true|yes)\b/},n.hooks.add("before-tokenize",function(e){var t=!1;n.languages["markup-templating"].buildPlaceholders(e,"smarty",/\{\*[\s\S]*?\*\}|\{[\s\S]+?\}/g,function(e){return"{/literal}"===e&&(t=!1),!t&&("{literal}"===e&&(t=!0),!0)})}),n.hooks.add("after-tokenize",function(e){n.languages["markup-templating"].tokenizePlaceholders(e,"smarty")})}(Prism); -------------------------------------------------------------------------------- /components/prism-soy.min.js: -------------------------------------------------------------------------------- 1 | !function(t){var e=/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,a=/\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;t.languages.soy={comment:[/\/\*[\s\S]*?\*\//,{pattern:/(\s)\/\/.*/,lookbehind:!0,greedy:!0}],"command-arg":{pattern:/({+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,lookbehind:!0,alias:"string",inside:{punctuation:/\./}},parameter:{pattern:/({+\/?\s*@?param\??\s+)\.?[\w.]+/,lookbehind:!0,alias:"variable"},keyword:[{pattern:/({+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,lookbehind:!0},/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/],delimiter:{pattern:/^{+\/?|\/?}+$/,alias:"punctuation"},property:/\w+(?==)/,variable:{pattern:/\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+]))*/,inside:{string:{pattern:e,greedy:!0},number:a,punctuation:/[\[\].?]/}},string:{pattern:e,greedy:!0},function:[/\w+(?=\()/,{pattern:/(\|[^\S\r\n]*)\w+/,lookbehind:!0}],boolean:/\b(?:true|false)\b/,number:a,operator:/\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,punctuation:/[{}()\[\]|.,:]/},t.hooks.add("before-tokenize",function(e){var a=!1;t.languages["markup-templating"].buildPlaceholders(e,"soy",/{{.+?}}|{.+?}|\s\/\/.*|\/\*[\s\S]*?\*\//g,function(e){return"{/literal}"===e&&(a=!1),!a&&("{literal}"===e&&(a=!0),!0)})}),t.hooks.add("after-tokenize",function(e){t.languages["markup-templating"].tokenizePlaceholders(e,"soy")})}(Prism); -------------------------------------------------------------------------------- /components/prism-t4-cs.js: -------------------------------------------------------------------------------- 1 | Prism.languages.t4 = Prism.languages['t4-cs'] = Prism.languages['t4-templating'].createT4('csharp'); 2 | -------------------------------------------------------------------------------- /components/prism-t4-cs.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.t4=Prism.languages["t4-cs"]=Prism.languages["t4-templating"].createT4("csharp"); -------------------------------------------------------------------------------- /components/prism-t4-templating.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | function createBlock(prefix, inside, contentAlias) { 4 | return { 5 | pattern: RegExp('<#' + prefix + '[\\s\\S]*?#>'), 6 | alias: 'block', 7 | inside: { 8 | 'delimiter': { 9 | pattern: RegExp('^<#' + prefix + '|#>$'), 10 | alias: 'important' 11 | }, 12 | 'content': { 13 | pattern: /[\s\S]+/, 14 | inside: inside, 15 | alias: contentAlias 16 | } 17 | } 18 | }; 19 | } 20 | 21 | function createT4(insideLang) { 22 | var grammar = Prism.languages[insideLang]; 23 | var className = 'language-' + insideLang; 24 | 25 | return { 26 | 'block': { 27 | pattern: /<#[\s\S]+?#>/, 28 | inside: { 29 | 'directive': createBlock('@', { 30 | 'attr-value': { 31 | pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/, 32 | inside: { 33 | 'punctuation': /^=|^["']|["']$/ 34 | } 35 | }, 36 | 'keyword': /\w+(?=\s)/, 37 | 'attr-name': /\w+/ 38 | }), 39 | 'expression': createBlock('=', grammar, className), 40 | 'class-feature': createBlock('\\+', grammar, className), 41 | 'standard': createBlock('', grammar, className) 42 | } 43 | } 44 | }; 45 | } 46 | 47 | Prism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', { value: createT4 }); 48 | 49 | }(Prism)); 50 | -------------------------------------------------------------------------------- /components/prism-t4-templating.min.js: -------------------------------------------------------------------------------- 1 | !function(n){function i(e,t,a){return{pattern:RegExp("<#"+e+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+e+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:t,alias:a}}}}n.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:function(e){var t=n.languages[e],a="language-"+e;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:i("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\w+(?=\s)/,"attr-name":/\w+/}),expression:i("=",t,a),"class-feature":i("\\+",t,a),standard:i("",t,a)}}}}})}(Prism); -------------------------------------------------------------------------------- /components/prism-t4-vb.js: -------------------------------------------------------------------------------- 1 | Prism.languages['t4-vb'] = Prism.languages['t4-templating'].createT4('visual-basic'); 2 | -------------------------------------------------------------------------------- /components/prism-t4-vb.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages["t4-vb"]=Prism.languages["t4-templating"].createT4("visual-basic"); -------------------------------------------------------------------------------- /components/prism-tap.js: -------------------------------------------------------------------------------- 1 | Prism.languages.tap = { 2 | fail: /not ok[^#{\n\r]*/, 3 | pass: /ok[^#{\n\r]*/, 4 | pragma: /pragma [+-][a-z]+/, 5 | bailout: /bail out!.*/i, 6 | version: /TAP version \d+/i, 7 | plan: /\d+\.\.\d+(?: +#.*)?/, 8 | subtest: { 9 | pattern: /# Subtest(?:: .*)?/, 10 | greedy: true 11 | }, 12 | punctuation: /[{}]/, 13 | directive: /#.*/, 14 | yamlish: { 15 | pattern: /(^[^\S\r\n]*)---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[^\S\r\n]*\.\.\.$/m, 16 | lookbehind: true, 17 | inside: Prism.languages.yaml, 18 | alias: 'language-yaml' 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /components/prism-tap.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[^\S\r\n]*)---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[^\S\r\n]*\.\.\.$/m,lookbehind:!0,inside:Prism.languages.yaml,alias:"language-yaml"}}; -------------------------------------------------------------------------------- /components/prism-tcl.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$){[^}]+}/,lookbehind:!0},{pattern:/(^\s*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^\s*proc[ \t]+)[^\s]+/m,lookbehind:!0},builtin:[{pattern:/(^\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m,lookbehind:!0},/\b(?:elseif|else)\b/],scope:{pattern:/(^\s*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|ne|in|ni)\b/,punctuation:/[{}()\[\]]/}; -------------------------------------------------------------------------------- /components/prism-toml.js: -------------------------------------------------------------------------------- 1 | (function (Prism) { 2 | 3 | // pattern: /(?:[\w-]+|'[^'\n\r]*'|"(?:\.|[^\\"\r\n])*")/ 4 | var key = "(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\.|[^\\\\\"\r\n])*\")"; 5 | 6 | Prism.languages.toml = { 7 | 'comment': { 8 | pattern: /#.*/, 9 | greedy: true 10 | }, 11 | 'table': { 12 | pattern: RegExp("(\\[\\s*)" + key + "(?:\\s*\\.\\s*" + key + ")*(?=\\s*\\])"), 13 | lookbehind: true, 14 | greedy: true, 15 | alias: 'class-name' 16 | }, 17 | 'key': { 18 | pattern: RegExp("(^\\s*|[{,]\\s*)" + key + "(?:\\s*\\.\\s*" + key + ")*(?=\\s*=)", "m"), 19 | lookbehind: true, 20 | greedy: true, 21 | alias: 'property' 22 | }, 23 | 'string': { 24 | pattern: /"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/, 25 | greedy: true 26 | }, 27 | 'date': [ 28 | { 29 | // Offset Date-Time, Local Date-Time, Local Date 30 | pattern: /\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?/i, 31 | alias: 'number' 32 | }, 33 | { 34 | // Local Time 35 | pattern: /\d{2}:\d{2}:\d{2}(?:\.\d+)?/i, 36 | alias: 'number' 37 | } 38 | ], 39 | 'number': /(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?(?:inf|nan)\b/, 40 | 'boolean': /\b(?:true|false)\b/, 41 | 'punctuation': /[.,=[\]{}]/ 42 | }; 43 | }(Prism)); 44 | -------------------------------------------------------------------------------- /components/prism-toml.min.js: -------------------------------------------------------------------------------- 1 | !function(e){var d="(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\.|[^\\\\\"\r\n])*\")";Prism.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp("(\\[\\s*)"+d+"(?:\\s*\\.\\s*"+d+")*(?=\\s*\\])"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp("(^\\s*|[{,]\\s*)"+d+"(?:\\s*\\.\\s*"+d+")*(?=\\s*=)","m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?/i,alias:"number"},{pattern:/\d{2}:\d{2}:\d{2}(?:\.\d+)?/i,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?(?:inf|nan)\b/,boolean:/\b(?:true|false)\b/,punctuation:/[.,=[\]{}]/}}(); -------------------------------------------------------------------------------- /components/prism-tsx.js: -------------------------------------------------------------------------------- 1 | var typescript = Prism.util.clone(Prism.languages.typescript); 2 | Prism.languages.tsx = Prism.languages.extend('jsx', typescript); -------------------------------------------------------------------------------- /components/prism-tsx.min.js: -------------------------------------------------------------------------------- 1 | var typescript=Prism.util.clone(Prism.languages.typescript);Prism.languages.tsx=Prism.languages.extend("jsx",typescript); -------------------------------------------------------------------------------- /components/prism-tt2.min.js: -------------------------------------------------------------------------------- 1 | !function(t){t.languages.tt2=t.languages.extend("clike",{comment:{pattern:/#.*|\[%#[\s\S]*?%\]/,lookbehind:!0},keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/}),t.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/,variable:{pattern:/[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*/i}}),t.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%]$/,alias:"punctuation"}}),t.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete t.languages.tt2.string,t.hooks.add("before-tokenize",function(e){t.languages["markup-templating"].buildPlaceholders(e,"tt2",/\[%[\s\S]+?%\]/g)}),t.hooks.add("after-tokenize",function(e){t.languages["markup-templating"].tokenizePlaceholders(e,"tt2")})}(Prism); -------------------------------------------------------------------------------- /components/prism-twig.js: -------------------------------------------------------------------------------- 1 | Prism.languages.twig = { 2 | 'comment': /\{#[\s\S]*?#\}/, 3 | 'tag': { 4 | pattern: /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/, 5 | inside: { 6 | 'ld': { 7 | pattern: /^(?:\{\{-?|\{%-?\s*\w+)/, 8 | inside: { 9 | 'punctuation': /^(?:\{\{|\{%)-?/, 10 | 'keyword': /\w+/ 11 | } 12 | }, 13 | 'rd': { 14 | pattern: /-?(?:%\}|\}\})$/, 15 | inside: { 16 | 'punctuation': /.+/ 17 | } 18 | }, 19 | 'string': { 20 | pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, 21 | inside: { 22 | 'punctuation': /^['"]|['"]$/ 23 | } 24 | }, 25 | 'keyword': /\b(?:even|if|odd)\b/, 26 | 'boolean': /\b(?:true|false|null)\b/, 27 | 'number': /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/, 28 | 'operator': [ 29 | { 30 | pattern: /(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/, 31 | lookbehind: true 32 | }, 33 | /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/ 34 | ], 35 | 'property': /\b[a-zA-Z_]\w*\b/, 36 | 'punctuation': /[()\[\]{}:.,]/ 37 | } 38 | }, 39 | 40 | // The rest can be parsed as HTML 41 | 'other': { 42 | // We want non-blank matches 43 | pattern: /\S(?:[\s\S]*\S)?/, 44 | inside: Prism.languages.markup 45 | } 46 | }; 47 | -------------------------------------------------------------------------------- /components/prism-twig.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.twig={comment:/\{#[\s\S]*?#\}/,tag:{pattern:/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/,inside:{ld:{pattern:/^(?:\{\{-?|\{%-?\s*\w+)/,inside:{punctuation:/^(?:\{\{|\{%)-?/,keyword:/\w+/}},rd:{pattern:/-?(?:%\}|\}\})$/,inside:{punctuation:/.+/}},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:true|false|null)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],property:/\b[a-zA-Z_]\w*\b/,punctuation:/[()\[\]{}:.,]/}},other:{pattern:/\S(?:[\s\S]*\S)?/,inside:Prism.languages.markup}}; -------------------------------------------------------------------------------- /components/prism-typescript.js: -------------------------------------------------------------------------------- 1 | Prism.languages.typescript = Prism.languages.extend('javascript', { 2 | // From JavaScript Prism keyword list and TypeScript language spec: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#221-reserved-words 3 | 'keyword': /\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/, 4 | 'builtin': /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/, 5 | }); 6 | 7 | Prism.languages.ts = Prism.languages.typescript; 8 | -------------------------------------------------------------------------------- /components/prism-typescript.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.typescript=Prism.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),Prism.languages.ts=Prism.languages.typescript; -------------------------------------------------------------------------------- /components/prism-vbnet.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.vbnet=Prism.languages.extend("basic",{keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0}]}); -------------------------------------------------------------------------------- /components/prism-velocity.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e.languages.velocity=e.languages.extend("markup",{});var n={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+])*|{[^}]+})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:true|false)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};n.variable.inside={string:n.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:n.number,boolean:n.boolean,punctuation:n.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?]]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|]]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|{[a-z][\w-]*})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|{[a-z][\w-]*})|\bin\b/,inside:{punctuation:/[{}]/}},rest:n}},variable:n.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity}(Prism); -------------------------------------------------------------------------------- /components/prism-vhdl.js: -------------------------------------------------------------------------------- 1 | Prism.languages.vhdl = { 2 | 'comment': /--.+/, 3 | // support for all logic vectors 4 | 'vhdl-vectors': { 5 | 'pattern': /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i, 6 | 'alias': 'number' 7 | }, 8 | // support for operator overloading included 9 | 'quoted-function': { 10 | pattern: /"\S+?"(?=\()/, 11 | alias: 'function' 12 | }, 13 | 'string': /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/, 14 | 'constant': /\b(?:use|library)\b/i, 15 | // support for predefined attributes included 16 | 'keyword': /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i, 17 | 'boolean': /\b(?:true|false)\b/i, 18 | 'function': /\w+(?=\()/, 19 | // decimal, based, physical, and exponential numbers supported 20 | 'number': /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i, 21 | 'operator': /[<>]=?|:=|[-+*/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\b/i, 22 | 'punctuation': /[{}[\];(),.:]/ 23 | }; 24 | -------------------------------------------------------------------------------- /components/prism-vhdl.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:use|library)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:true|false)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\b/i,punctuation:/[{}[\];(),.:]/}; -------------------------------------------------------------------------------- /components/prism-wasm.js: -------------------------------------------------------------------------------- 1 | Prism.languages.wasm = { 2 | 'comment': [ 3 | /\(;[\s\S]*?;\)/, 4 | { 5 | pattern: /;;.*/, 6 | greedy: true 7 | } 8 | ], 9 | 'string': { 10 | pattern: /"(?:\\[\s\S]|[^"\\])*"/, 11 | greedy: true 12 | }, 13 | 'keyword': [ 14 | { 15 | pattern: /\b(?:align|offset)=/, 16 | inside: { 17 | 'operator': /=/ 18 | } 19 | }, 20 | { 21 | pattern: /\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/, 22 | inside: { 23 | 'punctuation': /\./ 24 | } 25 | }, 26 | /\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ 27 | ], 28 | 'variable': /\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i, 29 | 'number': /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/, 30 | 'punctuation': /[()]/ 31 | }; -------------------------------------------------------------------------------- /components/prism-wasm.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}; -------------------------------------------------------------------------------- /components/prism-wiki.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.wiki=Prism.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+).+?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:RFC|PMID) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:Prism.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),Prism.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[\s\S]*?>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[\s\S]*?>|<\/(?:nowiki|pre|source)>/i,inside:Prism.languages.markup.tag.inside}}}}); -------------------------------------------------------------------------------- /components/prism-xeora.min.js: -------------------------------------------------------------------------------- 1 | !function(n){n.languages.xeora=n.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-#]*(?:\w+.)[\w+.]+)?)*)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:{[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-#]*(?:\w+.)[\w+.]+)?)*)?}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+])?:[-\w.]+:{(![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/}:[-\w.]+:{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),n.languages.insertBefore("inside","punctuation",{variable:n.languages.xeora["function-inline"].inside.variable},n.languages.xeora["function-block"]),n.languages.xeoracube=n.languages.xeora}(Prism); -------------------------------------------------------------------------------- /components/prism-xojo.js: -------------------------------------------------------------------------------- 1 | Prism.languages.xojo = { 2 | 'comment': { 3 | pattern: /(?:'|\/\/|Rem\b).+/i, 4 | inside: { 5 | 'keyword': /^Rem/i 6 | } 7 | }, 8 | 'string': { 9 | pattern: /"(?:""|[^"])*"/, 10 | greedy: true 11 | }, 12 | 'number': [ 13 | /(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i, 14 | /&[bchou][a-z\d]+/i 15 | ], 16 | 'symbol': /#(?:If|Else|ElseIf|Endif|Pragma)\b/i, 17 | 'keyword': /\b(?:AddHandler|App|Array|As(?:signs)?|By(?:Ref|Val)|Break|Call|Case|Catch|Const|Continue|CurrentMethodName|Declare|Dim|Do(?:wnTo)?|Each|Else(?:If)?|End|Exit|Extends|False|Finally|For|Global|If|In|Lib|Loop|Me|Next|Nil|Optional|ParamArray|Raise(?:Event)?|ReDim|Rem|RemoveHandler|Return|Select|Self|Soft|Static|Step|Super|Then|To|True|Try|Ubound|Until|Using|Wend|While)\b/i, 18 | 'operator': /<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAddressOf)\b/i, 19 | 'punctuation': /[.,;:()]/ 20 | }; -------------------------------------------------------------------------------- /components/prism-xojo.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,inside:{keyword:/^Rem/i}},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],symbol:/#(?:If|Else|ElseIf|Endif|Pragma)\b/i,keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|By(?:Ref|Val)|Break|Call|Case|Catch|Const|Continue|CurrentMethodName|Declare|Dim|Do(?:wnTo)?|Each|Else(?:If)?|End|Exit|Extends|False|Finally|For|Global|If|In|Lib|Loop|Me|Next|Nil|Optional|ParamArray|Raise(?:Event)?|ReDim|Rem|RemoveHandler|Return|Select|Self|Soft|Static|Step|Super|Then|To|True|Try|Ubound|Until|Using|Wend|While)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAddressOf)\b/i,punctuation:/[.,;:()]/}; -------------------------------------------------------------------------------- /components/prism-yaml.js: -------------------------------------------------------------------------------- 1 | Prism.languages.yaml = { 2 | 'scalar': { 3 | pattern: /([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/, 4 | lookbehind: true, 5 | alias: 'string' 6 | }, 7 | 'comment': /#.*/, 8 | 'key': { 9 | pattern: /(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/, 10 | lookbehind: true, 11 | alias: 'atrule' 12 | }, 13 | 'directive': { 14 | pattern: /(^[ \t]*)%.+/m, 15 | lookbehind: true, 16 | alias: 'important' 17 | }, 18 | 'datetime': { 19 | pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m, 20 | lookbehind: true, 21 | alias: 'number' 22 | }, 23 | 'boolean': { 24 | pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im, 25 | lookbehind: true, 26 | alias: 'important' 27 | }, 28 | 'null': { 29 | pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im, 30 | lookbehind: true, 31 | alias: 'important' 32 | }, 33 | 'string': { 34 | pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m, 35 | lookbehind: true, 36 | greedy: true 37 | }, 38 | 'number': { 39 | pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im, 40 | lookbehind: true 41 | }, 42 | 'tag': /![^\s]+/, 43 | 'important': /[&*][\w]+/, 44 | 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./ 45 | }; 46 | 47 | Prism.languages.yml = Prism.languages.yaml; -------------------------------------------------------------------------------- /components/prism-yaml.min.js: -------------------------------------------------------------------------------- 1 | Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},Prism.languages.yml=Prism.languages.yaml; -------------------------------------------------------------------------------- /dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /dev/sample.md: -------------------------------------------------------------------------------- 1 | ## External Markdown 2 | 3 | This sample is loaded from `src` attribute of the `` tag 4 | -------------------------------------------------------------------------------- /dev/sample2.md: -------------------------------------------------------------------------------- 1 | ## External Markdown containing JavaScript w/ 'highlight' enabled 2 | 3 | This sample is loaded from `src` attribute and contains sample JavaScript. 4 | 5 | ```javascript 6 | function fxbx(max) { 7 | let msg = ''; 8 | 9 | for(i=1; i<=max; i++, msg='') { 10 | if (i % 3 === 0) { 11 | msg += 'fizz'; 12 | } 13 | if (i % 5 === 0) { 14 | msg += 'buzz'; 15 | } 16 | if (msg) { 17 | console.log(msg); 18 | } 19 | } 20 | } 21 | fxbx(20); 22 | ``` 23 | -------------------------------------------------------------------------------- /dev/sample3.md: -------------------------------------------------------------------------------- 1 | ## C++ Syntax highlighting 2 | 3 | ```cpp 4 | #include 5 | using namespace std; 6 | int main() 7 | { 8 | int n, i; 9 | bool isPrime = true; 10 | cout << "Enter a positive integer: "; 11 | cin >> n; 12 | for(i = 2; i <= n / 2; ++i) 13 | { 14 | if(n % i == 0) 15 | { 16 | isPrime = false; 17 | break; 18 | } 19 | } 20 | if (isPrime) 21 | cout << "This is a prime number"; 22 | else 23 | cout << "This is not a prime number"; 24 | return 0; 25 | } 26 | ``` -------------------------------------------------------------------------------- /examples/cdn/cpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/cdn/external-source.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/cdn/inline-source.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/cdn/python.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/cdn/syntax-highlighting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/npm/cpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/npm/external-source.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/npm/inline-source.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ## Inline Markdown 10 | 11 | This some sample markdown. 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/npm/python.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/npm/syntax-highlighting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vanillawc/wc-markdown", 3 | "version": "1.6.11", 4 | "license": "MIT", 5 | "author": "Evan Plaice (https://evanplaice.com/)", 6 | "description": "A vanilla Markdown web component with optional syntax highlighting", 7 | "keywords": [ 8 | "web-components", 9 | "vanilla", 10 | "markdown", 11 | "syntax-highlighting" 12 | ], 13 | "repository": "https://github.com/vanillawc/wc-markdown/", 14 | "main": "index.js", 15 | "scripts": { 16 | "start": "npx live-server --no-browser --port=5500 --open=dev", 17 | "lint": "esmtk lint", 18 | "build": "npm run build:esm && npm run build:min", 19 | "build:esm": "esmtk bundle src/wc-markdown.js index.js", 20 | "build:min": "esmtk minify src/wc-markdown.js index.min.js", 21 | "copy": "npm run copy:themes && npm run copy:components", 22 | "copy:themes": "cp -r node_modules/prism-es6/themes themes", 23 | "copy:components": "cp -r node_modules/prism-es6/components .", 24 | "package": "npx rimraf package && npm pack | tail -n 1 | xargs tar -xf", 25 | "preversion": "npm run lint", 26 | "postversion": "git push --follow-tags" 27 | }, 28 | "devDependencies": { 29 | "esmtk": "^0.5.6", 30 | "marked": "^4.0.1", 31 | "prism-es6": "^1.2.0" 32 | }, 33 | "standard": { 34 | "ignore": [ 35 | "components/*", 36 | "index.js" 37 | ] 38 | } 39 | } 40 | --------------------------------------------------------------------------------