Index: lib/src/prism/components/prism-haml.js |
diff --git a/lib/src/prism/components/prism-haml.js b/lib/src/prism/components/prism-haml.js |
index eb0b9a91389365a6a0eb3634ff05a227fed76a51..e14539f99436e2e215ed40472c621a57fdc83879 100644 |
--- a/lib/src/prism/components/prism-haml.js |
+++ b/lib/src/prism/components/prism-haml.js |
@@ -10,29 +10,22 @@ |
Prism.languages.haml = { |
// Multiline stuff should appear before the rest |
- 'multiline-comment': [ |
- { |
- pattern: /((?:^|\n)([\t ]*))\/.*(\n\2[\t ]+.+)*/, |
- lookbehind: true, |
- alias: 'comment' |
- }, |
- { |
- pattern: /((?:^|\n)([\t ]*))-#.*(\n\2[\t ]+.+)*/, |
- lookbehind: true, |
- alias: 'comment' |
- } |
- ], |
+ 'multiline-comment': { |
+ pattern: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*((?:\r?\n|\r)\2[\t ]+.+)*/, |
+ lookbehind: true, |
+ alias: 'comment' |
+ }, |
'multiline-code': [ |
{ |
- pattern: /((?:^|\n)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(\n\2[\t ]+.*,[\t ]*)*(\n\2[\t ]+.+)/, |
+ pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*((?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*((?:\r?\n|\r)\2[\t ]+.+)/, |
lookbehind: true, |
inside: { |
rest: Prism.languages.ruby |
} |
}, |
{ |
- pattern: /((?:^|\n)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(\n\2[\t ]+.*\|[\t ]*)*/, |
+ pattern: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*((?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/, |
lookbehind: true, |
inside: { |
rest: Prism.languages.ruby |
@@ -42,7 +35,7 @@ |
// See at the end of the file for known filters |
'filter': { |
- pattern: /((?:^|\n)([\t ]*)):[\w-]+(\n(?:\2[\t ]+.+|\s*?(?=\n)))+/, |
+ pattern: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+((?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, |
lookbehind: true, |
inside: { |
'filter-name': { |
@@ -53,19 +46,19 @@ |
}, |
'markup': { |
- pattern: /((?:^|\n)[\t ]*)<.+/, |
+ pattern: /((?:^|\r?\n|\r)[\t ]*)<.+/, |
lookbehind: true, |
inside: { |
rest: Prism.languages.markup |
} |
}, |
'doctype': { |
- pattern: /((?:^|\n)[\t ]*)!!!(?: .+)?/, |
+ pattern: /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/, |
lookbehind: true |
}, |
'tag': { |
// Allows for one nested group of braces |
- pattern: /((?:^|\n)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/, |
+ pattern: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/, |
lookbehind: true, |
inside: { |
'attributes': [ |
@@ -100,7 +93,7 @@ |
} |
}, |
'code': { |
- pattern: /((?:^|\n)[\t ]*(?:[~-]|[&!]?=)).+/, |
+ pattern: /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/, |
lookbehind: true, |
inside: { |
rest: Prism.languages.ruby |
@@ -118,12 +111,12 @@ |
} |
}, |
'punctuation': { |
- pattern: /((?:^|\n)[\t ]*)[~=\-&!]/, |
+ pattern: /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/, |
lookbehind: true |
} |
}; |
- var filter_pattern = '((?:^|\\n)([\\t ]*)):{{filter_name}}(\\n(?:\\2[\\t ]+.+|\\s*?(?=\\n)))+'; |
+ var filter_pattern = '((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+'; |
// Non exhaustive list of available filters and associated languages |
var filters = [ |