Add Python syntax highlighters
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
diff --git a/components/prism-python.js b/components/prism-python.js
new file mode 100644
index 0000000..37ddaaf
--- /dev/null
+++ b/components/prism-python.js
@@ -0,0 +1,13 @@
+Prism.languages.python= {
+ 'comment': {
+ pattern: /(^|[^\\])#.*?(\r?\n|$)/g,lookbehind:!0
+ },
+ 'string' : /("|')(\\?.)*?\1/g,
+ 'keyword' :/\b(as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/g,
+ 'boolean' :/\b(True|False)\b/g,
+ 'number' :/\b-?(0x)?\d*\.?[\da-f]+\b/g,
+ 'operator' :/[-+]{1,2}|=?<|=?>|!|=?<|=?>|={1,2}|(&){1,2}|(&){1,2}|\|?\||\?|\*|\/|~|\^|%|\b(or|and|not)\b/g,
+ 'ignore' :/&(lt|gt|amp);/gi,
+ 'punctuation' :/[{}[\];(),.:]/g
+};
+
diff --git a/components/prism-python.min.js b/components/prism-python.min.js
new file mode 100644
index 0000000..2020029
--- /dev/null
+++ b/components/prism-python.min.js
@@ -0,0 +1 @@
+Prism.languages.python= {comment:{pattern:/(^|[^\\])#.*?(\r?\n|$)/g,lookbehind:!0},string: /("|')(\\?.)*?\1/g,keyword:/\b(as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/g,boolean:/\b(True|False)\b/g,number:/\b-?(0x)?\d*\.?[\da-f]+\b/g,operator:/[-+]{1,2}|=?<|=?>|!|=?<|=?>|={1,2}|(&){1,2}|(&){1,2}|\|?\||\?|\*|\/|~|\^|%|\b(or|and|not)\b/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};
diff --git a/prism.js b/prism.js
index 239c615..27ab944 100644
--- a/prism.js
+++ b/prism.js
@@ -501,3 +501,21 @@ Prism.languages.insertBefore('coffeescript', 'keyword', {
'attr-name': /[_?a-z-|A-Z-]+(\s*:)| @[_?$?a-z-|A-Z-]+(\s*)| /g
});
+
+/* **********************************************
+ Begin prism-python.js
+********************************************** */
+
+Prism.languages.python= {
+ 'comment': {
+ pattern: /(^|[^\\])#.*?(\r?\n|$)/g,lookbehind:!0
+ },
+ 'string' : /("|')(\\?.)*?\1/g,
+ 'keyword' :/\b(as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/g,
+ 'boolean' :/\b(True|False)\b/g,
+ 'number' :/\b-?(0x)?\d*\.?[\da-f]+\b/g,
+ 'operator' :/[-+]{1,2}|=?<|=?>|!|=?<|=?>|={1,2}|(&){1,2}|(&){1,2}|\|?\||\?|\*|\/|~|\^|%|\b(or|and|not)\b/g,
+ 'ignore' :/&(lt|gt|amp);/gi,
+ 'punctuation' :/[{}[\];(),.:]/g
+};
+