Index: polymer_1.0.4/bower_components/prism/components/prism-less.js |
diff --git a/polymer_1.0.4/bower_components/prism/components/prism-less.js b/polymer_1.0.4/bower_components/prism/components/prism-less.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0ed468c5432290ffa43592ea91490e1c456e0de7 |
--- /dev/null |
+++ b/polymer_1.0.4/bower_components/prism/components/prism-less.js |
@@ -0,0 +1,60 @@ |
+/* FIXME : |
+ :extend() is not handled specifically : its highlighting is buggy. |
+ Mixin usage must be inside a ruleset to be highlighted. |
+ At-rules (e.g. import) containing interpolations are buggy. |
+ Detached rulesets are highlighted as at-rules. |
+ A comment before a mixin usage prevents the latter to be properly highlighted. |
+ */ |
+ |
+Prism.languages.less = Prism.languages.extend('css', { |
+ 'comment': [ |
+ /\/\*[\w\W]*?\*\//, |
+ { |
+ pattern: /(^|[^\\])\/\/.*/, |
+ lookbehind: true |
+ } |
+ ], |
+ 'atrule': { |
+ pattern: /@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i, |
+ inside: { |
+ 'punctuation': /[:()]/ |
+ } |
+ }, |
+ // selectors and mixins are considered the same |
+ 'selector': { |
+ pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/, |
+ inside: { |
+ // mixin parameters |
+ 'variable': /@+[\w-]+/ |
+ } |
+ }, |
+ |
+ 'property': /(\b|\B)(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i, |
+ 'punctuation': /[{}();:,]/, |
+ 'operator': /[+\-*\/]/ |
+}); |
+ |
+// Invert function and punctuation positions |
+Prism.languages.insertBefore('less', 'punctuation', { |
+ 'function': Prism.languages.less.function |
+}); |
+ |
+Prism.languages.insertBefore('less', 'property', { |
+ 'variable': [ |
+ // Variable declaration (the colon must be consumed!) |
+ { |
+ pattern: /@[\w-]+\s*:/, |
+ inside: { |
+ "punctuation": /:/ |
+ } |
+ }, |
+ |
+ // Variable usage |
+ /@@?[\w-]+/ |
+ ], |
+ 'mixin-usage': { |
+ pattern: /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/, |
+ lookbehind: true, |
+ alias: 'function' |
+ } |
+}); |