plate-lang 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.bowerrc +3 -0
- data/.codeclimate.yml +7 -0
- data/.gitignore +25 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +10 -0
- data/LICENSE.txt +21 -0
- data/README.md +64 -0
- data/Rakefile +36 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/bower.json +10 -0
- data/circle.yml +4 -0
- data/exe/plate +6 -0
- data/lib/plate/cli.rb +97 -0
- data/lib/plate/compiler.rb +244 -0
- data/lib/plate/grammar.y +145 -0
- data/lib/plate/lexer.rb +138 -0
- data/lib/plate/nodes.rb +107 -0
- data/lib/plate/parser.rb +568 -0
- data/lib/plate/version.rb +3 -0
- data/lib/plate.rb +14 -0
- data/plate-lang.gemspec +30 -0
- data/skeleton/app/assets/css/app.css +21 -0
- data/skeleton/app/assets/js/app.js +15 -0
- data/skeleton/app/index.html +26 -0
- data/skeleton/app/vendor/.keep +0 -0
- data/skeleton/vendor/bootstrap/.bower.json +44 -0
- data/skeleton/vendor/bootstrap/Gruntfile.js +531 -0
- data/skeleton/vendor/bootstrap/LICENSE +21 -0
- data/skeleton/vendor/bootstrap/README.md +137 -0
- data/skeleton/vendor/bootstrap/bower.json +34 -0
- data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.css +587 -0
- data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
- data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
- data/skeleton/vendor/bootstrap/dist/css/bootstrap.css +6800 -0
- data/skeleton/vendor/bootstrap/dist/css/bootstrap.css.map +1 -0
- data/skeleton/vendor/bootstrap/dist/css/bootstrap.min.css +5 -0
- data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
- data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/skeleton/vendor/bootstrap/dist/js/bootstrap.js +2363 -0
- data/skeleton/vendor/bootstrap/dist/js/bootstrap.min.js +7 -0
- data/skeleton/vendor/bootstrap/dist/js/npm.js +13 -0
- data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
- data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/skeleton/vendor/bootstrap/grunt/.jshintrc +7 -0
- data/skeleton/vendor/bootstrap/grunt/bs-commonjs-generator.js +30 -0
- data/skeleton/vendor/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
- data/skeleton/vendor/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
- data/skeleton/vendor/bootstrap/grunt/bs-raw-files-generator.js +44 -0
- data/skeleton/vendor/bootstrap/grunt/configBridge.json +46 -0
- data/skeleton/vendor/bootstrap/grunt/sauce_browsers.yml +82 -0
- data/skeleton/vendor/bootstrap/js/.jscsrc +42 -0
- data/skeleton/vendor/bootstrap/js/.jshintrc +15 -0
- data/skeleton/vendor/bootstrap/js/affix.js +162 -0
- data/skeleton/vendor/bootstrap/js/alert.js +94 -0
- data/skeleton/vendor/bootstrap/js/button.js +120 -0
- data/skeleton/vendor/bootstrap/js/carousel.js +237 -0
- data/skeleton/vendor/bootstrap/js/collapse.js +211 -0
- data/skeleton/vendor/bootstrap/js/dropdown.js +165 -0
- data/skeleton/vendor/bootstrap/js/modal.js +337 -0
- data/skeleton/vendor/bootstrap/js/popover.js +108 -0
- data/skeleton/vendor/bootstrap/js/scrollspy.js +172 -0
- data/skeleton/vendor/bootstrap/js/tab.js +155 -0
- data/skeleton/vendor/bootstrap/js/tooltip.js +514 -0
- data/skeleton/vendor/bootstrap/js/transition.js +59 -0
- data/skeleton/vendor/bootstrap/less/.csscomb.json +304 -0
- data/skeleton/vendor/bootstrap/less/.csslintrc +19 -0
- data/skeleton/vendor/bootstrap/less/alerts.less +73 -0
- data/skeleton/vendor/bootstrap/less/badges.less +66 -0
- data/skeleton/vendor/bootstrap/less/bootstrap.less +56 -0
- data/skeleton/vendor/bootstrap/less/breadcrumbs.less +26 -0
- data/skeleton/vendor/bootstrap/less/button-groups.less +244 -0
- data/skeleton/vendor/bootstrap/less/buttons.less +166 -0
- data/skeleton/vendor/bootstrap/less/carousel.less +269 -0
- data/skeleton/vendor/bootstrap/less/close.less +34 -0
- data/skeleton/vendor/bootstrap/less/code.less +69 -0
- data/skeleton/vendor/bootstrap/less/component-animations.less +33 -0
- data/skeleton/vendor/bootstrap/less/dropdowns.less +216 -0
- data/skeleton/vendor/bootstrap/less/forms.less +607 -0
- data/skeleton/vendor/bootstrap/less/glyphicons.less +305 -0
- data/skeleton/vendor/bootstrap/less/grid.less +84 -0
- data/skeleton/vendor/bootstrap/less/input-groups.less +167 -0
- data/skeleton/vendor/bootstrap/less/jumbotron.less +52 -0
- data/skeleton/vendor/bootstrap/less/labels.less +64 -0
- data/skeleton/vendor/bootstrap/less/list-group.less +130 -0
- data/skeleton/vendor/bootstrap/less/media.less +66 -0
- data/skeleton/vendor/bootstrap/less/mixins/alerts.less +14 -0
- data/skeleton/vendor/bootstrap/less/mixins/background-variant.less +9 -0
- data/skeleton/vendor/bootstrap/less/mixins/border-radius.less +18 -0
- data/skeleton/vendor/bootstrap/less/mixins/buttons.less +68 -0
- data/skeleton/vendor/bootstrap/less/mixins/center-block.less +7 -0
- data/skeleton/vendor/bootstrap/less/mixins/clearfix.less +22 -0
- data/skeleton/vendor/bootstrap/less/mixins/forms.less +85 -0
- data/skeleton/vendor/bootstrap/less/mixins/gradients.less +59 -0
- data/skeleton/vendor/bootstrap/less/mixins/grid-framework.less +91 -0
- data/skeleton/vendor/bootstrap/less/mixins/grid.less +122 -0
- data/skeleton/vendor/bootstrap/less/mixins/hide-text.less +21 -0
- data/skeleton/vendor/bootstrap/less/mixins/image.less +33 -0
- data/skeleton/vendor/bootstrap/less/mixins/labels.less +12 -0
- data/skeleton/vendor/bootstrap/less/mixins/list-group.less +30 -0
- data/skeleton/vendor/bootstrap/less/mixins/nav-divider.less +10 -0
- data/skeleton/vendor/bootstrap/less/mixins/nav-vertical-align.less +9 -0
- data/skeleton/vendor/bootstrap/less/mixins/opacity.less +8 -0
- data/skeleton/vendor/bootstrap/less/mixins/pagination.less +24 -0
- data/skeleton/vendor/bootstrap/less/mixins/panels.less +24 -0
- data/skeleton/vendor/bootstrap/less/mixins/progress-bar.less +10 -0
- data/skeleton/vendor/bootstrap/less/mixins/reset-filter.less +8 -0
- data/skeleton/vendor/bootstrap/less/mixins/reset-text.less +18 -0
- data/skeleton/vendor/bootstrap/less/mixins/resize.less +6 -0
- data/skeleton/vendor/bootstrap/less/mixins/responsive-visibility.less +15 -0
- data/skeleton/vendor/bootstrap/less/mixins/size.less +10 -0
- data/skeleton/vendor/bootstrap/less/mixins/tab-focus.less +9 -0
- data/skeleton/vendor/bootstrap/less/mixins/table-row.less +28 -0
- data/skeleton/vendor/bootstrap/less/mixins/text-emphasis.less +9 -0
- data/skeleton/vendor/bootstrap/less/mixins/text-overflow.less +8 -0
- data/skeleton/vendor/bootstrap/less/mixins/vendor-prefixes.less +227 -0
- data/skeleton/vendor/bootstrap/less/mixins.less +40 -0
- data/skeleton/vendor/bootstrap/less/modals.less +150 -0
- data/skeleton/vendor/bootstrap/less/navbar.less +660 -0
- data/skeleton/vendor/bootstrap/less/navs.less +242 -0
- data/skeleton/vendor/bootstrap/less/normalize.less +424 -0
- data/skeleton/vendor/bootstrap/less/pager.less +54 -0
- data/skeleton/vendor/bootstrap/less/pagination.less +89 -0
- data/skeleton/vendor/bootstrap/less/panels.less +271 -0
- data/skeleton/vendor/bootstrap/less/popovers.less +131 -0
- data/skeleton/vendor/bootstrap/less/print.less +101 -0
- data/skeleton/vendor/bootstrap/less/progress-bars.less +87 -0
- data/skeleton/vendor/bootstrap/less/responsive-embed.less +35 -0
- data/skeleton/vendor/bootstrap/less/responsive-utilities.less +194 -0
- data/skeleton/vendor/bootstrap/less/scaffolding.less +161 -0
- data/skeleton/vendor/bootstrap/less/tables.less +234 -0
- data/skeleton/vendor/bootstrap/less/theme.less +291 -0
- data/skeleton/vendor/bootstrap/less/thumbnails.less +36 -0
- data/skeleton/vendor/bootstrap/less/tooltip.less +101 -0
- data/skeleton/vendor/bootstrap/less/type.less +302 -0
- data/skeleton/vendor/bootstrap/less/utilities.less +55 -0
- data/skeleton/vendor/bootstrap/less/variables.less +867 -0
- data/skeleton/vendor/bootstrap/less/wells.less +29 -0
- data/skeleton/vendor/bootstrap/package.js +25 -0
- data/skeleton/vendor/bootstrap/package.json +87 -0
- data/skeleton/vendor/bootswatch/.bower.json +52 -0
- data/skeleton/vendor/bootswatch/.bowerrc +5 -0
- data/skeleton/vendor/bootswatch/LICENSE +21 -0
- data/skeleton/vendor/bootswatch/README.md +59 -0
- data/skeleton/vendor/bootswatch/bower.json +42 -0
- data/skeleton/vendor/bootswatch/cerulean/_bootswatch.scss +131 -0
- data/skeleton/vendor/bootswatch/cerulean/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/cerulean/bootstrap.css +6944 -0
- data/skeleton/vendor/bootswatch/cerulean/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/cerulean/bootswatch.less +131 -0
- data/skeleton/vendor/bootswatch/cerulean/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/cerulean/variables.less +867 -0
- data/skeleton/vendor/bootswatch/cosmo/_bootswatch.scss +261 -0
- data/skeleton/vendor/bootswatch/cosmo/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/cosmo/bootstrap.css +6979 -0
- data/skeleton/vendor/bootswatch/cosmo/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/cosmo/bootswatch.less +261 -0
- data/skeleton/vendor/bootswatch/cosmo/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/cosmo/variables.less +867 -0
- data/skeleton/vendor/bootswatch/cyborg/_bootswatch.scss +234 -0
- data/skeleton/vendor/bootswatch/cyborg/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/cyborg/bootstrap.css +6963 -0
- data/skeleton/vendor/bootswatch/cyborg/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/cyborg/bootswatch.less +234 -0
- data/skeleton/vendor/bootswatch/cyborg/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/cyborg/variables.less +867 -0
- data/skeleton/vendor/bootswatch/darkly/_bootswatch.scss +346 -0
- data/skeleton/vendor/bootswatch/darkly/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/darkly/bootstrap.css +7086 -0
- data/skeleton/vendor/bootswatch/darkly/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/darkly/bootswatch.less +346 -0
- data/skeleton/vendor/bootswatch/darkly/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/darkly/variables.less +867 -0
- data/skeleton/vendor/bootswatch/flatly/_bootswatch.scss +329 -0
- data/skeleton/vendor/bootswatch/flatly/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/flatly/bootstrap.css +7065 -0
- data/skeleton/vendor/bootswatch/flatly/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/flatly/bootswatch.less +329 -0
- data/skeleton/vendor/bootswatch/flatly/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/flatly/variables.less +867 -0
- data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.eot +0 -0
- data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.svg +288 -0
- data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.woff +0 -0
- data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/skeleton/vendor/bootswatch/journal/_bootswatch.scss +144 -0
- data/skeleton/vendor/bootswatch/journal/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/journal/bootstrap.css +6891 -0
- data/skeleton/vendor/bootswatch/journal/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/journal/bootswatch.less +144 -0
- data/skeleton/vendor/bootswatch/journal/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/journal/variables.less +867 -0
- data/skeleton/vendor/bootswatch/lumen/_bootswatch.scss +520 -0
- data/skeleton/vendor/bootswatch/lumen/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/lumen/bootstrap.css +7216 -0
- data/skeleton/vendor/bootswatch/lumen/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/lumen/bootswatch.less +520 -0
- data/skeleton/vendor/bootswatch/lumen/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/lumen/variables.less +867 -0
- data/skeleton/vendor/bootswatch/paper/_bootswatch.scss +585 -0
- data/skeleton/vendor/bootswatch/paper/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/paper/bootstrap.css +7502 -0
- data/skeleton/vendor/bootswatch/paper/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/paper/bootswatch.less +585 -0
- data/skeleton/vendor/bootswatch/paper/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/paper/variables.less +867 -0
- data/skeleton/vendor/bootswatch/readable/_bootswatch.scss +182 -0
- data/skeleton/vendor/bootswatch/readable/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/readable/bootstrap.css +6915 -0
- data/skeleton/vendor/bootswatch/readable/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/readable/bootswatch.less +182 -0
- data/skeleton/vendor/bootswatch/readable/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/readable/variables.less +867 -0
- data/skeleton/vendor/bootswatch/sandstone/_bootswatch.scss +194 -0
- data/skeleton/vendor/bootswatch/sandstone/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/sandstone/bootstrap.css +6953 -0
- data/skeleton/vendor/bootswatch/sandstone/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/sandstone/bootswatch.less +194 -0
- data/skeleton/vendor/bootswatch/sandstone/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/sandstone/variables.less +867 -0
- data/skeleton/vendor/bootswatch/simplex/_bootswatch.scss +169 -0
- data/skeleton/vendor/bootswatch/simplex/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/simplex/bootstrap.css +6953 -0
- data/skeleton/vendor/bootswatch/simplex/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/simplex/bootswatch.less +169 -0
- data/skeleton/vendor/bootswatch/simplex/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/simplex/variables.less +867 -0
- data/skeleton/vendor/bootswatch/slate/_bootswatch.scss +441 -0
- data/skeleton/vendor/bootswatch/slate/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/slate/bootstrap.css +7301 -0
- data/skeleton/vendor/bootswatch/slate/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/slate/bootswatch.less +441 -0
- data/skeleton/vendor/bootswatch/slate/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/slate/variables.less +867 -0
- data/skeleton/vendor/bootswatch/spacelab/_bootswatch.scss +137 -0
- data/skeleton/vendor/bootswatch/spacelab/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/spacelab/bootstrap.css +6998 -0
- data/skeleton/vendor/bootswatch/spacelab/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/spacelab/bootswatch.less +137 -0
- data/skeleton/vendor/bootswatch/spacelab/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/spacelab/variables.less +867 -0
- data/skeleton/vendor/bootswatch/superhero/_bootswatch.scss +356 -0
- data/skeleton/vendor/bootswatch/superhero/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/superhero/bootstrap.css +7048 -0
- data/skeleton/vendor/bootswatch/superhero/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/superhero/bootswatch.less +356 -0
- data/skeleton/vendor/bootswatch/superhero/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/superhero/variables.less +867 -0
- data/skeleton/vendor/bootswatch/united/_bootswatch.scss +55 -0
- data/skeleton/vendor/bootswatch/united/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/united/bootstrap.css +6813 -0
- data/skeleton/vendor/bootswatch/united/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/united/bootswatch.less +55 -0
- data/skeleton/vendor/bootswatch/united/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/united/variables.less +867 -0
- data/skeleton/vendor/bootswatch/yeti/_bootswatch.scss +437 -0
- data/skeleton/vendor/bootswatch/yeti/_variables.scss +868 -0
- data/skeleton/vendor/bootswatch/yeti/bootstrap.css +7107 -0
- data/skeleton/vendor/bootswatch/yeti/bootstrap.min.css +11 -0
- data/skeleton/vendor/bootswatch/yeti/bootswatch.less +437 -0
- data/skeleton/vendor/bootswatch/yeti/thumbnail.png +0 -0
- data/skeleton/vendor/bootswatch/yeti/variables.less +867 -0
- data/skeleton/vendor/font-awesome/.bower.json +36 -0
- data/skeleton/vendor/font-awesome/.gitignore +33 -0
- data/skeleton/vendor/font-awesome/.npmignore +42 -0
- data/skeleton/vendor/font-awesome/HELP-US-OUT.txt +7 -0
- data/skeleton/vendor/font-awesome/bower.json +22 -0
- data/skeleton/vendor/font-awesome/css/font-awesome.css +2026 -0
- data/skeleton/vendor/font-awesome/css/font-awesome.css.map +7 -0
- data/skeleton/vendor/font-awesome/css/font-awesome.min.css +4 -0
- data/skeleton/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
- data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
- data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.svg +640 -0
- data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
- data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
- data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
- data/skeleton/vendor/font-awesome/less/animated.less +34 -0
- data/skeleton/vendor/font-awesome/less/bordered-pulled.less +25 -0
- data/skeleton/vendor/font-awesome/less/core.less +12 -0
- data/skeleton/vendor/font-awesome/less/fixed-width.less +6 -0
- data/skeleton/vendor/font-awesome/less/font-awesome.less +17 -0
- data/skeleton/vendor/font-awesome/less/icons.less +677 -0
- data/skeleton/vendor/font-awesome/less/larger.less +13 -0
- data/skeleton/vendor/font-awesome/less/list.less +19 -0
- data/skeleton/vendor/font-awesome/less/mixins.less +26 -0
- data/skeleton/vendor/font-awesome/less/path.less +15 -0
- data/skeleton/vendor/font-awesome/less/rotated-flipped.less +20 -0
- data/skeleton/vendor/font-awesome/less/stacked.less +20 -0
- data/skeleton/vendor/font-awesome/less/variables.less +688 -0
- data/skeleton/vendor/font-awesome/scss/_animated.scss +34 -0
- data/skeleton/vendor/font-awesome/scss/_bordered-pulled.scss +25 -0
- data/skeleton/vendor/font-awesome/scss/_core.scss +12 -0
- data/skeleton/vendor/font-awesome/scss/_fixed-width.scss +6 -0
- data/skeleton/vendor/font-awesome/scss/_icons.scss +677 -0
- data/skeleton/vendor/font-awesome/scss/_larger.scss +13 -0
- data/skeleton/vendor/font-awesome/scss/_list.scss +19 -0
- data/skeleton/vendor/font-awesome/scss/_mixins.scss +26 -0
- data/skeleton/vendor/font-awesome/scss/_path.scss +15 -0
- data/skeleton/vendor/font-awesome/scss/_rotated-flipped.scss +20 -0
- data/skeleton/vendor/font-awesome/scss/_stacked.scss +20 -0
- data/skeleton/vendor/font-awesome/scss/_variables.scss +688 -0
- data/skeleton/vendor/font-awesome/scss/font-awesome.scss +17 -0
- data/skeleton/vendor/google-code-prettify/.bower.json +26 -0
- data/skeleton/vendor/google-code-prettify/CHANGES.html +172 -0
- data/skeleton/vendor/google-code-prettify/COPYING +191 -0
- data/skeleton/vendor/google-code-prettify/README-zh-Hans.html +143 -0
- data/skeleton/vendor/google-code-prettify/README.html +233 -0
- data/skeleton/vendor/google-code-prettify/README.md +54 -0
- data/skeleton/vendor/google-code-prettify/bin/prettify.min.css +1 -0
- data/skeleton/vendor/google-code-prettify/bin/prettify.min.js +30 -0
- data/skeleton/vendor/google-code-prettify/bin/run_prettify.min.js +34 -0
- data/skeleton/vendor/google-code-prettify/bower.json +16 -0
- data/skeleton/vendor/google-code-prettify/examples/quine.html +55 -0
- data/skeleton/vendor/google-code-prettify/src/lang-apollo.js +51 -0
- data/skeleton/vendor/google-code-prettify/src/lang-basic.js +32 -0
- data/skeleton/vendor/google-code-prettify/src/lang-clj.js +64 -0
- data/skeleton/vendor/google-code-prettify/src/lang-css.js +159 -0
- data/skeleton/vendor/google-code-prettify/src/lang-dart.js +88 -0
- data/skeleton/vendor/google-code-prettify/src/lang-erlang.js +92 -0
- data/skeleton/vendor/google-code-prettify/src/lang-go.js +58 -0
- data/skeleton/vendor/google-code-prettify/src/lang-hs.js +101 -0
- data/skeleton/vendor/google-code-prettify/src/lang-lisp.js +94 -0
- data/skeleton/vendor/google-code-prettify/src/lang-llvm.js +61 -0
- data/skeleton/vendor/google-code-prettify/src/lang-lua.js +59 -0
- data/skeleton/vendor/google-code-prettify/src/lang-matlab.js +180 -0
- data/skeleton/vendor/google-code-prettify/src/lang-ml.js +56 -0
- data/skeleton/vendor/google-code-prettify/src/lang-mumps.js +139 -0
- data/skeleton/vendor/google-code-prettify/src/lang-n.js +65 -0
- data/skeleton/vendor/google-code-prettify/src/lang-pascal.js +32 -0
- data/skeleton/vendor/google-code-prettify/src/lang-proto.js +35 -0
- data/skeleton/vendor/google-code-prettify/src/lang-r.js +57 -0
- data/skeleton/vendor/google-code-prettify/src/lang-rd.js +47 -0
- data/skeleton/vendor/google-code-prettify/src/lang-scala.js +54 -0
- data/skeleton/vendor/google-code-prettify/src/lang-sql.js +58 -0
- data/skeleton/vendor/google-code-prettify/src/lang-tcl.js +62 -0
- data/skeleton/vendor/google-code-prettify/src/lang-tex.js +46 -0
- data/skeleton/vendor/google-code-prettify/src/lang-vb.js +66 -0
- data/skeleton/vendor/google-code-prettify/src/lang-vhdl.js +34 -0
- data/skeleton/vendor/google-code-prettify/src/lang-wiki.js +53 -0
- data/skeleton/vendor/google-code-prettify/src/lang-xq.js +67 -0
- data/skeleton/vendor/google-code-prettify/src/lang-yaml.js +27 -0
- data/skeleton/vendor/google-code-prettify/src/prettify.css +52 -0
- data/skeleton/vendor/google-code-prettify/src/prettify.js +1655 -0
- data/skeleton/vendor/google-code-prettify/src/run_prettify.js +1905 -0
- data/skeleton/vendor/google-code-prettify/styles/demo.html +61 -0
- data/skeleton/vendor/google-code-prettify/styles/desert.css +34 -0
- data/skeleton/vendor/google-code-prettify/styles/doxy.css +64 -0
- data/skeleton/vendor/google-code-prettify/styles/index.html +89 -0
- data/skeleton/vendor/google-code-prettify/styles/sons-of-obsidian.css +118 -0
- data/skeleton/vendor/google-code-prettify/styles/sunburst.css +51 -0
- data/skeleton/vendor/jquery/.bower.json +38 -0
- data/skeleton/vendor/jquery/MIT-LICENSE.txt +21 -0
- data/skeleton/vendor/jquery/bower.json +28 -0
- data/skeleton/vendor/jquery/dist/jquery.js +9210 -0
- data/skeleton/vendor/jquery/dist/jquery.min.js +5 -0
- data/skeleton/vendor/jquery/dist/jquery.min.map +1 -0
- data/skeleton/vendor/jquery/src/ajax/jsonp.js +89 -0
- data/skeleton/vendor/jquery/src/ajax/load.js +75 -0
- data/skeleton/vendor/jquery/src/ajax/parseJSON.js +13 -0
- data/skeleton/vendor/jquery/src/ajax/parseXML.js +28 -0
- data/skeleton/vendor/jquery/src/ajax/script.js +64 -0
- data/skeleton/vendor/jquery/src/ajax/var/nonce.js +5 -0
- data/skeleton/vendor/jquery/src/ajax/var/rquery.js +3 -0
- data/skeleton/vendor/jquery/src/ajax/xhr.js +136 -0
- data/skeleton/vendor/jquery/src/ajax.js +786 -0
- data/skeleton/vendor/jquery/src/attributes/attr.js +141 -0
- data/skeleton/vendor/jquery/src/attributes/classes.js +158 -0
- data/skeleton/vendor/jquery/src/attributes/prop.js +94 -0
- data/skeleton/vendor/jquery/src/attributes/support.js +35 -0
- data/skeleton/vendor/jquery/src/attributes/val.js +161 -0
- data/skeleton/vendor/jquery/src/attributes.js +11 -0
- data/skeleton/vendor/jquery/src/callbacks.js +205 -0
- data/skeleton/vendor/jquery/src/core/access.js +60 -0
- data/skeleton/vendor/jquery/src/core/init.js +123 -0
- data/skeleton/vendor/jquery/src/core/parseHTML.js +39 -0
- data/skeleton/vendor/jquery/src/core/ready.js +97 -0
- data/skeleton/vendor/jquery/src/core/var/rsingleTag.js +4 -0
- data/skeleton/vendor/jquery/src/core.js +502 -0
- data/skeleton/vendor/jquery/src/css/addGetHookIf.js +22 -0
- data/skeleton/vendor/jquery/src/css/curCSS.js +57 -0
- data/skeleton/vendor/jquery/src/css/defaultDisplay.js +70 -0
- data/skeleton/vendor/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/skeleton/vendor/jquery/src/css/support.js +96 -0
- data/skeleton/vendor/jquery/src/css/swap.js +28 -0
- data/skeleton/vendor/jquery/src/css/var/cssExpand.js +3 -0
- data/skeleton/vendor/jquery/src/css/var/getStyles.js +12 -0
- data/skeleton/vendor/jquery/src/css/var/isHidden.js +13 -0
- data/skeleton/vendor/jquery/src/css/var/rmargin.js +3 -0
- data/skeleton/vendor/jquery/src/css/var/rnumnonpx.js +5 -0
- data/skeleton/vendor/jquery/src/css.js +450 -0
- data/skeleton/vendor/jquery/src/data/Data.js +181 -0
- data/skeleton/vendor/jquery/src/data/accepts.js +20 -0
- data/skeleton/vendor/jquery/src/data/var/data_priv.js +5 -0
- data/skeleton/vendor/jquery/src/data/var/data_user.js +5 -0
- data/skeleton/vendor/jquery/src/data.js +178 -0
- data/skeleton/vendor/jquery/src/deferred.js +149 -0
- data/skeleton/vendor/jquery/src/deprecated.js +13 -0
- data/skeleton/vendor/jquery/src/dimensions.js +50 -0
- data/skeleton/vendor/jquery/src/effects/Tween.js +114 -0
- data/skeleton/vendor/jquery/src/effects/animatedSelector.js +13 -0
- data/skeleton/vendor/jquery/src/effects.js +648 -0
- data/skeleton/vendor/jquery/src/event/ajax.js +13 -0
- data/skeleton/vendor/jquery/src/event/alias.js +39 -0
- data/skeleton/vendor/jquery/src/event/support.js +9 -0
- data/skeleton/vendor/jquery/src/event.js +868 -0
- data/skeleton/vendor/jquery/src/exports/amd.js +24 -0
- data/skeleton/vendor/jquery/src/exports/global.js +32 -0
- data/skeleton/vendor/jquery/src/intro.js +44 -0
- data/skeleton/vendor/jquery/src/jquery.js +37 -0
- data/skeleton/vendor/jquery/src/manipulation/_evalUrl.js +18 -0
- data/skeleton/vendor/jquery/src/manipulation/support.js +32 -0
- data/skeleton/vendor/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/skeleton/vendor/jquery/src/manipulation.js +580 -0
- data/skeleton/vendor/jquery/src/offset.js +207 -0
- data/skeleton/vendor/jquery/src/outro.js +1 -0
- data/skeleton/vendor/jquery/src/queue/delay.js +22 -0
- data/skeleton/vendor/jquery/src/queue.js +142 -0
- data/skeleton/vendor/jquery/src/selector-native.js +172 -0
- data/skeleton/vendor/jquery/src/selector-sizzle.js +14 -0
- data/skeleton/vendor/jquery/src/selector.js +1 -0
- data/skeleton/vendor/jquery/src/serialize.js +111 -0
- data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.js +2067 -0
- data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.min.js +3 -0
- data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.min.map +1 -0
- data/skeleton/vendor/jquery/src/traversing/findFilter.js +100 -0
- data/skeleton/vendor/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/skeleton/vendor/jquery/src/traversing.js +199 -0
- data/skeleton/vendor/jquery/src/var/arr.js +3 -0
- data/skeleton/vendor/jquery/src/var/class2type.js +4 -0
- data/skeleton/vendor/jquery/src/var/concat.js +5 -0
- data/skeleton/vendor/jquery/src/var/hasOwn.js +5 -0
- data/skeleton/vendor/jquery/src/var/indexOf.js +5 -0
- data/skeleton/vendor/jquery/src/var/pnum.js +3 -0
- data/skeleton/vendor/jquery/src/var/push.js +5 -0
- data/skeleton/vendor/jquery/src/var/rnotwhite.js +3 -0
- data/skeleton/vendor/jquery/src/var/slice.js +5 -0
- data/skeleton/vendor/jquery/src/var/strundefined.js +3 -0
- data/skeleton/vendor/jquery/src/var/support.js +4 -0
- data/skeleton/vendor/jquery/src/var/toString.js +5 -0
- data/skeleton/vendor/jquery/src/wrap.js +79 -0
- data/skeleton/vendor/vue/.bower.json +29 -0
- data/skeleton/vendor/vue/LICENSE +21 -0
- data/skeleton/vendor/vue/bower.json +16 -0
- data/skeleton/vendor/vue/build/banner.js +8 -0
- data/skeleton/vendor/vue/build/grunt-tasks/build.js +50 -0
- data/skeleton/vendor/vue/build/grunt-tasks/casper.js +26 -0
- data/skeleton/vendor/vue/build/grunt-tasks/codecov.js +18 -0
- data/skeleton/vendor/vue/build/grunt-tasks/open.js +11 -0
- data/skeleton/vendor/vue/build/grunt-tasks/release.js +84 -0
- data/skeleton/vendor/vue/build/saucelabs.config.js +79 -0
- data/skeleton/vendor/vue/build/webpack.build.dev.config.js +20 -0
- data/skeleton/vendor/vue/build/webpack.build.prod.config.js +25 -0
- data/skeleton/vendor/vue/build/webpack.dev.config.js +10 -0
- data/skeleton/vendor/vue/build/webpack.test.config.js +13 -0
- data/skeleton/vendor/vue/circle.yml +4 -0
- data/skeleton/vendor/vue/dist/vue.js +9863 -0
- data/skeleton/vendor/vue/dist/vue.min.js +8 -0
- data/skeleton/vendor/vue/perf/bench.html +2 -0
- data/skeleton/vendor/vue/perf/bench.js +87 -0
- data/skeleton/vendor/vue/src/api/child.js +49 -0
- data/skeleton/vendor/vue/src/api/data.js +154 -0
- data/skeleton/vendor/vue/src/api/dom.js +226 -0
- data/skeleton/vendor/vue/src/api/events.js +174 -0
- data/skeleton/vendor/vue/src/api/global.js +119 -0
- data/skeleton/vendor/vue/src/api/lifecycle.js +68 -0
- data/skeleton/vendor/vue/src/batcher.js +98 -0
- data/skeleton/vendor/vue/src/cache.js +112 -0
- data/skeleton/vendor/vue/src/compiler/compile-props.js +183 -0
- data/skeleton/vendor/vue/src/compiler/compile.js +631 -0
- data/skeleton/vendor/vue/src/compiler/index.js +4 -0
- data/skeleton/vendor/vue/src/compiler/transclude.js +144 -0
- data/skeleton/vendor/vue/src/config.js +124 -0
- data/skeleton/vendor/vue/src/directive.js +224 -0
- data/skeleton/vendor/vue/src/directives/attr.js +51 -0
- data/skeleton/vendor/vue/src/directives/class.js +70 -0
- data/skeleton/vendor/vue/src/directives/cloak.js +10 -0
- data/skeleton/vendor/vue/src/directives/component.js +300 -0
- data/skeleton/vendor/vue/src/directives/el.js +12 -0
- data/skeleton/vendor/vue/src/directives/html.js +40 -0
- data/skeleton/vendor/vue/src/directives/if.js +126 -0
- data/skeleton/vendor/vue/src/directives/index.js +24 -0
- data/skeleton/vendor/vue/src/directives/model/checkbox.js +24 -0
- data/skeleton/vendor/vue/src/directives/model/index.js +76 -0
- data/skeleton/vendor/vue/src/directives/model/radio.js +26 -0
- data/skeleton/vendor/vue/src/directives/model/select.js +199 -0
- data/skeleton/vendor/vue/src/directives/model/text.js +159 -0
- data/skeleton/vendor/vue/src/directives/on.js +60 -0
- data/skeleton/vendor/vue/src/directives/prop.js +62 -0
- data/skeleton/vendor/vue/src/directives/ref.js +22 -0
- data/skeleton/vendor/vue/src/directives/repeat.js +754 -0
- data/skeleton/vendor/vue/src/directives/show.js +8 -0
- data/skeleton/vendor/vue/src/directives/style.js +110 -0
- data/skeleton/vendor/vue/src/directives/text.js +14 -0
- data/skeleton/vendor/vue/src/directives/transition.js +26 -0
- data/skeleton/vendor/vue/src/element-directives/content.js +111 -0
- data/skeleton/vendor/vue/src/element-directives/index.js +2 -0
- data/skeleton/vendor/vue/src/element-directives/partial.js +73 -0
- data/skeleton/vendor/vue/src/filters/array-filters.js +85 -0
- data/skeleton/vendor/vue/src/filters/index.js +137 -0
- data/skeleton/vendor/vue/src/instance/compile.js +196 -0
- data/skeleton/vendor/vue/src/instance/events.js +139 -0
- data/skeleton/vendor/vue/src/instance/init.js +89 -0
- data/skeleton/vendor/vue/src/instance/misc.js +93 -0
- data/skeleton/vendor/vue/src/instance/scope.js +282 -0
- data/skeleton/vendor/vue/src/observer/array.js +92 -0
- data/skeleton/vendor/vue/src/observer/dep.js +61 -0
- data/skeleton/vendor/vue/src/observer/index.js +212 -0
- data/skeleton/vendor/vue/src/observer/object.js +82 -0
- data/skeleton/vendor/vue/src/parsers/directive.js +179 -0
- data/skeleton/vendor/vue/src/parsers/expression.js +264 -0
- data/skeleton/vendor/vue/src/parsers/path.js +348 -0
- data/skeleton/vendor/vue/src/parsers/template.js +264 -0
- data/skeleton/vendor/vue/src/parsers/text.js +176 -0
- data/skeleton/vendor/vue/src/transition/index.js +128 -0
- data/skeleton/vendor/vue/src/transition/queue.js +35 -0
- data/skeleton/vendor/vue/src/transition/transition.js +308 -0
- data/skeleton/vendor/vue/src/util/component.js +124 -0
- data/skeleton/vendor/vue/src/util/debug.js +64 -0
- data/skeleton/vendor/vue/src/util/dom.js +262 -0
- data/skeleton/vendor/vue/src/util/env.js +85 -0
- data/skeleton/vendor/vue/src/util/index.js +9 -0
- data/skeleton/vendor/vue/src/util/lang.js +289 -0
- data/skeleton/vendor/vue/src/util/options.js +353 -0
- data/skeleton/vendor/vue/src/vue.js +89 -0
- data/skeleton/vendor/vue/src/watcher.js +292 -0
- data/tmp/.keep +0 -0
- metadata +677 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (C) 2011 Google Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview
|
|
19
|
+
* Registers a language handler for Clojure.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* To use, include prettify.js and this file in your HTML page.
|
|
23
|
+
* Then put your code in an HTML tag like
|
|
24
|
+
* <pre class="prettyprint lang-lisp">(my lisp code)</pre>
|
|
25
|
+
* The lang-cl class identifies the language as common lisp.
|
|
26
|
+
* This file supports the following language extensions:
|
|
27
|
+
* lang-clj - Clojure
|
|
28
|
+
*
|
|
29
|
+
*
|
|
30
|
+
* I used lang-lisp.js as the basis for this adding the clojure specific
|
|
31
|
+
* keywords and syntax.
|
|
32
|
+
*
|
|
33
|
+
* "Name" = 'Clojure'
|
|
34
|
+
* "Author" = 'Rich Hickey'
|
|
35
|
+
* "Version" = '1.2'
|
|
36
|
+
* "About" = 'Clojure is a lisp for the jvm with concurrency primitives and a richer set of types.'
|
|
37
|
+
*
|
|
38
|
+
*
|
|
39
|
+
* I used <a href="http://clojure.org/Reference">Clojure.org Reference</a> as
|
|
40
|
+
* the basis for the reserved word list.
|
|
41
|
+
*
|
|
42
|
+
*
|
|
43
|
+
* @author jwall@google.com
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
PR['registerLangHandler'](
|
|
47
|
+
PR['createSimpleLexer'](
|
|
48
|
+
[
|
|
49
|
+
// clojure has more paren types than minimal lisp.
|
|
50
|
+
['opn', /^[\(\{\[]+/, null, '([{'],
|
|
51
|
+
['clo', /^[\)\}\]]+/, null, ')]}'],
|
|
52
|
+
// A line comment that starts with ;
|
|
53
|
+
[PR['PR_COMMENT'], /^;[^\r\n]*/, null, ';'],
|
|
54
|
+
// Whitespace
|
|
55
|
+
[PR['PR_PLAIN'], /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
|
|
56
|
+
// A double quoted, possibly multi-line, string.
|
|
57
|
+
[PR['PR_STRING'], /^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/, null, '"']
|
|
58
|
+
],
|
|
59
|
+
[
|
|
60
|
+
// clojure has a much larger set of keywords
|
|
61
|
+
[PR['PR_KEYWORD'], /^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/, null],
|
|
62
|
+
[PR['PR_TYPE'], /^:[0-9a-zA-Z\-]+/]
|
|
63
|
+
]),
|
|
64
|
+
['clj']);
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
// Copyright (C) 2009 Google Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview
|
|
19
|
+
* Registers a language handler for CSS.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* To use, include prettify.js and this file in your HTML page.
|
|
23
|
+
* Then put your code in an HTML tag like
|
|
24
|
+
* <pre class="prettyprint lang-css"></pre>
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* http://www.w3.org/TR/CSS21/grammar.html Section G2 defines the lexical
|
|
28
|
+
* grammar. This scheme does not recognize keywords containing escapes.
|
|
29
|
+
*
|
|
30
|
+
* @author mikesamuel@gmail.com
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
// This file is a call to a function defined in prettify.js which defines a
|
|
34
|
+
// lexical scanner for CSS and maps tokens to styles.
|
|
35
|
+
|
|
36
|
+
// The call to PR['registerLangHandler'] is quoted so that Closure Compiler
|
|
37
|
+
// will not rename the call so that this language extensions can be
|
|
38
|
+
// compiled/minified separately from one another. Other symbols defined in
|
|
39
|
+
// prettify.js are similarly quoted.
|
|
40
|
+
|
|
41
|
+
// The call is structured thus:
|
|
42
|
+
// PR['registerLangHandler'](
|
|
43
|
+
// PR['createSimpleLexer'](
|
|
44
|
+
// shortcutPatterns,
|
|
45
|
+
// fallThroughPatterns),
|
|
46
|
+
// [languageId0, ..., languageIdN])
|
|
47
|
+
|
|
48
|
+
// Langugage IDs
|
|
49
|
+
// =============
|
|
50
|
+
// The language IDs are typically the file extensions of source files for
|
|
51
|
+
// that language so that users can syntax highlight arbitrary files based
|
|
52
|
+
// on just the extension. This is heuristic, but works pretty well in
|
|
53
|
+
// practice.
|
|
54
|
+
|
|
55
|
+
// Patterns
|
|
56
|
+
// ========
|
|
57
|
+
// Lexers are typically implemented as a set of regular expressions.
|
|
58
|
+
// The SimpleLexer function takes regular expressions, styles, and some
|
|
59
|
+
// pragma-info and produces a lexer. A token description looks like
|
|
60
|
+
// [STYLE_NAME, /regular-expression/, pragmas]
|
|
61
|
+
|
|
62
|
+
// Initially, simple lexer's inner loop looked like:
|
|
63
|
+
|
|
64
|
+
// while sourceCode is not empty:
|
|
65
|
+
// try each regular expression in order until one matches
|
|
66
|
+
// remove the matched portion from sourceCode
|
|
67
|
+
|
|
68
|
+
// This was really slow for large files because some JS interpreters
|
|
69
|
+
// do a buffer copy on the matched portion which is O(n*n)
|
|
70
|
+
|
|
71
|
+
// The current loop now looks like
|
|
72
|
+
|
|
73
|
+
// 1. use js-modules/combinePrefixPatterns.js to
|
|
74
|
+
// combine all regular expressions into one
|
|
75
|
+
// 2. use a single global regular expresion match to extract all tokens
|
|
76
|
+
// 3. for each token try regular expressions in order until one matches it
|
|
77
|
+
// and classify it using the associated style
|
|
78
|
+
|
|
79
|
+
// This is a lot more efficient but it does mean that lookahead and lookbehind
|
|
80
|
+
// can't be used across boundaries to classify tokens.
|
|
81
|
+
|
|
82
|
+
// Sometimes we need lookahead and lookbehind and sometimes we want to handle
|
|
83
|
+
// embedded language -- JavaScript or CSS embedded in HTML, or inline assembly
|
|
84
|
+
// in C.
|
|
85
|
+
|
|
86
|
+
// If a particular pattern has a numbered group, and its style pattern starts
|
|
87
|
+
// with "lang-" as in
|
|
88
|
+
// ['lang-js', /<script>(.*?)<\/script>/]
|
|
89
|
+
// then the token classification step breaks the token into pieces.
|
|
90
|
+
// Group 1 is re-parsed using the language handler for "lang-js", and the
|
|
91
|
+
// surrounding portions are reclassified using the current language handler.
|
|
92
|
+
// This mechanism gives us both lookahead, lookbehind, and language embedding.
|
|
93
|
+
|
|
94
|
+
// Shortcut Patterns
|
|
95
|
+
// =================
|
|
96
|
+
// A shortcut pattern is one that is tried before other patterns if the first
|
|
97
|
+
// character in the token is in the string of characters.
|
|
98
|
+
// This very effectively lets us make quick correct decisions for common token
|
|
99
|
+
// types.
|
|
100
|
+
|
|
101
|
+
// All other patterns are fall-through patterns.
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
// The comments inline below refer to productions in the CSS specification's
|
|
106
|
+
// lexical grammar. See link above.
|
|
107
|
+
PR['registerLangHandler'](
|
|
108
|
+
PR['createSimpleLexer'](
|
|
109
|
+
// Shortcut patterns.
|
|
110
|
+
[
|
|
111
|
+
// The space production <s>
|
|
112
|
+
[PR['PR_PLAIN'], /^[ \t\r\n\f]+/, null, ' \t\r\n\f']
|
|
113
|
+
],
|
|
114
|
+
// Fall-through patterns.
|
|
115
|
+
[
|
|
116
|
+
// Quoted strings. <string1> and <string2>
|
|
117
|
+
[PR['PR_STRING'],
|
|
118
|
+
/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null],
|
|
119
|
+
[PR['PR_STRING'],
|
|
120
|
+
/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null],
|
|
121
|
+
['lang-css-str', /^url\(([^\)\"\']+)\)/i],
|
|
122
|
+
[PR['PR_KEYWORD'],
|
|
123
|
+
/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,
|
|
124
|
+
null],
|
|
125
|
+
// A property name -- an identifier followed by a colon.
|
|
126
|
+
['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],
|
|
127
|
+
// A C style block comment. The <comment> production.
|
|
128
|
+
[PR['PR_COMMENT'], /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
|
|
129
|
+
// Escaping text spans
|
|
130
|
+
[PR['PR_COMMENT'], /^(?:<!--|-->)/],
|
|
131
|
+
// A number possibly containing a suffix.
|
|
132
|
+
[PR['PR_LITERAL'], /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
|
|
133
|
+
// A hex color
|
|
134
|
+
[PR['PR_LITERAL'], /^#(?:[0-9a-f]{3}){1,2}\b/i],
|
|
135
|
+
// An identifier
|
|
136
|
+
[PR['PR_PLAIN'],
|
|
137
|
+
/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],
|
|
138
|
+
// A run of punctuation
|
|
139
|
+
[PR['PR_PUNCTUATION'], /^[^\s\w\'\"]+/]
|
|
140
|
+
]),
|
|
141
|
+
['css']);
|
|
142
|
+
// Above we use embedded languages to highlight property names (identifiers
|
|
143
|
+
// followed by a colon) differently from identifiers in values.
|
|
144
|
+
PR['registerLangHandler'](
|
|
145
|
+
PR['createSimpleLexer']([],
|
|
146
|
+
[
|
|
147
|
+
[PR['PR_KEYWORD'],
|
|
148
|
+
/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]
|
|
149
|
+
]),
|
|
150
|
+
['css-kw']);
|
|
151
|
+
// The content of an unquoted URL literal like url(http://foo/img.png) should
|
|
152
|
+
// be colored as string content. This language handler is used above in the
|
|
153
|
+
// URL production to do so.
|
|
154
|
+
PR['registerLangHandler'](
|
|
155
|
+
PR['createSimpleLexer']([],
|
|
156
|
+
[
|
|
157
|
+
[PR['PR_STRING'], /^[^\)\"\']+/]
|
|
158
|
+
]),
|
|
159
|
+
['css-str']);
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Copyright (C) 2013 Google Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview
|
|
19
|
+
* Registers a language handler Dart.
|
|
20
|
+
* Loosely structured based on the DartLexer in Pygments: http://pygments.org/.
|
|
21
|
+
*
|
|
22
|
+
* To use, include prettify.js and this file in your HTML page.
|
|
23
|
+
* Then put your code in an HTML tag like
|
|
24
|
+
* <pre class="prettyprint lang-dart">(Dart code)</pre>
|
|
25
|
+
*
|
|
26
|
+
* @author armstrong.timothy@gmail.com
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
PR['registerLangHandler'](
|
|
30
|
+
PR['createSimpleLexer'](
|
|
31
|
+
[
|
|
32
|
+
// Whitespace.
|
|
33
|
+
[PR['PR_PLAIN'], /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0']
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
// Script tag.
|
|
37
|
+
[PR['PR_COMMENT'], /^#!(?:.*)/],
|
|
38
|
+
|
|
39
|
+
// `import`, `library`, `part of`, `part`, `as`, `show`, and `hide`
|
|
40
|
+
// keywords.
|
|
41
|
+
[PR['PR_KEYWORD'], /^\b(?:import|library|part of|part|as|show|hide)\b/i],
|
|
42
|
+
|
|
43
|
+
// Single-line comments.
|
|
44
|
+
[PR['PR_COMMENT'], /^\/\/(?:.*)/],
|
|
45
|
+
|
|
46
|
+
// Multiline comments.
|
|
47
|
+
[PR['PR_COMMENT'], /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], // */
|
|
48
|
+
|
|
49
|
+
// `class` and `interface` keywords.
|
|
50
|
+
[PR['PR_KEYWORD'], /^\b(?:class|interface)\b/i],
|
|
51
|
+
|
|
52
|
+
// General keywords.
|
|
53
|
+
[PR['PR_KEYWORD'], /^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],
|
|
54
|
+
|
|
55
|
+
// Declaration keywords.
|
|
56
|
+
[PR['PR_KEYWORD'], /^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i],
|
|
57
|
+
|
|
58
|
+
// Keywords for types.
|
|
59
|
+
[PR['PR_TYPE'], /^\b(?:bool|double|Dynamic|int|num|Object|String|void)\b/i],
|
|
60
|
+
|
|
61
|
+
// Keywords for constants.
|
|
62
|
+
[PR['PR_KEYWORD'], /^\b(?:false|null|true)\b/i],
|
|
63
|
+
|
|
64
|
+
// Multiline strings, single- and double-quoted.
|
|
65
|
+
[PR['PR_STRING'], /^r?[\']{3}[\s|\S]*?[^\\][\']{3}/],
|
|
66
|
+
[PR['PR_STRING'], /^r?[\"]{3}[\s|\S]*?[^\\][\"]{3}/],
|
|
67
|
+
|
|
68
|
+
// Normal and raw strings, single- and double-quoted.
|
|
69
|
+
[PR['PR_STRING'], /^r?\'(\'|(?:[^\n\r\f])*?[^\\]\')/],
|
|
70
|
+
[PR['PR_STRING'], /^r?\"(\"|(?:[^\n\r\f])*?[^\\]\")/],
|
|
71
|
+
|
|
72
|
+
// Identifiers.
|
|
73
|
+
[PR['PR_PLAIN'], /^[a-z_$][a-z0-9_]*/i],
|
|
74
|
+
|
|
75
|
+
// Operators.
|
|
76
|
+
[PR['PR_PUNCTUATION'], /^[~!%^&*+=|?:<>/-]/],
|
|
77
|
+
|
|
78
|
+
// Hex numbers.
|
|
79
|
+
[PR['PR_LITERAL'], /^\b0x[0-9a-f]+/i],
|
|
80
|
+
|
|
81
|
+
// Decimal numbers.
|
|
82
|
+
[PR['PR_LITERAL'], /^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],
|
|
83
|
+
[PR['PR_LITERAL'], /^\b\.\d+(?:e[+-]?\d+)?/i],
|
|
84
|
+
|
|
85
|
+
// Punctuation.
|
|
86
|
+
[PR['PR_PUNCTUATION'], /^[(){}\[\],.;]/]
|
|
87
|
+
]),
|
|
88
|
+
['dart']);
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Copyright (C) 2013 Andrew Allen
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @fileoverview
|
|
18
|
+
* Registers a language handler for Erlang.
|
|
19
|
+
*
|
|
20
|
+
* Derived from https://raw.github.com/erlang/otp/dev/lib/compiler/src/core_parse.yrl
|
|
21
|
+
* Modified from Mike Samuel's Haskell plugin for google-code-prettify
|
|
22
|
+
*
|
|
23
|
+
* @author achew22@gmail.com
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
PR['registerLangHandler'](
|
|
27
|
+
PR['createSimpleLexer'](
|
|
28
|
+
[
|
|
29
|
+
// Whitespace
|
|
30
|
+
// whitechar -> newline | vertab | space | tab | uniWhite
|
|
31
|
+
// newline -> return linefeed | return | linefeed | formfeed
|
|
32
|
+
[PR['PR_PLAIN'], /^[\t\n\x0B\x0C\r ]+/, null, '\t\n\x0B\x0C\r '],
|
|
33
|
+
// Single line double-quoted strings.
|
|
34
|
+
[PR['PR_STRING'], /^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,
|
|
35
|
+
null, '"'],
|
|
36
|
+
|
|
37
|
+
// Handle atoms
|
|
38
|
+
[PR['PR_LITERAL'], /^[a-z][a-zA-Z0-9_]*/],
|
|
39
|
+
// Handle single quoted atoms
|
|
40
|
+
[PR['PR_LITERAL'], /^\'(?:[^\'\\\n\x0C\r]|\\[^&])+\'?/,
|
|
41
|
+
null, "'"],
|
|
42
|
+
|
|
43
|
+
// Handle macros. Just to be extra clear on this one, it detects the ?
|
|
44
|
+
// then uses the regexp to end it so be very careful about matching
|
|
45
|
+
// all the terminal elements
|
|
46
|
+
[PR['PR_LITERAL'], /^\?[^ \t\n({]+/, null, "?"],
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// decimal -> digit{digit}
|
|
51
|
+
// octal -> octit{octit}
|
|
52
|
+
// hexadecimal -> hexit{hexit}
|
|
53
|
+
// integer -> decimal
|
|
54
|
+
// | 0o octal | 0O octal
|
|
55
|
+
// | 0x hexadecimal | 0X hexadecimal
|
|
56
|
+
// float -> decimal . decimal [exponent]
|
|
57
|
+
// | decimal exponent
|
|
58
|
+
// exponent -> (e | E) [+ | -] decimal
|
|
59
|
+
[PR['PR_LITERAL'],
|
|
60
|
+
/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,
|
|
61
|
+
null, '0123456789']
|
|
62
|
+
],
|
|
63
|
+
[
|
|
64
|
+
// TODO: catch @declarations inside comments
|
|
65
|
+
|
|
66
|
+
// Comments in erlang are started with % and go till a newline
|
|
67
|
+
[PR['PR_COMMENT'], /^%[^\n]*/],
|
|
68
|
+
|
|
69
|
+
// Catch macros
|
|
70
|
+
//[PR['PR_TAG'], /?[^( \n)]+/],
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* %% Keywords (atoms are assumed to always be single-quoted).
|
|
74
|
+
* 'module' 'attributes' 'do' 'let' 'in' 'letrec'
|
|
75
|
+
* 'apply' 'call' 'primop'
|
|
76
|
+
* 'case' 'of' 'end' 'when' 'fun' 'try' 'catch' 'receive' 'after'
|
|
77
|
+
*/
|
|
78
|
+
[PR['PR_KEYWORD'], /^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/],
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Catch definitions (usually defined at the top of the file)
|
|
82
|
+
* Anything that starts -something
|
|
83
|
+
*/
|
|
84
|
+
[PR['PR_KEYWORD'], /^-[a-z_]+/],
|
|
85
|
+
|
|
86
|
+
// Catch variables
|
|
87
|
+
[PR['PR_TYPE'], /^[A-Z_][a-zA-Z0-9_]*/],
|
|
88
|
+
|
|
89
|
+
// matches the symbol production
|
|
90
|
+
[PR['PR_PUNCTUATION'], /^[.,;]/]
|
|
91
|
+
]),
|
|
92
|
+
['erlang', 'erl']);
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright (C) 2010 Google Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview
|
|
19
|
+
* Registers a language handler for the Go language..
|
|
20
|
+
* <p>
|
|
21
|
+
* Based on the lexical grammar at
|
|
22
|
+
* http://golang.org/doc/go_spec.html#Lexical_elements
|
|
23
|
+
* <p>
|
|
24
|
+
* Go uses a minimal style for highlighting so the below does not distinguish
|
|
25
|
+
* strings, keywords, literals, etc. by design.
|
|
26
|
+
* From a discussion with the Go designers:
|
|
27
|
+
* <pre>
|
|
28
|
+
* On Thursday, July 22, 2010, Mike Samuel <...> wrote:
|
|
29
|
+
* > On Thu, Jul 22, 2010, Rob 'Commander' Pike <...> wrote:
|
|
30
|
+
* >> Personally, I would vote for the subdued style godoc presents at http://golang.org
|
|
31
|
+
* >>
|
|
32
|
+
* >> Not as fancy as some like, but a case can be made it's the official style.
|
|
33
|
+
* >> If people want more colors, I wouldn't fight too hard, in the interest of
|
|
34
|
+
* >> encouragement through familiarity, but even then I would ask to shy away
|
|
35
|
+
* >> from technicolor starbursts.
|
|
36
|
+
* >
|
|
37
|
+
* > Like http://golang.org/pkg/go/scanner/ where comments are blue and all
|
|
38
|
+
* > other content is black? I can do that.
|
|
39
|
+
* </pre>
|
|
40
|
+
*
|
|
41
|
+
* @author mikesamuel@gmail.com
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
PR['registerLangHandler'](
|
|
45
|
+
PR['createSimpleLexer'](
|
|
46
|
+
[
|
|
47
|
+
// Whitespace is made up of spaces, tabs and newline characters.
|
|
48
|
+
[PR['PR_PLAIN'], /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
|
|
49
|
+
// Not escaped as a string. See note on minimalism above.
|
|
50
|
+
[PR['PR_PLAIN'], /^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])+(?:\'|$)|`[^`]*(?:`|$))/, null, '"\'']
|
|
51
|
+
],
|
|
52
|
+
[
|
|
53
|
+
// Block comments are delimited by /* and */.
|
|
54
|
+
// Single-line comments begin with // and extend to the end of a line.
|
|
55
|
+
[PR['PR_COMMENT'], /^(?:\/\/[^\r\n]*|\/\*[\s\S]*?\*\/)/],
|
|
56
|
+
[PR['PR_PLAIN'], /^(?:[^\/\"\'`]|\/(?![\/\*]))+/i]
|
|
57
|
+
]),
|
|
58
|
+
['go']);
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// Copyright (C) 2009 Google Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview
|
|
19
|
+
* Registers a language handler for Haskell.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* To use, include prettify.js and this file in your HTML page.
|
|
23
|
+
* Then put your code in an HTML tag like
|
|
24
|
+
* <pre class="prettyprint lang-hs">(my lisp code)</pre>
|
|
25
|
+
* The lang-cl class identifies the language as common lisp.
|
|
26
|
+
* This file supports the following language extensions:
|
|
27
|
+
* lang-cl - Common Lisp
|
|
28
|
+
* lang-el - Emacs Lisp
|
|
29
|
+
* lang-lisp - Lisp
|
|
30
|
+
* lang-scm - Scheme
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
* I used http://www.informatik.uni-freiburg.de/~thiemann/haskell/haskell98-report-html/syntax-iso.html
|
|
34
|
+
* as the basis, but ignore the way the ncomment production nests since this
|
|
35
|
+
* makes the lexical grammar irregular. It might be possible to support
|
|
36
|
+
* ncomments using the lookbehind filter.
|
|
37
|
+
*
|
|
38
|
+
*
|
|
39
|
+
* @author mikesamuel@gmail.com
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
PR['registerLangHandler'](
|
|
43
|
+
PR['createSimpleLexer'](
|
|
44
|
+
[
|
|
45
|
+
// Whitespace
|
|
46
|
+
// whitechar -> newline | vertab | space | tab | uniWhite
|
|
47
|
+
// newline -> return linefeed | return | linefeed | formfeed
|
|
48
|
+
[PR['PR_PLAIN'], /^[\t\n\x0B\x0C\r ]+/, null, '\t\n\x0B\x0C\r '],
|
|
49
|
+
// Single line double and single-quoted strings.
|
|
50
|
+
// char -> ' (graphic<' | \> | space | escape<\&>) '
|
|
51
|
+
// string -> " {graphic<" | \> | space | escape | gap}"
|
|
52
|
+
// escape -> \ ( charesc | ascii | decimal | o octal
|
|
53
|
+
// | x hexadecimal )
|
|
54
|
+
// charesc -> a | b | f | n | r | t | v | \ | " | ' | &
|
|
55
|
+
[PR['PR_STRING'], /^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,
|
|
56
|
+
null, '"'],
|
|
57
|
+
[PR['PR_STRING'], /^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,
|
|
58
|
+
null, "'"],
|
|
59
|
+
// decimal -> digit{digit}
|
|
60
|
+
// octal -> octit{octit}
|
|
61
|
+
// hexadecimal -> hexit{hexit}
|
|
62
|
+
// integer -> decimal
|
|
63
|
+
// | 0o octal | 0O octal
|
|
64
|
+
// | 0x hexadecimal | 0X hexadecimal
|
|
65
|
+
// float -> decimal . decimal [exponent]
|
|
66
|
+
// | decimal exponent
|
|
67
|
+
// exponent -> (e | E) [+ | -] decimal
|
|
68
|
+
[PR['PR_LITERAL'],
|
|
69
|
+
/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,
|
|
70
|
+
null, '0123456789']
|
|
71
|
+
],
|
|
72
|
+
[
|
|
73
|
+
// Haskell does not have a regular lexical grammar due to the nested
|
|
74
|
+
// ncomment.
|
|
75
|
+
// comment -> dashes [ any<symbol> {any}] newline
|
|
76
|
+
// ncomment -> opencom ANYseq {ncomment ANYseq}closecom
|
|
77
|
+
// dashes -> '--' {'-'}
|
|
78
|
+
// opencom -> '{-'
|
|
79
|
+
// closecom -> '-}'
|
|
80
|
+
[PR['PR_COMMENT'], /^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],
|
|
81
|
+
// reservedid -> case | class | data | default | deriving | do
|
|
82
|
+
// | else | if | import | in | infix | infixl | infixr
|
|
83
|
+
// | instance | let | module | newtype | of | then
|
|
84
|
+
// | type | where | _
|
|
85
|
+
[PR['PR_KEYWORD'], /^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/, null],
|
|
86
|
+
// qvarid -> [ modid . ] varid
|
|
87
|
+
// qconid -> [ modid . ] conid
|
|
88
|
+
// varid -> (small {small | large | digit | ' })<reservedid>
|
|
89
|
+
// conid -> large {small | large | digit | ' }
|
|
90
|
+
// modid -> conid
|
|
91
|
+
// small -> ascSmall | uniSmall | _
|
|
92
|
+
// ascSmall -> a | b | ... | z
|
|
93
|
+
// uniSmall -> any Unicode lowercase letter
|
|
94
|
+
// large -> ascLarge | uniLarge
|
|
95
|
+
// ascLarge -> A | B | ... | Z
|
|
96
|
+
// uniLarge -> any uppercase or titlecase Unicode letter
|
|
97
|
+
[PR['PR_PLAIN'], /^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],
|
|
98
|
+
// matches the symbol production
|
|
99
|
+
[PR['PR_PUNCTUATION'], /^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]
|
|
100
|
+
]),
|
|
101
|
+
['hs']);
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Copyright (C) 2008 Google Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview
|
|
19
|
+
* Registers a language handler for Common Lisp and related languages.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* To use, include prettify.js and this file in your HTML page.
|
|
23
|
+
* Then put your code in an HTML tag like
|
|
24
|
+
* <pre class="prettyprint lang-lisp">(my lisp code)</pre>
|
|
25
|
+
* The lang-cl class identifies the language as common lisp.
|
|
26
|
+
* This file supports the following language extensions:
|
|
27
|
+
* lang-cl - Common Lisp
|
|
28
|
+
* lang-el - Emacs Lisp
|
|
29
|
+
* lang-lisp - Lisp
|
|
30
|
+
* lang-scm - Scheme
|
|
31
|
+
* lang-lsp - FAT 8.3 filename version of lang-lisp.
|
|
32
|
+
*
|
|
33
|
+
*
|
|
34
|
+
* I used http://www.devincook.com/goldparser/doc/meta-language/grammar-LISP.htm
|
|
35
|
+
* as the basis, but added line comments that start with ; and changed the atom
|
|
36
|
+
* production to disallow unquoted semicolons.
|
|
37
|
+
*
|
|
38
|
+
* "Name" = 'LISP'
|
|
39
|
+
* "Author" = 'John McCarthy'
|
|
40
|
+
* "Version" = 'Minimal'
|
|
41
|
+
* "About" = 'LISP is an abstract language that organizes ALL'
|
|
42
|
+
* | 'data around "lists".'
|
|
43
|
+
*
|
|
44
|
+
* "Start Symbol" = [s-Expression]
|
|
45
|
+
*
|
|
46
|
+
* {Atom Char} = {Printable} - {Whitespace} - [()"\'']
|
|
47
|
+
*
|
|
48
|
+
* Atom = ( {Atom Char} | '\'{Printable} )+
|
|
49
|
+
*
|
|
50
|
+
* [s-Expression] ::= [Quote] Atom
|
|
51
|
+
* | [Quote] '(' [Series] ')'
|
|
52
|
+
* | [Quote] '(' [s-Expression] '.' [s-Expression] ')'
|
|
53
|
+
*
|
|
54
|
+
* [Series] ::= [s-Expression] [Series]
|
|
55
|
+
* |
|
|
56
|
+
*
|
|
57
|
+
* [Quote] ::= '' !Quote = do not evaluate
|
|
58
|
+
* |
|
|
59
|
+
*
|
|
60
|
+
*
|
|
61
|
+
* I used <a href="http://gigamonkeys.com/book/">Practical Common Lisp</a> as
|
|
62
|
+
* the basis for the reserved word list.
|
|
63
|
+
*
|
|
64
|
+
*
|
|
65
|
+
* @author mikesamuel@gmail.com
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
PR['registerLangHandler'](
|
|
69
|
+
PR['createSimpleLexer'](
|
|
70
|
+
[
|
|
71
|
+
['opn', /^\(+/, null, '('],
|
|
72
|
+
['clo', /^\)+/, null, ')'],
|
|
73
|
+
// A line comment that starts with ;
|
|
74
|
+
[PR['PR_COMMENT'], /^;[^\r\n]*/, null, ';'],
|
|
75
|
+
// Whitespace
|
|
76
|
+
[PR['PR_PLAIN'], /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
|
|
77
|
+
// A double quoted, possibly multi-line, string.
|
|
78
|
+
[PR['PR_STRING'], /^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/, null, '"']
|
|
79
|
+
],
|
|
80
|
+
[
|
|
81
|
+
[PR['PR_KEYWORD'], /^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/, null],
|
|
82
|
+
[PR['PR_LITERAL'],
|
|
83
|
+
/^[+\-]?(?:[0#]x[0-9a-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[ed][+\-]?\d+)?)/i],
|
|
84
|
+
// A single quote possibly followed by a word that optionally ends with
|
|
85
|
+
// = ! or ?.
|
|
86
|
+
[PR['PR_LITERAL'],
|
|
87
|
+
/^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],
|
|
88
|
+
// A word that optionally ends with = ! or ?.
|
|
89
|
+
[PR['PR_PLAIN'],
|
|
90
|
+
/^-*(?:[a-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],
|
|
91
|
+
// A printable non-space non-special character
|
|
92
|
+
[PR['PR_PUNCTUATION'], /^[^\w\t\n\r \xA0()\"\\\';]+/]
|
|
93
|
+
]),
|
|
94
|
+
['cl', 'el', 'lisp', 'lsp', 'scm', 'ss', 'rkt']);
|