source: node_modules/refractor/lang/erb.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.0 KB
Line 
1'use strict'
2var refractorRuby = require('./ruby.js')
3var refractorMarkupTemplating = require('./markup-templating.js')
4module.exports = erb
5erb.displayName = 'erb'
6erb.aliases = []
7function erb(Prism) {
8 Prism.register(refractorRuby)
9 Prism.register(refractorMarkupTemplating)
10 ;(function (Prism) {
11 Prism.languages.erb = {
12 delimiter: {
13 pattern: /^(\s*)<%=?|%>(?=\s*$)/,
14 lookbehind: true,
15 alias: 'punctuation'
16 },
17 ruby: {
18 pattern: /\s*\S[\s\S]*/,
19 alias: 'language-ruby',
20 inside: Prism.languages.ruby
21 }
22 }
23 Prism.hooks.add('before-tokenize', function (env) {
24 var erbPattern =
25 /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g
26 Prism.languages['markup-templating'].buildPlaceholders(
27 env,
28 'erb',
29 erbPattern
30 )
31 })
32 Prism.hooks.add('after-tokenize', function (env) {
33 Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb')
34 })
35 })(Prism)
36}
Note: See TracBrowser for help on using the repository browser.