Commit a514c8d99739b2f395dff25a0ad44f651fa14061

Petros Kyladitis 2013-02-02T01:27:47

Add Python syntax highlighters

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}|=?&lt;|=?&gt;|!|=?<|=?>|={1,2}|(&){1,2}|(&amp;){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}|=?&lt;|=?&gt;|!|=?<|=?>|={1,2}|(&){1,2}|(&amp;){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}|=?&lt;|=?&gt;|!|=?<|=?>|={1,2}|(&){1,2}|(&amp;){1,2}|\|?\||\?|\*|\/|~|\^|%|\b(or|and|not)\b/g,
+	'ignore' :/&(lt|gt|amp);/gi,
+	'punctuation' :/[{}[\];(),.:]/g
+};
+