66" Nikolai Weibull (Add CSS2 support)
77" Maintainer: Jules Wang <[email protected] >88" URL: https://github.com/JulesWang/css.vim
9- " Last Change: 2013 Aug 28
9+ " Last Change: 2013 Sep 24
1010
1111" For version 5.x: Clear all syntax items
1212" For version 6.x: Quit when a syntax file was already loaded
@@ -21,9 +21,6 @@ elseif exists("b:current_syntax") && b:current_syntax == "css"
2121 finish
2222endif
2323
24- " Required for cssHacks
25- setlocal iskeyword -= _
26-
2724let s: cpo_save = &cpo
2825set cpo &vim
2926
@@ -77,23 +74,20 @@ syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" cont
7774syn match cssValueTime contained " +\=\d\+\(\.\d *\)\=\( ms\| s\) " contains =cssUnitDecorators
7875syn match cssValueFrequency contained " +\=\d\+\(\.\d *\)\=\( Hz\| kHz\) " contains =cssUnitDecorators
7976
80-
8177" @media
82- syn match cssMedia " @media\> " nextgroup =cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl
83- syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv all contained skipwhite skipnl nextgroup =cssMediaFeature,cssMediaBlock
84- syn match cssMediaFeature / \( and\)\=\s *(.\{ -})/ contained skipwhite skipnl contains =cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup =cssMediaFeature,cssMediaBlock,cssMediaComma
85- syn keyword cssMediaKeyword and contained
86- syn keyword cssMediaKeyword2 only not contained nextgroup =cssMediaType skipwhite skipnl
87-
78+ syn match cssMedia " @media\> " nextgroup =cssMediaQuery,cssMediaBlock skipwhite skipnl
79+ syn match cssMediaQuery / \( only\| not\)\=\s *[a-z]*\(\s\| ,\)\@ =\(\(\s\+ and\)\=\s\+ (.\{ -})\) */ contained skipwhite skipnl contains =cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType nextgroup =cssMediaBlock,cssMediaComma
80+ syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
81+ syn keyword cssMediaKeyword only not and contained
8882syn region cssMediaBlock transparent matchgroup =cssBraces start =' {' end =' }' contains =css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssTagName,cssClassName,cssIdentifier,cssPseudoClass,cssSelectorOp,cssSelectorOp2,cssAttributeSelector fold
89- syn match cssMediaComma " ," nextgroup =cssMediaType,cssMediaKeyword2 skipwhite skipnl contained
83+ syn match cssMediaComma " ," nextgroup =cssMediaQuery skipwhite skipnl contained
9084
9185" Reference: http://www.w3.org/TR/css3-mediaqueries/
92- syn keyword cssMediaProp contained width height orientation monochrome scan grid
86+ syn keyword cssMediaProp contained width height orientation scan grid
9387syn match cssMediaProp contained / \(\( device\) -\)\= aspect-ratio/
9488syn match cssMediaProp contained / \(\( max\| min\) -\)\= device-pixel-ratio/
9589syn match cssMediaProp contained / \(\( max\| min\) -\)\= device-\( height\| width\) /
96- syn match cssMediaProp contained / \(\( max\| min\) -\)\=\( height\| width\| resolution\| color\( -index\)\=\) /
90+ syn match cssMediaProp contained / \(\( max\| min\) -\)\=\( height\| width\| resolution\| monochrome \| color\( -index\)\=\) /
9791syn keyword cssMediaAttr contained portrait landscape progressive interlace
9892
9993" @page
@@ -103,14 +97,15 @@ syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|rig
10397syn keyword cssPageProp content size contained
10498
10599" @keyframe
106- syn match cssKeyFrame " @\( -. *-\)\= keyframes\>\(\s *\<\S *\>\)\= " nextgroup =cssKeyFrameBlock contains =cssVendor skipwhite skipnl
100+ syn match cssKeyFrame " @\( -[a-z] *-\)\= keyframes\>\(\s *\<\S *\>\)\= " nextgroup =cssKeyFrameBlock contains =cssVendor skipwhite skipnl
107101syn region cssKeyFrameBlock contained transparent matchgroup =cssBraces start =" {" end =" }" contains =cssKeyFrameSelector,cssDefinition
108102syn match cssKeyFrameSelector / \(\d *%\| from\| to\)\= / contained skipwhite skipnl
109103
110104" @import
111- syn region cssInclude start =/ @import\> / end =/ \z e;/ contains =cssComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ
112- syn region cssInclude start =/ @charset\> / end =/ \z e;/ contains =cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment
113- syn region cssInclude start =/ @namespace\> / end =/ \z e;/ contains =cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment
105+ syn region cssInclude start =/ @import\> / end =/ \z e;/ contains =cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword
106+ syn region cssInclude start =/ @charset\> / end =/ \z e;/ contains =cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
107+ syn region cssInclude start =/ @namespace\> / end =/ \z e;/ contains =cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
108+ syn match cssIncludeKeyword / \( @import\| @charset\| @namespace\) / contained
114109
115110" @font-face
116111" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
@@ -458,7 +453,7 @@ syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
458453
459454
460455" Comment
461- syn region cssComment start =" /\* " end =" \* /" contains =@Spell
456+ syn region cssComment start =" /\* " end =" \* /" contains =@Spell fold
462457
463458syn match cssUnicodeEscape " \\\x\{ 1,6}\s\? "
464459syn match cssSpecialCharQQ + \\ "+ contained
@@ -593,6 +588,7 @@ if version >= 508 || !exists("did_css_syn_inits")
593588 HiLink cssColor Constant
594589 HiLink cssIdentifier Function
595590 HiLink cssInclude Include
591+ HiLink cssIncludeKeyword atKeyword
596592 HiLink cssImportant Special
597593 HiLink cssBraces Function
598594 HiLink cssBraceError Error
@@ -602,19 +598,17 @@ if version >= 508 || !exists("did_css_syn_inits")
602598 HiLink cssStringQQ String
603599 HiLink cssStringQ String
604600 HiLink cssAttributeSelector String
605- HiLink cssMedia Special
601+ HiLink cssMedia atKeyword
606602 HiLink cssMediaType Special
607603 HiLink cssMediaComma Normal
608- HiLink cssMediaFeature Normal
609604 HiLink cssMediaKeyword Statement
610- HiLink cssMediaKeyword2 Statement
611605 HiLink cssMediaProp cssProp
612606 HiLink cssMediaAttr cssAttr
613- HiLink cssPage Special
607+ HiLink cssPage atKeyword
614608 HiLink cssPagePseudo PreProc
615609 HiLink cssPageHeaderProp PreProc
616610 HiLink cssPageProp cssProp
617- HiLink cssKeyFrame Special
611+ HiLink cssKeyFrame atKeyword
618612 HiLink cssKeyFrameSelector Constant
619613 HiLink cssFontDescriptor Special
620614 HiLink cssFontDescriptorFunction Constant
@@ -626,6 +620,7 @@ if version >= 508 || !exists("did_css_syn_inits")
626620 HiLink cssAttr Constant
627621 HiLink cssUnitDecorators Number
628622 HiLink cssNoise Noise
623+ HiLink atKeyword Comment
629624 delcommand HiLink
630625endif
631626
0 commit comments