Skip to content

Commit 1d8eccc

Browse files
committed
Fix problem with 'iskeyword' in CSS syntax.
1 parent 9c77e9b commit 1d8eccc

File tree

1 file changed

+19
-24
lines changed

1 file changed

+19
-24
lines changed

runtime/syntax/css.vim

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
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
2222
endif
2323

24-
" Required for cssHacks
25-
setlocal iskeyword-=_
26-
2724
let s:cpo_save = &cpo
2825
set cpo&vim
2926

@@ -77,23 +74,20 @@ syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" cont
7774
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators
7875
syn 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
8882
syn 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
9387
syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
9488
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
9589
syn 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\)\=\)/
9791
syn keyword cssMediaAttr contained portrait landscape progressive interlace
9892

9993
" @page
@@ -103,14 +97,15 @@ syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|rig
10397
syn 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
107101
syn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition
108102
syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl
109103

110104
" @import
111-
syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ
112-
syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment
113-
syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment
105+
syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword
106+
syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
107+
syn region cssInclude start=/@namespace\>/ end=/\ze;/ 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

463458
syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
464459
syn 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
630625
endif
631626

0 commit comments

Comments
 (0)