prism-erb.js 576 B

1234567891011121314151617181920
  1. (function (Prism) {
  2. Prism.languages.erb = Prism.languages.extend('ruby', {});
  3. Prism.languages.insertBefore('erb', 'comment', {
  4. 'delimiter': {
  5. pattern: /^<%=?|%>$/,
  6. alias: 'punctuation'
  7. }
  8. });
  9. Prism.hooks.add('before-tokenize', function(env) {
  10. var erbPattern = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s[\s\S]*?^=end)+?%>/gm;
  11. Prism.languages['markup-templating'].buildPlaceholders(env, 'erb', erbPattern);
  12. });
  13. Prism.hooks.add('after-tokenize', function(env) {
  14. Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb');
  15. });
  16. }(Prism));