diff options
author | Eevee <eevee.git@veekun.com> | 2013-02-13 17:03:11 -0800 |
---|---|---|
committer | Eevee <eevee.git@veekun.com> | 2013-02-13 17:03:11 -0800 |
commit | 3af791f558502728b7428ad508e69b48e22eeb1e (patch) | |
tree | 8428d500b21690d3305dc77c3685f15bba8587b6 /scss/cssdefs.py | |
parent | cb326827f79a31e22b72defd67ab184714740790 (diff) | |
download | pyscss-3af791f558502728b7428ad508e69b48e22eeb1e.tar.gz |
Break out expression parsing and resolution.
Diffstat (limited to 'scss/cssdefs.py')
-rw-r--r-- | scss/cssdefs.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/scss/cssdefs.py b/scss/cssdefs.py index 3da1fe2..85cc4c9 100644 --- a/scss/cssdefs.py +++ b/scss/cssdefs.py @@ -1,3 +1,6 @@ +import re + + # color literals _colors = { 'aliceblue': '#f0f8ff', @@ -213,3 +216,43 @@ __elements_of_type = { 'html5-inline': dict(enumerate(sorted(__elements_of_type_html5_inline.replace(' ', '').split(',')))), 'html5': dict(enumerate(sorted(__elements_of_type_html5.replace(' ', '').split(',')))), } + + +# Known function names +FUNCTIONS_CSS2 = 'attr counter counters url rgb rect' +## CSS3 +FUNCTIONS_UNITS = 'calc min max cycle' # http://www.w3.org/TR/css3-values/ +FUNCTIONS_COLORS = 'rgba hsl hsla' # http://www.w3.org/TR/css3-color/ +FUNCTIONS_FONTS = 'local format' # http://www.w3.org/TR/css3-fonts/ +# http://www.w3.org/TR/css3-images +FUNCTIONS_IMAGES = 'image element linear-gradient radial-gradient '\ + 'repeating-linear-gradient repeating-radial-gradient' +# http://www.w3.org/TR/css3-2d-transforms/ +FUNCTIONS_2D = 'matrix translate translateX translateY scale '\ + 'scale scaleX scaleY rotate skew skewX skewY' +# http://www.w3.org/TR/css3-3d-transforms/ +FUNCTIONS_3D = 'matrix3d translate3d translateZ scale3d scaleZ rotate3d '\ + 'rotateX rotateY rotateZ perspective' +# http://www.w3.org/TR/css3-transitions/ +FUNCTIONS_TRANSITIONS = 'cubic-bezier' +# http://www.w3.org/TR/css3-animations/ +FUNCTIONS_ANIMATIONS = '' # has 'from' and 'to' block selectors, but no new function +FUNCTIONS_FILTER = 'grayscale blur sepia saturate opacity brightness contrast hue-rotate invert' +FUNCTIONS_OTHERS = 'from to color-stop mask' +VENDORS = '-[^-]+-.+' + +_css_functions_re = re.compile(r'^(%s)$' % ( + '|'.join(' '.join([ + FUNCTIONS_CSS2, + FUNCTIONS_UNITS, + FUNCTIONS_COLORS, + FUNCTIONS_FONTS, + FUNCTIONS_IMAGES, + FUNCTIONS_2D, + FUNCTIONS_3D, + FUNCTIONS_TRANSITIONS, + FUNCTIONS_ANIMATIONS, + FUNCTIONS_FILTER, + FUNCTIONS_OTHERS, + VENDORS, + ]).split()))) |