├── .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: /( 8 | 9 | 10 | 11 |
12 | 13 | 14 |