Minor edits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
diff --git a/components/prism-haml.js b/components/prism-haml.js
index 6910237..36da2b1 100644
--- a/components/prism-haml.js
+++ b/components/prism-haml.js
@@ -127,22 +127,23 @@
// Non exhaustive list of available filters and associated languages
var filters = [
- {filter:'css',language:'css'},
+ 'css',
{filter:'coffee',language:'coffeescript'},
- {filter:'erb',language:'erb'},
- {filter:'javascript',language:'javascript'},
- {filter:'less',language:'less'},
- {filter:'markdown',language:'markdown'},
- {filter:'ruby',language:'ruby'},
- {filter:'scss',language:'scss'},
- {filter:'textile',language:'textile'}
+ 'erb',
+ 'javascript',
+ 'less',
+ 'markdown',
+ 'ruby',
+ 'scss',
+ 'textile'
];
var all_filters = {};
- for(var i=0,l=filters.length;i<l;i++) {
+ for (var i = 0, l = filters.length; i < l; i++) {
var filter = filters[i];
- if(Prism.languages[filter.language]) {
+ filter = 'filter' in filter ? filter : {filter: filter, language: filter};
+ if (Prism.languages[filter.language]) {
all_filters['filter-' + filter.filter] = {
- pattern: new RegExp(filter_pattern.replace('{{filter_name}}', filter.filter)),
+ pattern: RegExp(filter_pattern.replace('{{filter_name}}', filter.filter)),
lookbehind: true,
inside: {
'filter-name': {
@@ -155,6 +156,6 @@
}
}
- Prism.languages.insertBefore('haml','filter',all_filters);
+ Prism.languages.insertBefore('haml', 'filter', all_filters);
}(Prism));
\ No newline at end of file
diff --git a/components/prism-haml.min.js b/components/prism-haml.min.js
index 4a033de..02e4a76 100644
--- a/components/prism-haml.min.js
+++ b/components/prism-haml.min.js
@@ -1 +1 @@
-!function(a){a.languages.haml={"multiline-comment":[{pattern:/((?:^|\n)([\t ]*))\/.*(\n\2[\t ]+.+)*/,lookbehind:!0,alias:"comment"},{pattern:/((?:^|\n)([\t ]*))-#.*(\n\2[\t ]+.+)*/,lookbehind:!0,alias:"comment"}],"multiline-code":[{pattern:/((?:^|\n)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(\n\2[\t ]+.*,[\t ]*)*(\n\2[\t ]+.+)/,lookbehind:!0,inside:{rest:a.languages.ruby}},{pattern:/((?:^|\n)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(\n\2[\t ]+.*\|[\t ]*)*/,lookbehind:!0,inside:{rest:a.languages.ruby}}],filter:{pattern:/((?:^|\n)([\t ]*)):[\w-]+(\n(?:\2[\t ]+.+|\s*?(?=\n)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},markup:{pattern:/((?:^|\n)[\t ]*)<.+/,lookbehind:!0,inside:{rest:a.languages.markup}},doctype:{pattern:/((?:^|\n)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\n)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,lookbehind:!0,inside:{rest:a.languages.ruby}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\?.)*?"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:{rest:a.languages.ruby}}],punctuation:/[<>]/}},code:{pattern:/((?:^|\n)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:{rest:a.languages.ruby}},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:a.languages.ruby}},punctuation:{pattern:/((?:^|\n)[\t ]*)[~=\-&!]/,lookbehind:!0}};for(var b="((?:^|\\n)([\\t ]*)):{{filter_name}}(\\n(?:\\2[\\t ]+.+|\\s*?(?=\\n)))+",c=[{filter:"css",language:"css"},{filter:"coffee",language:"coffeescript"},{filter:"erb",language:"erb"},{filter:"javascript",language:"javascript"},{filter:"less",language:"less"},{filter:"markdown",language:"markdown"},{filter:"ruby",language:"ruby"},{filter:"scss",language:"scss"},{filter:"textile",language:"textile"}],d={},e=0,f=c.length;f>e;e++){var g=c[e];a.languages[g.language]&&(d["filter-"+g.filter]={pattern:new RegExp(b.replace("{{filter_name}}",g.filter)),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:a.languages[g.language]}})}a.languages.insertBefore("haml","filter",d)}(Prism);
\ No newline at end of file
+!function(a){a.languages.haml={"multiline-comment":[{pattern:/((?:^|\n)([\t ]*))\/.*(\n\2[\t ]+.+)*/,lookbehind:!0,alias:"comment"},{pattern:/((?:^|\n)([\t ]*))-#.*(\n\2[\t ]+.+)*/,lookbehind:!0,alias:"comment"}],"multiline-code":[{pattern:/((?:^|\n)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(\n\2[\t ]+.*,[\t ]*)*(\n\2[\t ]+.+)/,lookbehind:!0,inside:{rest:a.languages.ruby}},{pattern:/((?:^|\n)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(\n\2[\t ]+.*\|[\t ]*)*/,lookbehind:!0,inside:{rest:a.languages.ruby}}],filter:{pattern:/((?:^|\n)([\t ]*)):[\w-]+(\n(?:\2[\t ]+.+|\s*?(?=\n)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},markup:{pattern:/((?:^|\n)[\t ]*)<.+/,lookbehind:!0,inside:{rest:a.languages.markup}},doctype:{pattern:/((?:^|\n)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\n)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,lookbehind:!0,inside:{rest:a.languages.ruby}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\?.)*?"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:{rest:a.languages.ruby}}],punctuation:/[<>]/}},code:{pattern:/((?:^|\n)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:{rest:a.languages.ruby}},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:a.languages.ruby}},punctuation:{pattern:/((?:^|\n)[\t ]*)[~=\-&!]/,lookbehind:!0}};for(var b="((?:^|\\n)([\\t ]*)):{{filter_name}}(\\n(?:\\2[\\t ]+.+|\\s*?(?=\\n)))+",c=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],d={},e=0,f=c.length;f>e;e++){var g=c[e];g="filter"in g?g:{filter:g,language:g},a.languages[g.language]&&(d["filter-"+g.filter]={pattern:RegExp(b.replace("{{filter_name}}",g.filter)),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:a.languages[g.language]}})}a.languages.insertBefore("haml","filter",d)}(Prism);
\ No newline at end of file