From d3d0fc3f5ee1e65d4e4c3a2a3359378f2ab84b9c Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 15 May 2013 07:48:42 +0800 Subject: [PATCH 001/112] add 4 html5 keywords --- syntax/css.vim | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index d6fb975..d021d3b 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2012 Dec 15 +" Last Change: 2013 May 15 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -37,24 +37,25 @@ syn keyword cssTagName span strike strong style sub sup table tbody td syn keyword cssTagName textarea tfoot th thead title tr tt ul u var syn keyword cssTagName object -" HTML5 new tags 5*6=30 -syn keyword cssTagName article aside audio bdi canvas command -syn keyword cssTagName datalist details embed figcaption figure footer -syn keyword cssTagName header hgroup keygen mark meter nav + +" 34 HTML5 tags +syn keyword cssTagName article aside audio bdi canvas command data +syn keyword cssTagName datalist details dialog embed figcaption figure footer +syn keyword cssTagName header hgroup keygen main mark menuitem meter nav syn keyword cssTagName output progress rt rp ruby section syn keyword cssTagName source summary time track video wbr +" FIXME: add HTML5 attribute + " Tags not supported in HTML5 syn keyword cssDeprecated acronym applet basefont big center dir syn keyword cssDeprecated font frame frameset noframes strike tt -"syn match cssTagName "\" syn match cssTagName "\*" " selectors syn match cssSelectorOp "[,>+]" syn match cssSelectorOp2 "[~|^$*]\?=" contained -" FIXME: add HTML5 attribute syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ " .class and #id @@ -144,21 +145,18 @@ syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3 " Prop and Attr " Reference: http://www.w3schools.com/cssref/default.asp -syn keyword cssCommonAttr contained auto none inherit all -syn keyword cssCommonAttr contained top bottom -syn keyword cssCommonAttr contained medium normal - +syn keyword cssCommonAttr contained auto none inherit all default normal +syn keyword cssCommonAttr contained top bottom center stretch hidden visible syn match cssAnimationProp contained "\" - syn keyword cssAnimationAttr contained infinite alternate paused running " bugfix: escape linear-gradient syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" syn match cssBackgroundProp contained "\" -syn keyword cssBackgroundAttr contained center fixed over contain +syn keyword cssBackgroundAttr contained fixed over contain syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\<\(border\|content\|padding\)-box\>" @@ -171,9 +169,7 @@ syn match cssBorderOutlineProp contained "\" syn keyword cssBorderOutlineAttr contained thin thick medium syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset -syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse -syn keyword cssBorderOutlineAttr contained stretch round - +syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse round syn match cssBoxProp contained "\" syn match cssBoxProp contained "\" @@ -191,7 +187,7 @@ syn keyword cssDimensionProp contained width " shadow and sizing are in other property groups syn match cssFlexibleBoxProp contained "\" -syn keyword cssFlexibleBoxAttr contained start end center baseline stretch +syn keyword cssFlexibleBoxAttr contained start end baseline syn keyword cssFlexibleBoxAttr contained normal reverse syn keyword cssFlexibleBoxAttr contained single mulitple syn keyword cssFlexibleBoxAttr contained horizontal @@ -271,7 +267,7 @@ syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>" syn keyword cssTextAttr contained ltr rtl embed nowrap syn keyword cssTextAttr contained underline overline blink sub super middle syn keyword cssTextAttr contained capitalize uppercase lowercase -syn keyword cssTextAttr contained center justify baseline sub super +syn keyword cssTextAttr contained justify baseline sub super syn match cssTextAttr contained "\" syn match cssTextAttr contained "\<\(allow\|force\)-end\>" syn keyword cssTextAttr contained start end adjacent @@ -314,17 +310,9 @@ syn match cssAuralAttr contained "\" " cursor syn keyword cssUIProp contained cursor syn match cssUIAttr contained "\<[ns]\=[ew]\=-resize\>" -syn keyword cssUIAttr contained crosshair default help move pointer +syn keyword cssUIAttr contained crosshair help move pointer syn keyword cssUIAttr contained progress wait - -" FIXME: I could not find them in reference syn keyword cssUIAttr contained invert maker size zoom -syn match cssRenderAttr contained "\" -syn match cssRenderAttr contained "\" -syn match cssRenderAttr contained "\" -syn match cssRenderProp contained "\" -syn match cssRenderAttr contained "\" - " FIXME: This allows cssMediaBlock before the semicolon, which is wrong. syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType From 0d486601db0faf59f3032eb37ff55d778f9d7287 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Mon, 22 Jul 2013 17:04:20 +0800 Subject: [PATCH 002/112] Fix @* syntaxs --- README.md | 7 ++++--- syntax/css.vim | 54 +++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index acbd184..4b76032 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,10 @@ and run `:BundleInstall` in vim. Change Log ------------ -* 2013-01-13: added support for installation using vundle -* 2011-10-15: add 130 more color names. -* 2011-09-13: test and add some missing items. +* 2013-07-22: Fix @media(issue #6),@import,@charset,@namespace,@page,@keyframe syntaxs. +* 2013-01-13: Add support for installation using vundle. +* 2011-10-15: Add 130 more color names. +* 2011-09-13: Test and add some missing items. * 2011-09-11: 80% css3 support. Thanks diff --git a/syntax/css.vim b/syntax/css.vim index d021d3b..fefe12d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2013 May 15 +" Last Change: 2013 July 22 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -67,15 +67,7 @@ catch /^.*/ syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" endtry -syn match cssTagName "@page\>" nextgroup=cssDefinition -" FIXME: use cssVendor here -syn match cssTagName "@\(-\(webkit\|moz\|o\|ms\)-\)\=keyframes\>" nextgroup=cssDefinition - -syn match cssMedia "@media\>" nextgroup=cssMediaType skipwhite skipnl -syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all nextgroup=cssMediaComma,cssMediaBlock skipwhite skipnl -"syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl -syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssError,cssComment,cssDefinition,cssURL,cssUnicodeEscape,cssIdentifier - +" digits syn match cssValueInteger contained "[-+]\=\d\+" syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\)" @@ -83,6 +75,37 @@ syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" + +" @media +syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma skipwhite skipnl +syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock +syn match cssMediaFeature /\(and\)\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr nextgroup=cssMediaFeature,cssMadiaBlock +syn keyword cssMediaKeyword and contained +syn keyword cssMediaProp grid monochrome orientation scan contained +syn match cssMediaProp /color\(-index\)\=/ contained +syn match cssMediaProp /\(\(device\)-\)\=aspect-ratio/ contained +syn match cssMediaProp /\(\(max\|min\)-\)\=device-\(height\|width\)/ contained +syn match cssMediaProp /\(\(max\|min\)-\)\=\(height\|width\|color\)/ contained +syn match cssMediaAttr /\(portrait\|landscape\)/ contained +syn region cssMadiaBlock 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 +syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl + +" @page +syn match cssPage "@page\>" nextgroup=cssPagePseudo,cssDefinition skipwhite skipnl +syn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl +syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained + +" @keyframe +syn match cssKeyFrame "@\(-.*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl +syn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition +syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl + +" @import +syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ +syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment +syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment + +" @font-face syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>" @@ -314,8 +337,6 @@ syn keyword cssUIAttr contained crosshair help move pointer syn keyword cssUIAttr contained progress wait syn keyword cssUIAttr contained invert maker size zoom -" FIXME: This allows cssMediaBlock before the semicolon, which is wrong. -syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition @@ -456,6 +477,15 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssMedia Special HiLink cssMediaType Special HiLink cssMediaComma Normal + HiLink cssMediaFeature Normal + HiLink cssMediaKeyword Statement + HiLink cssMediaProp StorageClass + HiLink cssMediaAttr Type + HiLink cssPage Special + HiLink cssPagePseudo PreProc + HiLink cssPageHeaderProp PreProc + HiLink cssKeyFrame Special + HiLink cssKeyFrameSelector Constant HiLink cssFontDescriptor Special HiLink cssFontDescriptorFunction Constant HiLink cssFontDescriptorProp StorageClass From 1ddd6349a8d850a72e6ee8abd0ff318de993e7d5 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Mon, 22 Jul 2013 17:18:24 +0800 Subject: [PATCH 003/112] tiny fix --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index fefe12d..41d62c9 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -79,7 +79,7 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" " @media syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma skipwhite skipnl syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock -syn match cssMediaFeature /\(and\)\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr nextgroup=cssMediaFeature,cssMadiaBlock +syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr nextgroup=cssMediaFeature,cssMadiaBlock syn keyword cssMediaKeyword and contained syn keyword cssMediaProp grid monochrome orientation scan contained syn match cssMediaProp /color\(-index\)\=/ contained From 4280cf207f60bf480ba32dcd66381fa451b364e6 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Mon, 22 Jul 2013 17:24:17 +0800 Subject: [PATCH 004/112] escape border-box --- syntax/css.vim | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 41d62c9..d14fef5 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -184,8 +184,7 @@ syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\<\(border\|content\|padding\)-box\>" - -syn match cssBorderOutlineProp contained "\" +syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" From 535244d688479589161136f89a5ac534c0b1b02c Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 23 Jul 2013 09:46:19 +0800 Subject: [PATCH 005/112] add keywords 'only' and 'not' --- syntax/css.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index d14fef5..10bd2ca 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -77,10 +77,11 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" " @media -syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma skipwhite skipnl -syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock +syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl +syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr nextgroup=cssMediaFeature,cssMadiaBlock syn keyword cssMediaKeyword and contained +syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl syn keyword cssMediaProp grid monochrome orientation scan contained syn match cssMediaProp /color\(-index\)\=/ contained syn match cssMediaProp /\(\(device\)-\)\=aspect-ratio/ contained @@ -478,6 +479,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssMediaComma Normal HiLink cssMediaFeature Normal HiLink cssMediaKeyword Statement + HiLink cssMediaKeyword2 Statement HiLink cssMediaProp StorageClass HiLink cssMediaAttr Type HiLink cssPage Special From 5345e343fdb5a165096f3a4ed67136343d5706da Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 23 Jul 2013 10:06:07 +0800 Subject: [PATCH 006/112] add MediaProp and MediaAttr --- syntax/css.vim | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 10bd2ca..ba6446d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -70,7 +70,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\)" +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dpcm\)" syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" @@ -83,11 +83,10 @@ syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl conta syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl syn keyword cssMediaProp grid monochrome orientation scan contained -syn match cssMediaProp /color\(-index\)\=/ contained syn match cssMediaProp /\(\(device\)-\)\=aspect-ratio/ contained syn match cssMediaProp /\(\(max\|min\)-\)\=device-\(height\|width\)/ contained -syn match cssMediaProp /\(\(max\|min\)-\)\=\(height\|width\|color\)/ contained -syn match cssMediaAttr /\(portrait\|landscape\)/ contained +syn match cssMediaProp /\(\(max\|min\)-\)\=\(height\|width\|resolution\|color\(-index\)\=\)/ contained +syn keyword cssMediaAttr portrait landscape progressive interlace contained syn region cssMadiaBlock 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 syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl From 440e67e9d561a11fac8c57e130873f11b8e7e97d Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 24 Jul 2013 10:44:33 +0800 Subject: [PATCH 007/112] correct silly mistake --- syntax/css.vim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index ba6446d..c59b23f 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -174,21 +174,21 @@ syn keyword cssCommonAttr contained top bottom center stretch hidden visible syn match cssAnimationProp contained "\" syn keyword cssAnimationAttr contained infinite alternate paused running -" bugfix: escape linear-gradient +syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" +syn match cssAnimationAttr contained "\" syn match cssBackgroundProp contained "\" syn keyword cssBackgroundAttr contained fixed over contain syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" -syn match cssBackgroundAttr contained "\<\(border\|content\|padding\)-box\>" -syn match cssBorderOutlineProp contained "\" +syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" -syn match cssBorderOutlineProp contained "\" +syn match cssBorderOutlineProp contained "\" syn keyword cssBorderOutlineAttr contained thin thick medium syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse round @@ -232,7 +232,7 @@ syn keyword cssFontAttr contained large smaller larger narrower wider syn keyword cssFontAttr contained Courier Arial Georgia Times -syn keyword cssGeneratedContentProp contained content quotes crop +syn keyword cssGeneratedContentProp contained quotes crop syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" @@ -256,7 +256,7 @@ syn match cssMarginProp contained "\ syn match cssMultiColumnProp contained "\" -syn match cssPaddingProp contained "\" +syn match cssPaddingProp contained "\" syn keyword cssPositioningProp contained bottom clear clip display float left syn keyword cssPositioningProp contained position right top visibility From 412e970931c752596e6f7ea063848cc401feee4c Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 31 Jul 2013 15:07:37 +0800 Subject: [PATCH 008/112] Prop and Attr use differnt colors; trival fixups --- syntax/css.vim | 238 ++++++++++++++++++++++++++++--------------------- 1 file changed, 138 insertions(+), 100 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index c59b23f..9c0bede 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2013 July 22 +" Last Change: 2013 July 31 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -37,7 +37,6 @@ syn keyword cssTagName span strike strong style sub sup table tbody td syn keyword cssTagName textarea tfoot th thead title tr tt ul u var syn keyword cssTagName object - " 34 HTML5 tags syn keyword cssTagName article aside audio bdi canvas command data syn keyword cssTagName datalist details dialog embed figcaption figure footer @@ -45,8 +44,6 @@ syn keyword cssTagName header hgroup keygen main mark menuitem meter nav syn keyword cssTagName output progress rt rp ruby section syn keyword cssTagName source summary time track video wbr -" FIXME: add HTML5 attribute - " Tags not supported in HTML5 syn keyword cssDeprecated acronym applet basefont big center dir syn keyword cssDeprecated font frame frameset noframes strike tt @@ -82,18 +79,22 @@ syn keyword cssMediaType contained screen print aural braile embosed handheld pr syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr nextgroup=cssMediaFeature,cssMadiaBlock syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -syn keyword cssMediaProp grid monochrome orientation scan contained -syn match cssMediaProp /\(\(device\)-\)\=aspect-ratio/ contained -syn match cssMediaProp /\(\(max\|min\)-\)\=device-\(height\|width\)/ contained -syn match cssMediaProp /\(\(max\|min\)-\)\=\(height\|width\|resolution\|color\(-index\)\=\)/ contained -syn keyword cssMediaAttr portrait landscape progressive interlace contained + syn region cssMadiaBlock 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 syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl +" Reference: http://www.w3.org/TR/css3-mediaqueries/ +syn keyword cssMediaProp contained width height orientation monochrome scan grid +syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|color\(-index\)\=\)/ +syn keyword cssMediaAttr contained portrait landscape progressive interlace + " @page syn match cssPage "@page\>" nextgroup=cssPagePseudo,cssDefinition skipwhite skipnl syn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained +syn keyword cssPageProp content size contained " @keyframe syn match cssKeyFrame "@\(-.*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl @@ -167,7 +168,6 @@ syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear\|r syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y|\Z\)\=\|translate\(3d\|X\|Y|\Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y|\Z\)\=\|perspective\)\s*(" end=")" oneline keepend " Prop and Attr -" Reference: http://www.w3schools.com/cssref/default.asp syn keyword cssCommonAttr contained auto none inherit all default normal syn keyword cssCommonAttr contained top bottom center stretch hidden visible @@ -178,21 +178,23 @@ syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" +syn match cssAnimationAttr contained "\" -syn match cssBackgroundProp contained "\" +syn match cssBackgroundProp contained "\" syn keyword cssBackgroundAttr contained fixed over contain syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" syn match cssBorderOutlineProp contained "\" -syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" -syn match cssBorderOutlineProp contained "\" +syn match cssBorderOutlineProp contained "\" syn keyword cssBorderOutlineAttr contained thin thick medium syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse round +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" syn match cssBoxProp contained "\" syn match cssBoxProp contained "\" syn keyword cssBoxAttr contained visible hidden scroll auto @@ -210,7 +212,7 @@ syn keyword cssDimensionProp contained width " shadow and sizing are in other property groups syn match cssFlexibleBoxProp contained "\" syn keyword cssFlexibleBoxAttr contained start end baseline -syn keyword cssFlexibleBoxAttr contained normal reverse +syn keyword cssFlexibleBoxAttr contained reverse syn keyword cssFlexibleBoxAttr contained single mulitple syn keyword cssFlexibleBoxAttr contained horizontal " bugfix: escape vertial-align @@ -250,14 +252,8 @@ syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic syn keyword cssListAttr contained disc circle square hebrew armenian georgian syn keyword cssListAttr contained inside outside - -syn match cssMarginProp contained "\" - syn match cssMultiColumnProp contained "\" - -syn match cssPaddingProp contained "\" - syn keyword cssPositioningProp contained bottom clear clip display float left syn keyword cssPositioningProp contained position right top visibility syn match cssPositioningProp contained "\" @@ -307,11 +303,47 @@ syn match cssTransformProp contained "\" syn match cssTransitionProp contained "\" -syn match cssUIProp contained "\" -syn match cssUIProp contained "\" +" Basic UI Reference: http://www.w3.org/TR/2003/WD-css3-ui-20030703/ +syn keyword cssUIProp contained appearance +syn keyword cssUIAttr contained window button field icon document menubar +syn keyword cssUIAttr contained workspace desktop tooltip dialog hyperlink +syn match cssUIAttr contained "\<\(push-\|radio-\)\=button\>" +syn match cssUIAttr contained "\<\(pull-down-\|pop-up-\|list-\)\=menu\>" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" + syn match cssUIProp contained "\" -syn keyword cssUIProp contained appearance icon resize -syn keyword cssUIAttr contained window button menu field +syn match cssUIAttr contained "\<\(content\|padding\|border\)-box\>" + +syn keyword cssUIProp contained cursor +syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" +syn keyword cssUIAttr contained crosshair help move pointer alias copy +syn keyword cssUIAttr contained progress wait text cell move +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\<\(vertical-\)\=text\>" +syn match cssUIAttr contained "\" + +syn keyword cssUIProp contained font +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\<\(small-\)\=caption\>" + +syn match cssUIProp contained "\" +syn match cssUIAttr contained "\" + +syn keyword cssUIProp contained icon display + +syn match cssUIProp contained "\" + +syn match cssUIProp contained "\" + +syn keyword cssUIProp contained resize +syn keyword cssUIAttr contained both horizontal vertical + syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>" @@ -329,28 +361,26 @@ syn keyword cssAuralAttr contained faster slower syn keyword cssAuralAttr contained male female child code digits continuous syn match cssAuralAttr contained "\" -" cursor -syn keyword cssUIProp contained cursor -syn match cssUIAttr contained "\<[ns]\=[ew]\=-resize\>" -syn keyword cssUIAttr contained crosshair help move pointer -syn keyword cssUIAttr contained progress wait -syn keyword cssUIAttr contained invert maker size zoom +" mobile text +syn match cssMobileTextProp contained "\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition syn match cssBraceError "}" " Pseudo class -syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape -syn keyword cssPseudoClassId link visited active hover focus before after left right lang +syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape,cssVendor +syn keyword cssPseudoClassId link visited active hover before after left right lang syn match cssPseudoClassId contained "\" " FIXME: handle functions. "syn region cssPseudoClassLang matchgroup=cssPseudoClassId start="lang(" end=")" syn match cssPseudoClassId contained "\<\(last\|only\|nth\|nth-last\)-child\>" syn match cssPseudoClassId contained "\<\(first\|last\|only\|nth\|nth-last\)-of-type\>" syn keyword cssPseudoClassId root empty target enable disabled checked not invalid -syn match cssPseudoClassId contained "::\(-moz-\)\=selection" +syn match cssPseudoClassId contained "\" +syn match cssPseudoClassId contained "\" +syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" " Comment syn region cssComment start="/\*" end="\*/" contains=@Spell @@ -365,6 +395,13 @@ syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEsca " Vendor Prefix syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)" +" Attr Enhance +" Some kewords are both Prop and Attr, so we have to handle them +syn region cssAttrRegion start=/:/ end=/;/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp + +" Hack for transition +" The 'transition' Prop has Props after ':'. +syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp if main_syntax == "css" syn sync minlines=10 @@ -388,68 +425,66 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssSelectorOp Special HiLink cssSelectorOp2 Special - HiLink cssAnimationProp StorageClass - HiLink cssBackgroundProp StorageClass - HiLink cssBorderOutlineProp StorageClass - HiLink cssBoxProp StorageClass - HiLink cssColorProp StorageClass - HiLink cssContentForPagedMediaProp StorageClass - HiLink cssDimensionProp StorageClass - HiLink cssFlexibleBoxProp StorageClass - HiLink cssFontProp StorageClass - HiLink cssGeneratedContentProp StorageClass - HiLink cssGridProp StorageClass - HiLink cssHyerlinkProp StorageClass - HiLink cssLineboxProp StorageClass - HiLink cssListProp StorageClass - HiLink cssMarginProp StorageClass - HiLink cssMarqueeProp StorageClass - HiLink cssMultiColumnProp StorageClass - HiLink cssPaddingProp StorageClass - HiLink cssPagedMediaProp StorageClass - HiLink cssPositioningProp StorageClass - HiLink cssPrintProp StorageClass - HiLink cssRubyProp StorageClass - HiLink cssSpeechProp StorageClass - HiLink cssTableProp StorageClass - HiLink cssTextProp StorageClass - HiLink cssTransformProp StorageClass - HiLink cssTransitionProp StorageClass - HiLink cssUIProp StorageClass - HiLink cssAuralProp StorageClass - HiLink cssRenderProp StorageClass - - HiLink cssAnimationAttr Type - HiLink cssBackgroundAttr Type - HiLink cssBorderOutlineAttr Type - HiLink cssBoxAttr Type - HiLink cssColorAttr Type - HiLink cssContentForPagedMediaAttr Type - HiLink cssDimensionAttr Type - HiLink cssFlexibleBoxAttr Type - HiLink cssFontAttr Type - HiLink cssGeneratedContentAttr Type - HiLink cssGridAttr Type - HiLink cssHyerlinkAttr Type - HiLink cssLineboxAttr Type - HiLink cssListAttr Type - HiLink cssMarginAttr Type - HiLink cssMarqueeAttr Type - HiLink cssMultiColumnAttr Type - HiLink cssPaddingAttr Type - HiLink cssPagedMediaAttr Type - HiLink cssPositioningAttr Type - HiLink cssPrintAttr Type - HiLink cssRubyAttr Type - HiLink cssSpeechAttr Type - HiLink cssTableAttr Type - HiLink cssTextAttr Type - HiLink cssTransformAttr Type - HiLink cssTransitionAttr Type - HiLink cssUIAttr Type - HiLink cssAuralAttr Type - HiLink cssRenderAttr Type - HiLink cssCommonAttr Type + HiLink cssAnimationProp cssProp + HiLink cssBackgroundProp cssProp + HiLink cssBorderOutlineProp cssProp + HiLink cssBoxProp cssProp + HiLink cssColorProp cssProp + HiLink cssContentForPagedMediaProp cssProp + HiLink cssDimensionProp cssProp + HiLink cssFlexibleBoxProp cssProp + HiLink cssFontProp cssProp + HiLink cssGeneratedContentProp cssProp + HiLink cssGridProp cssProp + HiLink cssHyerlinkProp cssProp + HiLink cssLineboxProp cssProp + HiLink cssListProp cssProp + HiLink cssMarqueeProp cssProp + HiLink cssMultiColumnProp cssProp + HiLink cssPagedMediaProp cssProp + HiLink cssPositioningProp cssProp + HiLink cssPrintProp cssProp + HiLink cssRubyProp cssProp + HiLink cssSpeechProp cssProp + HiLink cssTableProp cssProp + HiLink cssTextProp cssProp + HiLink cssTransformProp cssProp + HiLink cssTransitionProp cssProp + HiLink cssUIProp cssProp + HiLink cssAuralProp cssProp + HiLink cssRenderProp cssProp + HiLink cssMobileTextProp cssProp + + HiLink cssAnimationAttr cssAttr + HiLink cssBackgroundAttr cssAttr + HiLink cssBorderOutlineAttr cssAttr + HiLink cssBoxAttr cssAttr + HiLink cssContentForPagedMediaAttr cssAttr + HiLink cssDimensionAttr cssAttr + HiLink cssFlexibleBoxAttr cssAttr + HiLink cssFontAttr cssAttr + HiLink cssGeneratedContentAttr cssAttr + HiLink cssGridAttr cssAttr + HiLink cssHyerlinkAttr cssAttr + HiLink cssLineboxAttr cssAttr + HiLink cssListAttr cssAttr + HiLink cssMarginAttr cssAttr + HiLink cssMarqueeAttr cssAttr + HiLink cssMultiColumnAttr cssAttr + HiLink cssPaddingAttr cssAttr + HiLink cssPagedMediaAttr cssAttr + HiLink cssPositioningAttr cssAttr + HiLink cssPrintAttr cssAttr + HiLink cssRubyAttr cssAttr + HiLink cssSpeechAttr cssAttr + HiLink cssTableAttr cssAttr + HiLink cssTextAttr cssAttr + HiLink cssTransformAttr cssAttr + HiLink cssTransitionAttr cssAttr + HiLink cssUIAttr cssAttr + HiLink cssAuralAttr cssAttr + HiLink cssRenderAttr cssAttr + HiLink cssCommonAttr cssAttr HiLink cssPseudoClassId PreProc HiLink cssPseudoClassLang Constant @@ -479,19 +514,22 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssMediaFeature Normal HiLink cssMediaKeyword Statement HiLink cssMediaKeyword2 Statement - HiLink cssMediaProp StorageClass - HiLink cssMediaAttr Type + HiLink cssMediaProp cssProp + HiLink cssMediaAttr cssAttr HiLink cssPage Special HiLink cssPagePseudo PreProc HiLink cssPageHeaderProp PreProc + HiLink cssPageProp cssProp HiLink cssKeyFrame Special HiLink cssKeyFrameSelector Constant HiLink cssFontDescriptor Special HiLink cssFontDescriptorFunction Constant - HiLink cssFontDescriptorProp StorageClass - HiLink cssFontDescriptorAttr Type + HiLink cssFontDescriptorProp cssProp + HiLink cssFontDescriptorAttr cssAttr HiLink cssUnicodeRange Constant HiLink cssClassName Function + HiLink cssProp StorageClass + HiLink cssAttr Constant delcommand HiLink endif From c16e04ee9a63149b60f513646f6023aff3b29027 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 31 Jul 2013 15:23:55 +0800 Subject: [PATCH 009/112] fixup for issue #6 --- syntax/css.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 9c0bede..0dcbd22 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -76,12 +76,12 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" " @media syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock -syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr nextgroup=cssMediaFeature,cssMadiaBlock +syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMadiaBlock syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl syn region cssMadiaBlock 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 -syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl +syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl " Reference: http://www.w3.org/TR/css3-mediaqueries/ syn keyword cssMediaProp contained width height orientation monochrome scan grid From 6d124d6b37f757bbbc03e403b017a3f2bf2e3411 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 31 Jul 2013 16:09:21 +0800 Subject: [PATCH 010/112] fix another side effect --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 0dcbd22..8a0eaf7 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -327,7 +327,7 @@ syn match cssUIAttr contained "\" syn match cssUIAttr contained "\<\(vertical-\)\=text\>" syn match cssUIAttr contained "\" -syn keyword cssUIProp contained font +"syn keyword cssUIProp contained font syn match cssUIAttr contained "\" syn match cssUIAttr contained "\" syn match cssUIAttr contained "\<\(small-\)\=caption\>" From e8b3306c544427ca206abef54e1037c7a51ee6f8 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Tue, 30 Jul 2013 20:36:39 -0700 Subject: [PATCH 011/112] Renamed cssMadiaBlock to cssMediaBlock Also removed a bit of extraneous whitespace --- syntax/css.vim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 0dcbd22..1417f55 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -37,7 +37,7 @@ syn keyword cssTagName span strike strong style sub sup table tbody td syn keyword cssTagName textarea tfoot th thead title tr tt ul u var syn keyword cssTagName object -" 34 HTML5 tags +" 34 HTML5 tags syn keyword cssTagName article aside audio bdi canvas command data syn keyword cssTagName datalist details dialog embed figcaption figure footer syn keyword cssTagName header hgroup keygen main mark menuitem meter nav @@ -75,12 +75,12 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" " @media syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl -syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock -syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMadiaBlock +syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock +syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -syn region cssMadiaBlock 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 +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 syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl " Reference: http://www.w3.org/TR/css3-mediaqueries/ @@ -342,7 +342,7 @@ syn match cssUIProp contained "\" syn match cssUIProp contained "\" syn keyword cssUIProp contained resize -syn keyword cssUIAttr contained both horizontal vertical +syn keyword cssUIAttr contained both horizontal vertical syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" From 5c50aab3ebd36b139c3dffc192440f658af69bc0 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 31 Jul 2013 16:18:44 +0800 Subject: [PATCH 012/112] update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b76032..d707726 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ and run `:BundleInstall` in vim. Change Log ------------ +* 2013-07-30: Highlight Props and Attrs with different colors. * 2013-07-22: Fix @media(issue #6),@import,@charset,@namespace,@page,@keyframe syntaxs. * 2013-01-13: Add support for installation using vundle. * 2011-10-15: Add 130 more color names. From ae05baf6d6251d75e5273f48ea82d3822c271dc0 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 31 Jul 2013 16:20:54 +0800 Subject: [PATCH 013/112] fix a typo #8 --- syntax/css.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 8a0eaf7..686982a 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -75,12 +75,12 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" " @media syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl -syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMadiaBlock -syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMadiaBlock +syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock +syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -syn region cssMadiaBlock 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 +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 syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl " Reference: http://www.w3.org/TR/css3-mediaqueries/ From a185cc374398ffeb3bce0a227a23b72ac8243a16 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Tue, 30 Jul 2013 21:00:16 -0700 Subject: [PATCH 014/112] Adding unit decorators This commit add specialized highlighting for value units (such as px, %, etc). --- syntax/css.vim | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index c757c55..beeabf0 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -65,12 +65,12 @@ syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" endtry " digits -syn match cssValueInteger contained "[-+]\=\d\+" -syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dpcm\)" -syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" -syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" -syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" +syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators +syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators +syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators +syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators " @media @@ -158,8 +158,8 @@ syn match cssImportant contained "!\s*important\>" syn match cssColor contained "\" syn match cssColor contained "\" -syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" -syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" +syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators +syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\= 508 || !exists("did_css_syn_inits") HiLink cssClassName Function HiLink cssProp StorageClass HiLink cssAttr Constant + HiLink cssUnitDecorators Number delcommand HiLink endif From d8b9c8fcfc95b22403c74097d7de2f717e3d1d55 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 11:04:29 -0700 Subject: [PATCH 015/112] Adding various common font names Used this page for reference: http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index beeabf0..e2010ca 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -231,7 +231,7 @@ syn keyword cssFontAttr contained cursive fantasy monospace italic oblique syn keyword cssFontAttr contained bold bolder light lighter larger smaller syn keyword cssFontAttr contained icon menu caption syn keyword cssFontAttr contained large smaller larger narrower wider -syn keyword cssFontAttr contained Courier Arial Georgia Times +syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Sans Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf syn keyword cssGeneratedContentProp contained quotes crop From 5fe06ecce126a7e1b9ece4a51c4a87126e8c43e5 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 11:12:39 -0700 Subject: [PATCH 016/112] Fixed sans, sans-serif and Sans --- syntax/css.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index e2010ca..e28507a 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -221,6 +221,7 @@ syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" syn match cssFontProp contained "\" +syn match cssFontAttr contained "\(\\)" syn match cssFontAttr contained "\<\(sans-\)\=\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" @@ -231,7 +232,7 @@ syn keyword cssFontAttr contained cursive fantasy monospace italic oblique syn keyword cssFontAttr contained bold bolder light lighter larger smaller syn keyword cssFontAttr contained icon menu caption syn keyword cssFontAttr contained large smaller larger narrower wider -syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Sans Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf +syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf syn keyword cssGeneratedContentProp contained quotes crop From 7f7de2fb66c949074bd8c97470e9045c68a7bb47 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 11:45:38 -0700 Subject: [PATCH 017/112] Bringing initial if/else check inline with runtime I submitted a patch for Vim 7.4 a while back that modified the initial if/else syntax check at the beginning to prevent the default CSS file from clobbering plugin CSS syntaxes. Since this repo seems to be the one used as the default runtime for vim, I am syncing up the initial checks just to prevent an accidental regression. --- syntax/css.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index beeabf0..654093a 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -14,9 +14,11 @@ if !exists("main_syntax") if version < 600 syntax clear elseif exists("b:current_syntax") - finish -endif + finish + endif let main_syntax = 'css' +elseif exists("b:current_syntax") && b:current_syntax == "css" + finish endif let s:cpo_save = &cpo From d6aca467015a1ffbc6ff068ecbbcd12fb5e9e382 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 15:48:43 -0700 Subject: [PATCH 018/112] Fixing a [func]Y regex bug All the `Y` options where not properly ORing, now they are. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index beeabf0..553dea5 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -165,7 +165,7 @@ syn region cssURL contained matchgroup=cssFunctionName start="\ Date: Thu, 1 Aug 2013 10:11:39 +0800 Subject: [PATCH 019/112] New font props and attributes --- syntax/css.vim | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index e28507a..af86f2e 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -35,7 +35,7 @@ syn keyword cssTagName link map menu meta noframes noscript ol optgroup syn keyword cssTagName option p param pre q s samp script select small syn keyword cssTagName span strike strong style sub sup table tbody td syn keyword cssTagName textarea tfoot th thead title tr tt ul u var -syn keyword cssTagName object +syn keyword cssTagName object svg " 34 HTML5 tags syn keyword cssTagName article aside audio bdi canvas command data @@ -220,14 +220,15 @@ syn match cssFlexibleBoxAttr contained "\" syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" -syn match cssFontProp contained "\" -syn match cssFontAttr contained "\(\\)" +syn match cssFontProp contained "\" +syn match cssFontAttr contained "\" syn match cssFontAttr contained "\<\(sans-\)\=\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\|status-bar\)-\)\=\(condensed\|expanded\)\>" +syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" syn keyword cssFontAttr contained cursive fantasy monospace italic oblique syn keyword cssFontAttr contained bold bolder light lighter larger smaller syn keyword cssFontAttr contained icon menu caption @@ -275,7 +276,7 @@ syn keyword cssTableAttr contained fixed collapse separate show hide once always syn keyword cssTextProp contained color direction syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" -syn match cssTextProp contained "\" +syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" @@ -287,6 +288,7 @@ syn keyword cssTextAttr contained ltr rtl embed nowrap syn keyword cssTextAttr contained underline overline blink sub super middle syn keyword cssTextAttr contained capitalize uppercase lowercase syn keyword cssTextAttr contained justify baseline sub super +syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed syn match cssTextAttr contained "\" syn match cssTextAttr contained "\<\(allow\|force\)-end\>" syn keyword cssTextAttr contained start end adjacent From ca4d393763807eaddbc7be7db12ecd29fb7166c0 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 19:29:08 -0700 Subject: [PATCH 020/112] Fixed cssMediaComma So before, cssMediaComma was such a generic match, that it would clobber anything, including comma's in normal css declarations. The commit changes cssMediaComma to a contained which then requires it's use in nextgroup for cssMediaFeature. I also added cssSelectorOp and cssSelectorOp2 to cssMediaBlock so they could be appropriately styled within @media blocks. There may be a couple edge-case @media types that this breaks, if that's the case, we need to figure out which ones those are and add cssMediaComma to them as contained or nextgroup --- syntax/css.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 239fafc..984b036 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -78,12 +78,12 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=c " @media syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock -syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock +syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock,cssMediaComma syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -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 -syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl +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 +syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ syn keyword cssMediaProp contained width height orientation monochrome scan grid From cb00baab996c7171c864fb21cd49b0a7ff73f8ca Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Thu, 1 Aug 2013 10:33:56 +0800 Subject: [PATCH 021/112] add device-pixel-ratio --- syntax/css.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/syntax/css.vim b/syntax/css.vim index 239fafc..d71236c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -88,6 +88,7 @@ syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite sk " Reference: http://www.w3.org/TR/css3-mediaqueries/ syn keyword cssMediaProp contained width height orientation monochrome scan grid syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|color\(-index\)\=\)/ syn keyword cssMediaAttr contained portrait landscape progressive interlace From c40c57b986550c47887d0368924277ac9b4b99b6 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 19:46:27 -0700 Subject: [PATCH 022/112] CSS Function Optimization This commit adds support for the units contained with css functions, such as gradients, rgb, translate, etc. I also improved detection of the gradient function --- syntax/css.vim | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 239fafc..8b9afaf 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -163,11 +163,13 @@ syn match cssColor contained "\" syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators -syn region cssURL contained matchgroup=cssFunctionName start="\= 508 || !exists("did_css_syn_inits") HiLink cssPaddingAttr cssAttr HiLink cssPagedMediaAttr cssAttr HiLink cssPositioningAttr cssAttr + HiLink cssGradientAttr cssAttr HiLink cssPrintAttr cssAttr HiLink cssRubyAttr cssAttr HiLink cssSpeechAttr cssAttr @@ -505,6 +508,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssFunction Constant HiLink cssURL String HiLink cssFunctionName Function + HiLink cssFunctionComma Function HiLink cssColor Constant HiLink cssIdentifier Function HiLink cssInclude Include From f00febf11a94d0c6bf95220fd9f45edab778c26d Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Thu, 1 Aug 2013 11:30:56 +0800 Subject: [PATCH 023/112] add gradient functions 'from' and 'to' --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 751ebf5..573a8eb 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -166,7 +166,7 @@ syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\ Date: Thu, 1 Aug 2013 10:37:44 -0700 Subject: [PATCH 024/112] Added highlight group for commas in attributes --- syntax/css.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 573a8eb..2e5bbdb 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -376,6 +376,7 @@ syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition syn match cssBraceError "}" +syn match cssAttrComma "," " Pseudo class syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape,cssVendor @@ -407,11 +408,11 @@ syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\| " Attr Enhance " Some kewords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/;/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp +syn region cssAttrRegion start=/:/ end=/;/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma " Hack for transition " The 'transition' Prop has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp +syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma if main_syntax == "css" @@ -435,6 +436,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssDeprecated Error HiLink cssSelectorOp Special HiLink cssSelectorOp2 Special + HiLink cssAttrComma Special HiLink cssAnimationProp cssProp HiLink cssBackgroundProp cssProp From 659873081e76755d839b4f4fa32f2a7545228aa9 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 31 Jul 2013 16:08:48 -0700 Subject: [PATCH 025/112] Adding support for css hacks This commit may be somewhat controversial. It essentially styles known css hacks like (* and _) as if they were vendor prefixes (linked to the Comment group). --- syntax/css.vim | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 573a8eb..3a0d08a 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -21,6 +21,9 @@ elseif exists("b:current_syntax") && b:current_syntax == "css" finish endif +" Required for cssHacks +setlocal iskeyword-=_ + let s:cpo_save = &cpo set cpo&vim @@ -82,7 +85,7 @@ syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl conta syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -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 +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,cssHacks syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ @@ -374,7 +377,7 @@ syn match cssMobileTextProp contained "\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks syn match cssBraceError "}" " Pseudo class @@ -403,6 +406,9 @@ syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEsca " Vendor Prefix syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)" +" Various CSS Hack characters +syn match cssHacks contained /\(_\|*\)/ + syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained " Attr Enhance @@ -431,6 +437,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssComment Comment HiLink cssVendor Comment + HiLink cssHacks Comment HiLink cssTagName Statement HiLink cssDeprecated Error HiLink cssSelectorOp Special From 414c759c5c514c5ec64b0a5deaf4f3bd2d5987bf Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Thu, 1 Aug 2013 23:04:26 -0700 Subject: [PATCH 026/112] More descriptive comments for cssHacks group --- syntax/css.vim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/syntax/css.vim b/syntax/css.vim index 3a0d08a..a8ce0b5 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -407,6 +407,11 @@ syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEsca syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)" " Various CSS Hack characters +" In earlier versions of IE (6 and 7), one can prefix property names +" with a _ or * to isolate those definitions to particular versions of IE +" This is purely decorative and therefore we assign to the same highlight +" group to cssVendor, for more information: +" http://www.paulirish.com/2009/browser-specific-css-hacks/ syn match cssHacks contained /\(_\|*\)/ syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained From 18c86433520dd41fa95ab9a77a52bcb98fa29d5a Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Fri, 2 Aug 2013 00:06:28 -0700 Subject: [PATCH 027/112] Fix inline/inline-block/inline-box There was an issue where inline-block would not be detected properly due to clashes with the keyword inline. This commit fixes that. Also, there is no such thing as inline-table (at least that I could find). Also, inline-box is version of inline-block that Mozilla used in earlier versions of Firefox. --- syntax/css.vim | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 573a8eb..4fd16ea 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -190,10 +190,9 @@ syn keyword cssBackgroundAttr contained fixed over contain syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" -syn match cssBorderOutlineProp contained "\" +syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" syn match cssBorderOutlineProp contained "\" -syn match cssBorderOutlineProp contained "\" syn keyword cssBorderOutlineAttr contained thin thick medium syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse round @@ -264,11 +263,11 @@ syn match cssMultiColumnProp contained "\" -syn keyword cssPositioningAttr contained block inline compact +syn keyword cssPositioningAttr contained block compact syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained left right both syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed syn match cssPrintProp contained "\" From 468d84912437b13f7aeb8efb98ba67fe10517ded Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Thu, 1 Aug 2013 10:58:54 -0700 Subject: [PATCH 028/112] Fixed text-indent attribute Before it was singled out as a word and as such didn't highlight properly. Now it has been added the text- group match. Which is more logical and appropriate anyways. Also, there was a missplaced \ before the word overflow which I removed as well. --- syntax/css.vim | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 2fc11fd..d189b7d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -283,13 +283,12 @@ syn keyword cssTableAttr contained fixed collapse separate show hide once always syn keyword cssTextProp contained color direction syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" -syn match cssTextProp contained "\" +syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextAttr contained "\" -syn match cssTextAttr contained "\" syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>" syn keyword cssTextAttr contained ltr rtl embed nowrap syn keyword cssTextAttr contained underline overline blink sub super middle From 42d6344d63a26499ab96e988b8c41d5149ecc28d Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 3 Aug 2013 15:28:09 -0700 Subject: [PATCH 029/112] Fix for data encoded image within cssURL A typical data encoded image in a `url()` group will start with something like this: ``` data:image/svg+xml;base64,... ``` The `;` character wrecks havoc on `cssAttrRegion` because it closes the group. Using `extend` on cssURL prevents the `;` from breaking out into `cssAttrRegion` match and killing the rest of the syntax highlighting. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 2fc11fd..623f99c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -167,7 +167,7 @@ syn match cssColor contained "\" syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators -syn region cssURL contained matchgroup=cssFunctionName start="\ Date: Sat, 3 Aug 2013 15:45:55 -0700 Subject: [PATCH 030/112] Changed cssAttributeSelector to not be transparent It also inherits the String style, which I think is appropriate since the syntax for it can be all over the place --- syntax/css.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 2fc11fd..6a7a55c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -58,7 +58,7 @@ syn match cssTagName "\*" " selectors syn match cssSelectorOp "[,>+]" syn match cssSelectorOp2 "[~|^$*]\?=" contained -syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ +syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ " .class and #id syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" @@ -534,6 +534,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssUnicodeEscape Special HiLink cssStringQQ String HiLink cssStringQ String + HiLink cssAttributeSelector String HiLink cssMedia Special HiLink cssMediaType Special HiLink cssMediaComma Normal From d3b89eb834d25a028f80af89cf072fcbefc3140a Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 3 Aug 2013 15:44:00 -0700 Subject: [PATCH 031/112] Adding more misc props and attributes Mostly these are touchscreen or translation specific items. --- syntax/css.vim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/syntax/css.vim b/syntax/css.vim index c368e11..94f81c2 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -350,8 +350,11 @@ syn match cssUIProp contained "\" syn match cssUIProp contained "\" +syn match cssUIProp contained '\(tap-highlight-color\|user-select\)' + syn keyword cssUIProp contained resize syn keyword cssUIAttr contained both horizontal vertical +syn match cssUIAttr contained 'preserve-3d' syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" From 3b9ae7971072c3770bdee165dac6fe0f802a664b Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 3 Aug 2013 15:59:12 -0700 Subject: [PATCH 032/112] Adding a few more common IE specific props/attrs * zoom is very common for self clearing * interpolation-mode is very important for image resizing * filter is a common api for various gradients and opacity, etc --- syntax/css.vim | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 94f81c2..ac8741b 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -340,21 +340,22 @@ syn match cssUIAttr contained "\" syn match cssUIAttr contained "\" syn match cssUIAttr contained "\" syn match cssUIAttr contained "\<\(small-\)\=caption\>" - -syn match cssUIProp contained "\" syn match cssUIAttr contained "\" +syn keyword cssUIAttr contained both horizontal vertical +" Webkit/iOS specific attributes +syn match cssUIAttr contained '\(preserve-3d\)' +" IE specific attributes +syn match cssUIAttr contained '\(bicubic\)' +syn match cssUIProp contained "\" syn keyword cssUIProp contained icon display - syn match cssUIProp contained "\" - syn match cssUIProp contained "\" - -syn match cssUIProp contained '\(tap-highlight-color\|user-select\)' - syn keyword cssUIProp contained resize -syn keyword cssUIAttr contained both horizontal vertical -syn match cssUIAttr contained 'preserve-3d' +" Webkit/iOS specific properties +syn match cssUIProp contained '\(tap-highlight-color\|user-select\)' +" IE specific properties +syn match cssUIProp contained '\(interpolation-mode\|zoom\|filter\)' syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" From a2f931dd97c37b8e2ff051aa5354a9b654a70ced Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 3 Aug 2013 16:32:24 -0700 Subject: [PATCH 033/112] Adding touch-callout An iOS specific, but commonly used attribute --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index ac8741b..69c4767 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -353,7 +353,7 @@ syn match cssUIProp contained "\" syn match cssUIProp contained "\" syn keyword cssUIProp contained resize " Webkit/iOS specific properties -syn match cssUIProp contained '\(tap-highlight-color\|user-select\)' +syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)' " IE specific properties syn match cssUIProp contained '\(interpolation-mode\|zoom\|filter\)' From 4e150e9700d848a45db19bcc7a4f71905308f641 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Mon, 5 Aug 2013 00:27:15 -0700 Subject: [PATCH 034/112] Higher specificity for IUProps and UIAttr --- syntax/css.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 69c4767..96a06c0 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -345,7 +345,7 @@ syn keyword cssUIAttr contained both horizontal vertical " Webkit/iOS specific attributes syn match cssUIAttr contained '\(preserve-3d\)' " IE specific attributes -syn match cssUIAttr contained '\(bicubic\)' +syn match cssIEUIAttr contained '\(bicubic\)' syn match cssUIProp contained "\" syn keyword cssUIProp contained icon display @@ -355,7 +355,7 @@ syn keyword cssUIProp contained resize " Webkit/iOS specific properties syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)' " IE specific properties -syn match cssUIProp contained '\(interpolation-mode\|zoom\|filter\)' +syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)' syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" @@ -478,6 +478,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssTransformProp cssProp HiLink cssTransitionProp cssProp HiLink cssUIProp cssProp + HiLink cssIEUIProp cssProp HiLink cssAuralProp cssProp HiLink cssRenderProp cssProp HiLink cssMobileTextProp cssProp @@ -510,6 +511,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssTransformAttr cssAttr HiLink cssTransitionAttr cssAttr HiLink cssUIAttr cssAttr + HiLink cssIEUIAttr cssAttr HiLink cssAuralAttr cssAttr HiLink cssRenderAttr cssAttr HiLink cssCommonAttr cssAttr From 7e638689586eb64c216b30c566a710b8b485483f Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Mon, 5 Aug 2013 17:28:09 +0800 Subject: [PATCH 035/112] apply w3 css3-ui, drop 'appearance' etc --- syntax/css.vim | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 96a06c0..93151fc 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -283,7 +283,7 @@ syn keyword cssTableAttr contained fixed collapse separate show hide once always syn keyword cssTextProp contained color direction syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" -syn match cssTextProp contained "\" +syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" @@ -312,15 +312,7 @@ syn match cssTransformProp contained "\" syn match cssTransitionProp contained "\" -" Basic UI Reference: http://www.w3.org/TR/2003/WD-css3-ui-20030703/ -syn keyword cssUIProp contained appearance -syn keyword cssUIAttr contained window button field icon document menubar -syn keyword cssUIAttr contained workspace desktop tooltip dialog hyperlink -syn match cssUIAttr contained "\<\(push-\|radio-\)\=button\>" -syn match cssUIAttr contained "\<\(pull-down-\|pop-up-\|list-\)\=menu\>" -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\" +" css3 UI Reference: http://www.w3.org/TR/css3-ui/ syn match cssUIProp contained "\" syn match cssUIAttr contained "\<\(content\|padding\|border\)-box\>" @@ -336,27 +328,36 @@ syn match cssUIAttr contained "\" syn match cssUIAttr contained "\<\(vertical-\)\=text\>" syn match cssUIAttr contained "\" -"syn keyword cssUIProp contained font -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\<\(small-\)\=caption\>" -syn match cssUIAttr contained "\" +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained active inactive disabled + +syn match cssUIProp contained "\" +syn match cssUIProp contained "\" + +syn keyword cssUIProp contained icon resiz syn keyword cssUIAttr contained both horizontal vertical + +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained clip ellipsis + +" Already highlighted Props: font content + + + " Webkit/iOS specific attributes syn match cssUIAttr contained '\(preserve-3d\)' " IE specific attributes syn match cssIEUIAttr contained '\(bicubic\)' -syn match cssUIProp contained "\" -syn keyword cssUIProp contained icon display -syn match cssUIProp contained "\" -syn match cssUIProp contained "\" -syn keyword cssUIProp contained resize " Webkit/iOS specific properties syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)' " IE specific properties syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)' +" Webkit/Firebox specific properties/attributes +syn keyword cssUIProp contained appearance +syn keyword cssUIAttr contained window button field icon document menu + syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>" From b9668d2085bcd77178556bc5e435dac6da9d35ca Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 6 Aug 2013 10:49:39 +0800 Subject: [PATCH 036/112] apply w3 background & animation --- syntax/css.vim | 69 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 51 insertions(+), 18 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 93151fc..e03611a 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -175,30 +175,63 @@ syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3 syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at syn match cssFunctionComma contained "," -" Prop and Attr +" Common Prop and Attr syn keyword cssCommonAttr contained auto none inherit all default normal syn keyword cssCommonAttr contained top bottom center stretch hidden visible +"------------------------------------------------ +" CSS Animations +" http://www.w3.org/TR/css3-animations/ +syn match cssAnimationProp contained "\" -syn match cssAnimationProp contained "\" - -syn keyword cssAnimationAttr contained infinite alternate paused running +" animation-direction attributes +syn keyword cssAnimationAttr contained alternate reverse syn match cssAnimationAttr contained "\" + +" animation-fill-mode attributes +syn keyword cssAnimationAttr contained forwards backwards both + +" animation-play-state attributes +syn keyword cssAnimationAttr contained running paused + +" animation-time-function attributes syn match cssAnimationAttr contained "\" syn match cssAnimationAttr contained "\" -syn match cssAnimationAttr contained "\" -syn match cssAnimationAttr contained "\" +"------------------------------------------------ +" CSS Backgrounds and Borders Module Level 3 +" http://www.w3.org/TR/css3-background/ +syn match cssBackgroundProp contained "\" +" background-attachment attributes +syn keyword cssBackgroundAttr contained scroll fixed local + +" background-position attributes +syn keyword cssBackgroundAttr contained left center right top bottom -syn match cssBackgroundProp contained "\" -syn keyword cssBackgroundAttr contained fixed over contain +" background-repeat attributes syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" +syn keyword cssBackgroundAttr contained space round + +" background-size attributes +syn keyword cssBackgroundAttr contained cover contain -syn match cssBorderOutlineProp contained "\" -syn match cssBorderOutlineProp contained "\" -syn match cssBorderOutlineProp contained "\" -syn keyword cssBorderOutlineAttr contained thin thick medium -syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset -syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse round +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" + +" border-image attributes +syn keyword cssBorderAttr contained stretch repeat round space fill + +" border-style attributes +syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset + +" border-width attributes +syn keyword cssBorderAttr contained thin thick medium + +" box-decoration-break attributes +syn keyword cssBorderAttr contained clone slice +"------------------------------------------------ syn match cssBoxProp contained "\" syn match cssBoxProp contained "\" @@ -312,8 +345,8 @@ syn match cssTransformProp contained "\" syn match cssTransitionProp contained "\" -" css3 UI Reference: http://www.w3.org/TR/css3-ui/ - +" CSS Basic User Interface Module Level 3 (CSS3 UI) +" http://www.w3.org/TR/css3-ui/ syn match cssUIProp contained "\" syn match cssUIAttr contained "\<\(content\|padding\|border\)-box\>" @@ -455,7 +488,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssAnimationProp cssProp HiLink cssBackgroundProp cssProp - HiLink cssBorderOutlineProp cssProp + HiLink cssBorderProp cssProp HiLink cssBoxProp cssProp HiLink cssColorProp cssProp HiLink cssContentForPagedMediaProp cssProp @@ -486,7 +519,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssAnimationAttr cssAttr HiLink cssBackgroundAttr cssAttr - HiLink cssBorderOutlineAttr cssAttr + HiLink cssBorderAttr cssAttr HiLink cssBoxAttr cssAttr HiLink cssContentForPagedMediaAttr cssAttr HiLink cssDimensionAttr cssAttr From 417f5056b529ce570c5d4800e6b683527b9d597a Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 6 Aug 2013 10:57:29 +0800 Subject: [PATCH 037/112] apply w3 transitions --- syntax/css.vim | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index e03611a..38409b6 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -168,7 +168,7 @@ syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\" -syn match cssAnimationAttr contained "\" "------------------------------------------------ " CSS Backgrounds and Borders Module Level 3 " http://www.w3.org/TR/css3-background/ @@ -338,13 +334,19 @@ syn match cssTextAttr contained "\" syn match cssTextAttr contained "\" syn keyword cssTextAttr contained hyphenate - syn match cssTransformProp contained "\" syn match cssTransformProp contained "\" syn match cssTransformProp contained "\" +" CSS Transitions +" http://www.w3.org/TR/css3-transitions/ syn match cssTransitionProp contained "\" +" transition-time-function attributes +syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" +"------------------------------------------------ " CSS Basic User Interface Module Level 3 (CSS3 UI) " http://www.w3.org/TR/css3-ui/ syn match cssUIProp contained "\" @@ -374,9 +376,7 @@ syn match cssUIProp contained "\" syn keyword cssUIAttr contained clip ellipsis " Already highlighted Props: font content - - - +"------------------------------------------------ " Webkit/iOS specific attributes syn match cssUIAttr contained '\(preserve-3d\)' " IE specific attributes From 726e7edefa5c9acd21f6051ce5358596371dfcc8 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 6 Aug 2013 11:50:27 +0800 Subject: [PATCH 038/112] apply w3 font --- syntax/css.vim | 51 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 38409b6..b026dbe 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -113,10 +113,13 @@ syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStrin syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment " @font-face +" http://www.w3.org/TR/css3-fonts/#at-font-face-rule syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr -syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>" -syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline +"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>" +"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline +syn keyword cssFontDescriptorProp contained src +syn match cssFontDescriptorProp contained "\" syn keyword cssFontDescriptorAttr contained all syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+" @@ -255,22 +258,42 @@ syn keyword cssFlexibleBoxAttr contained horizontal syn match cssFlexibleBoxAttr contained "\" syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" - -syn match cssFontProp contained "\" -syn match cssFontAttr contained "\" -syn match cssFontAttr contained "\<\(sans-\)\=\" +" CSS Fonts Module Level 3 +" http://www.w3.org/TR/css-fonts-3/ +syn match cssFontProp contained "\" +" font attributes +syn keyword cssFontAttr contained icon menu caption syn match cssFontAttr contained "\" -syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" -syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\|status-bar\)-\)\=\(condensed\|expanded\)\>" -syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" -syn keyword cssFontAttr contained cursive fantasy monospace italic oblique -syn keyword cssFontAttr contained bold bolder light lighter larger smaller -syn keyword cssFontAttr contained icon menu caption -syn keyword cssFontAttr contained large smaller larger narrower wider +syn match cssFontAttr contained "\" + +" font-family attributes +syn match cssFontAttr contained "\" +syn match cssFontAttr contained "\<\(sans-\)\=\" syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf +syn keyword cssFontAttr contained cursive fantasy monospace + +" font-feature-settings attributes +syn keyword cssFontAttr contained on off + +" font-stretch attributes +syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" + +" font-style attributes +syn keyword cssFontAttr contained italic oblique + +" font-variant-caps attributes +syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>" +syn keyword cssFontAttr contained unicase +" font-weight attributes +syn keyword cssFontAttr contained bold bolder lighter +"------------------------------------------------ + +" Webkit specific property/attributes +syn match cssFontProp contained "\" +syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" syn keyword cssGeneratedContentProp contained quotes crop syn match cssGeneratedContentProp contained "\" @@ -411,6 +434,8 @@ syn match cssAuralAttr contained "\" " mobile text syn match cssMobileTextProp contained "\" + + syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks From d5b4198d99fbeffd02623030ceb945715983cc8c Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Thu, 1 Aug 2013 10:49:27 -0700 Subject: [PATCH 039/112] Adding good support for css noise I've added a highlight group to ; and : within css declarations --- syntax/css.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index b026dbe..7cf9274 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -476,15 +476,17 @@ syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)" " http://www.paulirish.com/2009/browser-specific-css-hacks/ syn match cssHacks contained /\(_\|*\)/ +" Misc highlight groups syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained +syntax match cssNoise contained /\(:\|;\)/ " Attr Enhance " Some kewords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/;/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma +syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise " Hack for transition " The 'transition' Prop has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma +syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise if main_syntax == "css" @@ -622,6 +624,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssProp StorageClass HiLink cssAttr Constant HiLink cssUnitDecorators Number + HiLink cssNoise Noise delcommand HiLink endif From 7deae01d3f05220748c8b8791c42b661ea581b22 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 3 Aug 2013 15:51:39 -0700 Subject: [PATCH 040/112] Adding / to cssNoise The / is used in places for various screen aspect ratios and also font declarations to separate font size and line height. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 7cf9274..3e1dd95 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -478,7 +478,7 @@ syn match cssHacks contained /\(_\|*\)/ " Misc highlight groups syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained -syntax match cssNoise contained /\(:\|;\)/ +syntax match cssNoise contained /\(:\|;\|\/\)/ " Attr Enhance " Some kewords are both Prop and Attr, so we have to handle them From 956e608334a7e797b2dfaf84175ae1a959e7ab77 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sun, 4 Aug 2013 12:40:37 -0700 Subject: [PATCH 041/112] Fix for cssDefinition By adding keepend to cssDefinition we ensure that if the final attribute in a css definition does not include a ;, it will still be closed by the cssDefinition's final }. As per the css spec, the final property does not require a ;, and this is still technically valid css. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 3e1dd95..1ebdbfe 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -438,7 +438,7 @@ syn match cssMobileTextProp contained "\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend syn match cssBraceError "}" syn match cssAttrComma "," From ca4ae0e2087fdc61f1bb0e34b5e491d108f2d177 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Thu, 8 Aug 2013 00:46:16 -0700 Subject: [PATCH 042/112] Fixed CSS Hack Contain In my implementation of cssHacks, I accidentally included it in cssMedia block, which breaks the * selector within a media declaration. Containing it within cssDefinition should be the only requirement. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1ebdbfe..a0c7698 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -85,7 +85,7 @@ syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl conta syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -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,cssHacks +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 syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ From 96d1ca023d03e8afba8e42160bdd97c7d7c69365 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Thu, 8 Aug 2013 00:48:34 -0700 Subject: [PATCH 043/112] Including cssAttributeSelector in cssMediaBlock I forgot to include my tweaks to cssAttributeSelector within cssMediaBlock, therefore it wouldn't work within an @media query. This fixes that by now including it. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index a0c7698..4c9cdd9 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -85,7 +85,7 @@ syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl conta syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -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 +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 syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ From fd41c7b2bb7ecee3f77a76bd316de95e75007c02 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Fri, 16 Aug 2013 14:23:39 -0700 Subject: [PATCH 044/112] Adding fold support for foldmethod=syntax Folding was added to mediaBlock and cssDefinition --- syntax/css.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 4c9cdd9..11da877 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -85,7 +85,7 @@ syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl conta syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl -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 +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 syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ @@ -438,7 +438,7 @@ syn match cssMobileTextProp contained "\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold syn match cssBraceError "}" syn match cssAttrComma "," From 85a11b3e50296b1d7b0d6866fae1c5803eec188a Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 3 Aug 2013 16:44:24 -0700 Subject: [PATCH 045/112] Tweaks to padding/border/content-box attribute Apparently older versions of Firefox and current versions of webkit support a sort of `alias` for padding/border/content-box which is simplified without the -box. This means that padding-box == padding, and content-box == content For more info: https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 11da877..f0382ae 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -373,7 +373,7 @@ syn match cssTransitionAttr contained "\" " CSS Basic User Interface Module Level 3 (CSS3 UI) " http://www.w3.org/TR/css3-ui/ syn match cssUIProp contained "\" -syn match cssUIAttr contained "\<\(content\|padding\|border\)-box\>" +syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>" syn keyword cssUIProp contained cursor syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" From bc81a4964d461e5a8cb45929611576913d24629b Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 28 Aug 2013 14:45:22 +0800 Subject: [PATCH 046/112] support pseudo class functions --- README.md | 1 + syntax/css.vim | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index d707726..be48853 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ and run `:BundleInstall` in vim. Change Log ------------ +* 2013-08-28: Add support for pseudo-class functions. * 2013-07-30: Highlight Props and Attrs with different colors. * 2013-07-22: Fix @media(issue #6),@import,@charset,@namespace,@page,@keyframe syntaxs. * 2013-01-13: Add support for installation using vundle. diff --git a/syntax/css.vim b/syntax/css.vim index f0382ae..567dc59 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2013 July 31 +" Last Change: 2013 Aug 28 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -56,7 +56,7 @@ syn keyword cssDeprecated font frame frameset noframes strike tt syn match cssTagName "\*" " selectors -syn match cssSelectorOp "[,>+]" +syn match cssSelectorOp "[,>+~]" syn match cssSelectorOp2 "[~|^$*]\?=" contained syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ @@ -443,18 +443,20 @@ syn match cssBraceError "}" syn match cssAttrComma "," " Pseudo class -syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape,cssVendor -syn keyword cssPseudoClassId link visited active hover before after left right lang -syn match cssPseudoClassId contained "\" -" FIXME: handle functions. -"syn region cssPseudoClassLang matchgroup=cssPseudoClassId start="lang(" end=")" -syn match cssPseudoClassId contained "\<\(last\|only\|nth\|nth-last\)-child\>" -syn match cssPseudoClassId contained "\<\(first\|last\|only\|nth\|nth-last\)-of-type\>" -syn keyword cssPseudoClassId root empty target enable disabled checked not invalid +" http://www.w3.org/TR/css3-selectors/ +syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn +syn keyword cssPseudoClassId contained link visited active hover before after left right +syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid +syn match cssPseudoClassId contained "\" +syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>" +syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" +" ------------------------------------ +" Vendor specific properties syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" + " Comment syn region cssComment start="/\*" end="\*/" contains=@Spell syn region cssComment start="//" skip="\\$" end="$" keepend contains=@Spell From d95f1fabe0a9f31425cfd09bd2132ded88d98ea1 Mon Sep 17 00:00:00 2001 From: Kyo Nagashima Date: Sat, 7 Sep 2013 04:41:11 +0900 Subject: [PATCH 047/112] port fixes from `hail2u/css-syntax` This commit fixes following bugs: * `braile`, `embosed`, and `ty` media types are typo * `large`, `larger`, and `smaller` values for `font-size` property are missing * `sans-serif` cannot be highlighted when `set iskeyword+=-` * `inline-table` value for `display` property is missing * `bidi-override` value for `unicode-bid` property is missing * `invert` value for `outline` property is missing * `resiz` is typo * `speak-numerals` is typo * `speak-header` property is missing * `x-low`, `low`, `high`, and `x-high` values for `pitch` property is missing --- syntax/css.vim | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 567dc59..a91ed69 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -80,7 +80,7 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=c " @media syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl -syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock +syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock,cssMediaComma syn keyword cssMediaKeyword and contained syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl @@ -263,14 +263,14 @@ syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" syn match cssFontProp contained "\" " font attributes syn keyword cssFontAttr contained icon menu caption -syn match cssFontAttr contained "\" +syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" -syn match cssFontAttr contained "\" +syn keyword cssFontAttr contained larger smaller +syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" " font-family attributes -syn match cssFontAttr contained "\" -syn match cssFontAttr contained "\<\(sans-\)\=\" +syn match cssFontAttr contained "\<\(sans-\)\=serif\>" syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf syn keyword cssFontAttr contained cursive fantasy monospace @@ -322,7 +322,7 @@ syn keyword cssPositioningAttr contained block compact syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained left right both syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed syn match cssPrintProp contained "\" @@ -356,6 +356,7 @@ syn keyword cssTextAttr contained clip ellipsis unrestricted suppress syn match cssTextAttr contained "\" syn match cssTextAttr contained "\" syn keyword cssTextAttr contained hyphenate +syn match cssTextAttr contained "\" syn match cssTransformProp contained "\" syn match cssTransformProp contained "\" @@ -391,8 +392,9 @@ syn keyword cssUIAttr contained active inactive disabled syn match cssUIProp contained "\" syn match cssUIProp contained "\" +syn keyword cssUIAttr contained invert -syn keyword cssUIProp contained icon resiz +syn keyword cssUIProp contained icon resize syn keyword cssUIAttr contained both horizontal vertical syn match cssUIProp contained "\" @@ -416,7 +418,7 @@ syn keyword cssUIAttr contained window button field icon document menu syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" -syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>" +syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>" syn keyword cssAuralProp contained volume during azimuth elevation stress richness syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>" syn keyword cssAuralAttr contained silent @@ -425,11 +427,10 @@ syn keyword cssAuralAttr contained non mix syn match cssAuralAttr contained "\<\(left\|right\)-side\>" syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>" syn keyword cssAuralAttr contained leftwards rightwards behind -syn keyword cssAuralAttr contained below level above higher -syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\)\>" +syn keyword cssAuralAttr contained below level above lower higher +syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>" syn keyword cssAuralAttr contained faster slower syn keyword cssAuralAttr contained male female child code digits continuous -syn match cssAuralAttr contained "\" " mobile text syn match cssMobileTextProp contained "\" From af681a78ed717d93561cedda6ef0fee09c669dd9 Mon Sep 17 00:00:00 2001 From: Kyo Nagashima Date: Mon, 9 Sep 2013 15:31:09 +0900 Subject: [PATCH 048/112] remove region definition for line comment `//` is not comment in [CSS 2.1][1] and also in [CSS3][2]. [1]: http://www.w3.org/TR/CSS21/syndata.html#comments [2]: http://www.w3.org/TR/css3-syntax/#comments --- syntax/css.vim | 1 - 1 file changed, 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index a91ed69..1d9fd53 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -460,7 +460,6 @@ syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" " Comment syn region cssComment start="/\*" end="\*/" contains=@Spell -syn region cssComment start="//" skip="\\$" end="$" keepend contains=@Spell syn match cssUnicodeEscape "\\\x\{1,6}\s\?" syn match cssSpecialCharQQ +\\"+ contained From 69d3b5353389d0361f2a8edb4fe9d48790b457af Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 10 Sep 2013 14:27:59 +0800 Subject: [PATCH 049/112] minor --- syntax/css.vim | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1d9fd53..daca2e0 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -156,7 +156,7 @@ syn keyword cssColor contained slategray slategrey snow springgreen steelblue ta syn keyword cssColor contained thistle tomato turquoise violet wheat syn keyword cssColor contained whitesmoke yellowgreen -" FIXME: These are actually case-insentivie too, but (a) specs recommend using +" FIXME: These are actually case-insensitive too, but (a) specs recommend using " mixed-case (b) it's hard to highlight the word `Background' correctly in " all situations syn case match @@ -254,8 +254,7 @@ syn keyword cssFlexibleBoxAttr contained start end baseline syn keyword cssFlexibleBoxAttr contained reverse syn keyword cssFlexibleBoxAttr contained single mulitple syn keyword cssFlexibleBoxAttr contained horizontal -" bugfix: escape vertial-align -syn match cssFlexibleBoxAttr contained "\" +syn match cssFlexibleBoxAttr contained "\" "escape vertical-align syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" " CSS Fonts Module Level 3 @@ -483,7 +482,7 @@ syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\| syntax match cssNoise contained /\(:\|;\|\/\)/ " Attr Enhance -" Some kewords are both Prop and Attr, so we have to handle them +" Some keywords are both Prop and Attr, so we have to handle them syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise " Hack for transition From a2d6ee2d9faf76756f6bf4b8506c9cd529f189fa Mon Sep 17 00:00:00 2001 From: Ingo Karkat Date: Thu, 19 Sep 2013 13:26:23 +0200 Subject: [PATCH 050/112] Add folding for (multi-line) comments. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index daca2e0..c0f8176 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -458,7 +458,7 @@ syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" " Comment -syn region cssComment start="/\*" end="\*/" contains=@Spell +syn region cssComment start="/\*" end="\*/" contains=@Spell fold syn match cssUnicodeEscape "\\\x\{1,6}\s\?" syn match cssSpecialCharQQ +\\"+ contained From 14a3b4b90ae5050ab427e63023efa2f380cdd04b Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Mon, 23 Sep 2013 07:19:56 -0700 Subject: [PATCH 051/112] bugfix for issue #35; add test file --- syntax/css.vim | 36 +++++++++++++-------------- test.css | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 19 deletions(-) create mode 100644 test.css diff --git a/syntax/css.vim b/syntax/css.vim index c0f8176..a97aaea 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -77,23 +77,20 @@ syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" cont syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators - " @media -syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl -syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock -syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock,cssMediaComma -syn keyword cssMediaKeyword and contained -syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl - +syn match cssMedia "@media\>" nextgroup=cssMediaQuery,cssMediaBlock skipwhite skipnl +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 +syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl +syn keyword cssMediaKeyword only not and contained 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 -syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained +syn match cssMediaComma "," nextgroup=cssMediaQuery skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ -syn keyword cssMediaProp contained width height orientation monochrome scan grid +syn keyword cssMediaProp contained width height orientation scan grid syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ -syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|color\(-index\)\=\)/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ syn keyword cssMediaAttr contained portrait landscape progressive interlace " @page @@ -103,14 +100,15 @@ syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|rig syn keyword cssPageProp content size contained " @keyframe -syn match cssKeyFrame "@\(-.*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl +syn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl syn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl " @import -syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ -syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment -syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment +syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword +syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword +syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword +syn keyword cssIncludeKeyword import charset namespace contained " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule @@ -593,6 +591,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssColor Constant HiLink cssIdentifier Function HiLink cssInclude Include + HiLink cssIncludeKeyword atKeyword HiLink cssImportant Special HiLink cssBraces Function HiLink cssBraceError Error @@ -602,19 +601,17 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssStringQQ String HiLink cssStringQ String HiLink cssAttributeSelector String - HiLink cssMedia Special + HiLink cssMedia atKeyword HiLink cssMediaType Special HiLink cssMediaComma Normal - HiLink cssMediaFeature Normal HiLink cssMediaKeyword Statement - HiLink cssMediaKeyword2 Statement HiLink cssMediaProp cssProp HiLink cssMediaAttr cssAttr - HiLink cssPage Special + HiLink cssPage atKeyword HiLink cssPagePseudo PreProc HiLink cssPageHeaderProp PreProc HiLink cssPageProp cssProp - HiLink cssKeyFrame Special + HiLink cssKeyFrame atKeyword HiLink cssKeyFrameSelector Constant HiLink cssFontDescriptor Special HiLink cssFontDescriptorFunction Constant @@ -626,6 +623,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssAttr Constant HiLink cssUnitDecorators Number HiLink cssNoise Noise + HiLink atKeyword Comment delcommand HiLink endif diff --git a/test.css b/test.css new file mode 100644 index 0000000..7478521 --- /dev/null +++ b/test.css @@ -0,0 +1,67 @@ +/* @media tests*/ +@media screen { + * { font-family: sans-serif } +} + + +@import url(color.css) screen and (color); + +@media all and (min-width:500px) {} +@media (min-width:500px) {} + +@media (orientation: portrait) {} +@media all and (orientation: portrait) {} + +@media screen and (color), projection and (color) {} + +@media all {} +@media {} + +@import url(example.css) screen and (color), projection and (color); +@import "example.css" screen and (color), projection and (color); + +@media screen and (color), projection and (color) {} +@media aural and (device-aspect-ratio: 16/9) {} +@media speech and (min-device-width: 800px) {} + +@media all { body { background:lime } } +@media print and (min-width: 25cm) {} +@media screen and (min-width: 400px) and (max-width: 700px) {} +@media handheld and (min-width: 20em), +screen and (min-width: 20em) {} + +@media screen and (device-width: 800px) {} +@media all and (orientation:portrait) {} +@media all and (orientation:landscape) {} + +@media screen and (device-aspect-ratio: 16/9) {} + +@media all and (color) {} +@media all and (min-color: 1) {} +@media all and (color-index) {} +@media all and (min-color-index: 1) {} +@media all and (monochrome) {} +@media all and (min-monochrome: 1) {} +@media print and (min-resolution: 300dpi) {} +@media print and (min-resolution: 118dpcm) {} +@media tv and (scan: progressive) {} +@media handheld and (grid) and (max-width: 15em) {} +@media handheld and (grid) and (max-device-height: 7em) {} + +/* issue #35 */ +@media embossed, print, aural { + .noprint { + display: none; + } +} + +/* Malformed */ +@media example { body { background:red } } +@media screen and (max-weight: 3kg) and (color), (color) +@media (min-orientation:portrait) {} +@media (color:20example) {} +@media (example, all,), speech { /* only applicable to speech devices */ } +@media &test, screen { /* only applicable to screen devices */ } +@media all and(color) {} +@media test;,all { body { background:lime } } +/* End of Malformed */ From f2b2f037d9918a2e3582a6bea173cf7bee7a6cd3 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 24 Sep 2013 05:35:04 -0700 Subject: [PATCH 052/112] minor --- .test.css.swp | Bin 0 -> 12288 bytes syntax/css.vim | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 .test.css.swp diff --git a/.test.css.swp b/.test.css.swp new file mode 100644 index 0000000000000000000000000000000000000000..807a7d88281348d000c75465b7815259e73be32d GIT binary patch literal 12288 zcmeI2&u<$=6vrnV2*27Q;M7ZpR02ELu@g5<>PQekP;p3+kSJWoyJLHr-I>+yI!zRX z6GsFG%8@^T18_l50S6=`IC9~HI2M68l{0*2cXquSIgYBHsNPB++3~)4GxM1@vr_Cq z_xc+SFUZpwXpaw`|1(KcGYN{+Rsn9CWDDiC#MAA_Ip{vj+Z1Wdn)Xt zGD%nP$LS3zf((#>`!g^}hwaTXthct>y}0x&fBLDn?=K& z;D2WzjTYFy81+NoRj}Z|3teP@43GgbKnBPF86X2>fDDiUGC&5%zyo4H_>5gxWb7q; z-*3PFxBmn9`y6Axfp5WW@D2DHd;~rOH^4Qp16}|NfPtUSGWHX=4ZZ-Mg8(dpCb)Zs zu^+%E;1&qL>tGT5{sd#+gYUpCunS%W+u$5H3+_J7*e~Eq@Bs+HRd62s^%!G6f{($w z;2m%kJP)1$|2)drpWqL02mA^?11WeD^uQfB_!PVkt^@1jML-uBAOmE843GgbP&3e3 z=C5g=n<3v3!O+B^^!aj!ZR1r5Zhzso)e=F#5Bb3O2lhpHyQA1lwBHX@DESdTDxz(i z(0;=+fr*>^u)Oh{&C}wE7fY%6^g86|-ss?fizo_|CkBD!sVM?|xu-mtU_8@48ggHR zQ6O6!y|tQ18cFGmF|ZR-<+o?1%EsAW>$;TH5jR4m+a^|0ry^BG_ahUhu~2C>$jt{+ z=8aJ7w{J@Od&@rW?T(sO1a~G{#hXHu>u{#j7z<#XVmh@IVMnYGH+@%p;;SSI#6h2H zqvci^xS~xIE1mMgvgdGMl0^C~p51`ONi49swmX$16Ui_3)@=b44aS(qSO$JRpHZxQ zH#Ixq+-iI5=Di`qs-C$`Zz?|>_xb92y-m88ca(TS_c2B@ie-|hJy}hh&nefAWkQ4r zCfO?S)zwWu@@m7F6W!}}{YX_)yAsBFB5`Q6@y4+UB?dY>s*IR@8%eSvYb))`{gbj( zLguHLn;>giEL*iS-6{#}6fbSZww{sba_35|MLF|o)d!G_rHE?!XGWg3KinYPvTt^~ z(SF{2b);6hi@>g|tzx~Hjt918&ASqGDeo^Y8M{;S>f0!X;m*5bwNi{_yhd$!ZfkP`%ZwwddIH(Am~E@jt`c8z$B+H#_EK@y zX1&f&vQ=i7#6fWm+a%3a#~J{~fkc7XXq=U%6kx0+d%d{$XDsuf<3D29-2|9th= zkJm`q(X_s%F*QY*&XWXf;W2Cv@@16L(CD;16rl=mgeO8L?L@|EIDP6lCD}3UEZIkD Hf`j@$U#!mB literal 0 HcmV?d00001 diff --git a/syntax/css.vim b/syntax/css.vim index a97aaea..bb7be9c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2013 Aug 28 +" Last Change: 2013 Sep.24 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -108,7 +108,7 @@ syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword -syn keyword cssIncludeKeyword import charset namespace contained +syn match cssIncludeKeyword /\(@import\|@charset\|@namespace\)/ contained " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule From 999ddfdc3ba9a8d806c10a037f2f886cb07f604c Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 24 Sep 2013 06:03:31 -0700 Subject: [PATCH 053/112] remove the offending line. #16 --- syntax/css.vim | 3 --- 1 file changed, 3 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index bb7be9c..c90205d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -21,9 +21,6 @@ elseif exists("b:current_syntax") && b:current_syntax == "css" finish endif -" Required for cssHacks -setlocal iskeyword-=_ - let s:cpo_save = &cpo set cpo&vim From b15a0f74e6efa9ec8520e05180041dbb17a36c9e Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 24 Sep 2013 06:09:29 -0700 Subject: [PATCH 054/112] rm .swp --- .test.css.swp | Bin 12288 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .test.css.swp diff --git a/.test.css.swp b/.test.css.swp deleted file mode 100644 index 807a7d88281348d000c75465b7815259e73be32d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2&u<$=6vrnV2*27Q;M7ZpR02ELu@g5<>PQekP;p3+kSJWoyJLHr-I>+yI!zRX z6GsFG%8@^T18_l50S6=`IC9~HI2M68l{0*2cXquSIgYBHsNPB++3~)4GxM1@vr_Cq z_xc+SFUZpwXpaw`|1(KcGYN{+Rsn9CWDDiC#MAA_Ip{vj+Z1Wdn)Xt zGD%nP$LS3zf((#>`!g^}hwaTXthct>y}0x&fBLDn?=K& z;D2WzjTYFy81+NoRj}Z|3teP@43GgbKnBPF86X2>fDDiUGC&5%zyo4H_>5gxWb7q; z-*3PFxBmn9`y6Axfp5WW@D2DHd;~rOH^4Qp16}|NfPtUSGWHX=4ZZ-Mg8(dpCb)Zs zu^+%E;1&qL>tGT5{sd#+gYUpCunS%W+u$5H3+_J7*e~Eq@Bs+HRd62s^%!G6f{($w z;2m%kJP)1$|2)drpWqL02mA^?11WeD^uQfB_!PVkt^@1jML-uBAOmE843GgbP&3e3 z=C5g=n<3v3!O+B^^!aj!ZR1r5Zhzso)e=F#5Bb3O2lhpHyQA1lwBHX@DESdTDxz(i z(0;=+fr*>^u)Oh{&C}wE7fY%6^g86|-ss?fizo_|CkBD!sVM?|xu-mtU_8@48ggHR zQ6O6!y|tQ18cFGmF|ZR-<+o?1%EsAW>$;TH5jR4m+a^|0ry^BG_ahUhu~2C>$jt{+ z=8aJ7w{J@Od&@rW?T(sO1a~G{#hXHu>u{#j7z<#XVmh@IVMnYGH+@%p;;SSI#6h2H zqvci^xS~xIE1mMgvgdGMl0^C~p51`ONi49swmX$16Ui_3)@=b44aS(qSO$JRpHZxQ zH#Ixq+-iI5=Di`qs-C$`Zz?|>_xb92y-m88ca(TS_c2B@ie-|hJy}hh&nefAWkQ4r zCfO?S)zwWu@@m7F6W!}}{YX_)yAsBFB5`Q6@y4+UB?dY>s*IR@8%eSvYb))`{gbj( zLguHLn;>giEL*iS-6{#}6fbSZww{sba_35|MLF|o)d!G_rHE?!XGWg3KinYPvTt^~ z(SF{2b);6hi@>g|tzx~Hjt918&ASqGDeo^Y8M{;S>f0!X;m*5bwNi{_yhd$!ZfkP`%ZwwddIH(Am~E@jt`c8z$B+H#_EK@y zX1&f&vQ=i7#6fWm+a%3a#~J{~fkc7XXq=U%6kx0+d%d{$XDsuf<3D29-2|9th= zkJm`q(X_s%F*QY*&XWXf;W2Cv@@16L(CD;16rl=mgeO8L?L@|EIDP6lCD}3UEZIkD Hf`j@$U#!mB From 112944be744e9492da4336528abeea80cdf04a22 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Fri, 27 Sep 2013 08:09:57 -0700 Subject: [PATCH 055/112] a simpler approach to handle @media #35 --- syntax/css.vim | 28 ++++++++++---------- test.css | 72 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 83 insertions(+), 17 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index c90205d..c9c396d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -74,13 +74,14 @@ syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" cont syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators + +syn match cssIncludeKeyword /\(@media\|@keyframes\|@import\|@charset\|@namespace\)/ contained " @media -syn match cssMedia "@media\>" nextgroup=cssMediaQuery,cssMediaBlock skipwhite skipnl -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 +syn region cssInclude start=/@media\>/ end=/\ze{/ transparent skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl syn keyword cssMediaKeyword only not and contained 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 -syn match cssMediaComma "," nextgroup=cssMediaQuery skipwhite skipnl contained +syn match cssMediaComma "," skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ syn keyword cssMediaProp contained width height orientation scan grid @@ -97,15 +98,15 @@ syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|rig syn keyword cssPageProp content size contained " @keyframe -syn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl -syn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition +syn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>[ \t\r\n\f]\+[A-Za-z-_][A-Za-z0-9_-]*" transparent nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl +syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl " @import -syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword -syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword -syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword -syn match cssIncludeKeyword /\(@import\|@charset\|@namespace\)/ contained +syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType +syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword +syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword + " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule @@ -179,7 +180,7 @@ syn keyword cssCommonAttr contained top bottom center stretch hidden visible "------------------------------------------------ " CSS Animations " http://www.w3.org/TR/css3-animations/ -syn match cssAnimationProp contained "\" +syn match cssAnimationProp contained "\" " animation-direction attributes syn keyword cssAnimationAttr contained alternate reverse @@ -230,7 +231,7 @@ syn keyword cssBorderAttr contained clone slice syn match cssBoxProp contained "\" syn match cssBoxProp contained "\" syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" syn keyword cssBoxAttr contained visible hidden scroll auto syn match cssBoxAttr contained "\" @@ -478,11 +479,11 @@ syntax match cssNoise contained /\(:\|;\|\/\)/ " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise +syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise " Hack for transition " The 'transition' Prop has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise +syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise if main_syntax == "css" @@ -593,7 +594,6 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssBraces Function HiLink cssBraceError Error HiLink cssError Error - HiLink cssInclude Include HiLink cssUnicodeEscape Special HiLink cssStringQQ String HiLink cssStringQ String diff --git a/test.css b/test.css index 7478521..84aba65 100644 --- a/test.css +++ b/test.css @@ -27,7 +27,7 @@ @media all { body { background:lime } } @media print and (min-width: 25cm) {} @media screen and (min-width: 400px) and (max-width: 700px) {} -@media handheld and (min-width: 20em), +@media handheld and (min-width: 20em), /*new line*/ screen and (min-width: 20em) {} @media screen and (device-width: 800px) {} @@ -55,13 +55,79 @@ screen and (min-width: 20em) {} } } +/* issue #35 */ +@media screen +and (orientation:portrait) +and (min-device-width:768px) +and (max-device-width:1024px) +,print and (max-width: 15em) { + body, div { + display:block; + } +} + +/* @keyframes tests */ +.div { + animation-name: diagonal-slide; + animation-duration: 5s; + animation-iteration-count: 10; + animation-fill-mode: 10; + animation-play-state: 12; + animation-timing-function:10; + animation-delay:10; +} + +@keyframes diagonal-slide { + from { + left: 0; + top: 0; + } + + to { + left: 100px; + top: 100px; + } +} + +@keyframes bounce { + + from { + top: 100px; + animation-timing-function: ease-out; + } + + 25% { + top: 50px; + animation-timing-function: ease-in; + } + + 50% { + top: 100px; + animation-timing-function: ease-out; + } + + 75% { + top: 75px; + animation-timing-function: ease-in; + } + + to { + top: 100px; + } + +} + +@namespace "http://www.w3.org/1999/xhtml"; +@namespace svg "http://www.w3.org/2000/svg"; +@charset "ISO-8859-1"; + /* Malformed */ -@media example { body { background:red } } +@media example { body { background: red } } @media screen and (max-weight: 3kg) and (color), (color) @media (min-orientation:portrait) {} @media (color:20example) {} @media (example, all,), speech { /* only applicable to speech devices */ } @media &test, screen { /* only applicable to screen devices */ } -@media all and(color) {} @media test;,all { body { background:lime } } +@keyframes {} /* End of Malformed */ From 0b4d1eb1f1e7cbb5e31dba7aaeb53c6f0fa5c754 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 9 Oct 2013 12:08:56 -0700 Subject: [PATCH 056/112] Changed cssInclude to NOT be transparent I would like the ability to target the cssInclude region, so I removed the transparent modifier from the region. --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index c9c396d..747eba8 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -77,7 +77,7 @@ syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=c syn match cssIncludeKeyword /\(@media\|@keyframes\|@import\|@charset\|@namespace\)/ contained " @media -syn region cssInclude start=/@media\>/ end=/\ze{/ transparent skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock +syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl syn keyword cssMediaKeyword only not and contained 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 From a7188317739e2c5c25a3271cd9272021043905af Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Mon, 21 Oct 2013 17:39:02 -0700 Subject: [PATCH 057/112] Adds specificity for dot in cssClassName The match is linked back to Function clike cssClassName to maintain backwards compatibility --- syntax/css.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 747eba8..9c01def 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -58,7 +58,8 @@ syn match cssSelectorOp2 "[~|^$*]\?=" contained syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ " .class and #id -syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" +syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot +syn match cssClassNameDot contained '\.' try syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*" @@ -616,6 +617,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssFontDescriptorAttr cssAttr HiLink cssUnicodeRange Constant HiLink cssClassName Function + HiLink cssClassNameDot Function HiLink cssProp StorageClass HiLink cssAttr Constant HiLink cssUnitDecorators Number From 0a9a420be875cf41f2b074bb493c311c4ddcfbce Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Mon, 25 Nov 2013 17:01:53 +0100 Subject: [PATCH 058/112] Recognize "\\" as css special char --- syntax/css.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 9c01def..e86a831 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -458,8 +458,8 @@ syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" syn region cssComment start="/\*" end="\*/" contains=@Spell fold syn match cssUnicodeEscape "\\\x\{1,6}\s\?" -syn match cssSpecialCharQQ +\\"+ contained -syn match cssSpecialCharQ +\\'+ contained +syn match cssSpecialCharQQ +\\\\\|\\"+ contained +syn match cssSpecialCharQ +\\\\\|\\'+ contained syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ From b9ce65fd23719c5d7bfdb3bb3f3b9bf665dbf375 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 26 Nov 2013 09:43:06 +0800 Subject: [PATCH 059/112] add test for #39 --- test.css | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/test.css b/test.css index 84aba65..02f795e 100644 --- a/test.css +++ b/test.css @@ -48,23 +48,6 @@ screen and (min-width: 20em) {} @media handheld and (grid) and (max-width: 15em) {} @media handheld and (grid) and (max-device-height: 7em) {} -/* issue #35 */ -@media embossed, print, aural { - .noprint { - display: none; - } -} - -/* issue #35 */ -@media screen -and (orientation:portrait) -and (min-device-width:768px) -and (max-device-width:1024px) -,print and (max-width: 15em) { - body, div { - display:block; - } -} /* @keyframes tests */ .div { @@ -131,3 +114,26 @@ and (max-device-width:1024px) @media test;,all { body { background:lime } } @keyframes {} /* End of Malformed */ + +/* issue #35 */ +@media embossed, print, aural { + .noprint { + display: none; + } +} + +/* issue #35 */ +@media screen +and (orientation:portrait) +and (min-device-width:768px) +and (max-device-width:1024px) +,print and (max-width: 15em) { + body, div { + display:block; + } +} + +/* issue 39 */ +.breadcrumb:before { + content: "\\"; +} From aae1173864e388f83a22c27952ab13e27a1b565d Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 26 Nov 2013 17:43:13 +0800 Subject: [PATCH 060/112] bugfix #40 --- syntax/css.vim | 22 +++++++++++++++++----- test.css | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index e86a831..022c6a6 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -93,10 +93,11 @@ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution syn keyword cssMediaAttr contained portrait landscape progressive interlace " @page +" http://www.w3.org/TR/css3-page/ syn match cssPage "@page\>" nextgroup=cssPagePseudo,cssDefinition skipwhite skipnl syn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained -syn keyword cssPageProp content size contained +syn keyword cssPageProp contained content size " @keyframe syn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>[ \t\r\n\f]\+[A-Za-z-_][A-Za-z0-9_-]*" transparent nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl @@ -291,13 +292,27 @@ syn keyword cssFontAttr contained bold bolder lighter syn match cssFontProp contained "\" syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" + +" CSS Multi-column Layout Module +" http://www.w3.org/TR/css3-multicol/ +syn match cssMultiColumnProp contained "\" +syn match cssMultiColumnProp contained "\" +syn keyword cssMultiColumnProp contained columns +" http://www.w3.org/TR/2012/WD-css3-break-20120823/#page-break +syn match cssMultiColumnProp contained "\" + +syn keyword cssMultiColumnAttr contained balance medium +syn keyword cssMultiColumnAttr contained always avoid left right page column +syn match cssMultiColumnAttr contained "\" + + +" TODO find following items in w3c docs. syn keyword cssGeneratedContentProp contained quotes crop syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>" - syn match cssGridProp contained "\" syn match cssHyerlinkProp contained "\" @@ -309,8 +324,6 @@ syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic syn keyword cssListAttr contained disc circle square hebrew armenian georgian syn keyword cssListAttr contained inside outside -syn match cssMultiColumnProp contained "\" - syn keyword cssPositioningProp contained bottom clear clip display float left syn keyword cssPositioningProp contained position right top visibility syn match cssPositioningProp contained "\" @@ -321,7 +334,6 @@ syn match cssPositioningAttr contained "\" syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed -syn match cssPrintProp contained "\" syn keyword cssPrintProp contained orphans widows syn keyword cssPrintAttr contained landscape portrait crop cross always avoid diff --git a/test.css b/test.css index 02f795e..728b5bc 100644 --- a/test.css +++ b/test.css @@ -137,3 +137,24 @@ and (max-device-width:1024px) .breadcrumb:before { content: "\\"; } + +/* issue 40 */ +#example1 { + column-width: 1px; + column-span: inherit; + + break-before: avoid; + break-after: avoid-column; + break-inside: avoid-page; + + column-gap: inherit; + column-rule-width: inherit; + column-rule-color: inherit; + column-rule: inherit; + column-count: inherit; + columns: inherit; + + page-break-before: avoid; + page-break-after: avoid; + page-break-inside: avoid; +} From 90ead2a1fdedfe847fa01200862b89ddabc02261 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 26 Nov 2013 17:48:05 +0800 Subject: [PATCH 061/112] bugfix #41 --- syntax/css.vim | 2 +- test.css | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 022c6a6..1cbe1e3 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -218,7 +218,7 @@ syn match cssBorderProp contained "\" syn match cssBorderProp contained "\" " border-image attributes -syn keyword cssBorderAttr contained stretch repeat round space fill +syn keyword cssBorderAttr contained stretch round space fill " border-style attributes syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset diff --git a/test.css b/test.css index 728b5bc..6b2134e 100644 --- a/test.css +++ b/test.css @@ -158,3 +158,10 @@ and (max-device-width:1024px) page-break-after: avoid; page-break-inside: avoid; } + +/* issue 41 */ +#example2 { + background-repeat: repeat; + background-repeat: repeat-x; + background-repeat: repeat-y; +} From 4cb99ee8becca5edd5772db1e0139e3f1ca4ecea Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 27 Nov 2013 11:05:24 +0800 Subject: [PATCH 062/112] fix @page syntax --- README.md | 1 + syntax/css.vim | 31 ++++++++++++++++--------------- test.css | 41 +++++++++++++++++++++++++++++------------ 3 files changed, 46 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index be48853..efe2710 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ and run `:BundleInstall` in vim. Change Log ------------ +* 2013-11-27: Fix @page syntax by reference to the w3c standard. * 2013-08-28: Add support for pseudo-class functions. * 2013-07-30: Highlight Props and Attrs with different colors. * 2013-07-22: Fix @media(issue #6),@import,@charset,@namespace,@page,@keyframe syntaxs. diff --git a/syntax/css.vim b/syntax/css.vim index 1cbe1e3..c6fc6a7 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2013 Sep.24 +" Last Change: 2013 Nov.27 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -76,7 +76,7 @@ syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitD syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators -syn match cssIncludeKeyword /\(@media\|@keyframes\|@import\|@charset\|@namespace\)/ contained +syn match cssIncludeKeyword /@\(-[a-z]+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained " @media syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl @@ -94,22 +94,25 @@ syn keyword cssMediaAttr contained portrait landscape progressive interlace " @page " http://www.w3.org/TR/css3-page/ -syn match cssPage "@page\>" nextgroup=cssPagePseudo,cssDefinition skipwhite skipnl -syn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl -syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained +syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl +syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl +syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks +syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl syn keyword cssPageProp contained content size +" http://www.w3.org/TR/CSS2/page.html#break-inside +syn keyword cssPageProp contained orphans widows " @keyframe -syn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>[ \t\r\n\f]\+[A-Za-z-_][A-Za-z0-9_-]*" transparent nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl -syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition -syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl +" http://www.w3.org/TR/css3-animations/#keyframes +syn match cssKeyFrame "@\(-[a-z]+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent +syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector +syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition " @import syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword - " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl @@ -298,13 +301,12 @@ syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" syn match cssMultiColumnProp contained "\" syn match cssMultiColumnProp contained "\" syn keyword cssMultiColumnProp contained columns -" http://www.w3.org/TR/2012/WD-css3-break-20120823/#page-break -syn match cssMultiColumnProp contained "\" - syn keyword cssMultiColumnAttr contained balance medium syn keyword cssMultiColumnAttr contained always avoid left right page column syn match cssMultiColumnAttr contained "\" +" http://www.w3.org/TR/css3-break/#page-break +syn match cssMultiColumnProp contained "\" " TODO find following items in w3c docs. syn keyword cssGeneratedContentProp contained quotes crop @@ -334,7 +336,6 @@ syn match cssPositioningAttr contained "\" syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed -syn keyword cssPrintProp contained orphans widows syn keyword cssPrintAttr contained landscape portrait crop cross always avoid syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" @@ -408,7 +409,7 @@ syn keyword cssUIAttr contained both horizontal vertical syn match cssUIProp contained "\" syn keyword cssUIAttr contained clip ellipsis -" Already highlighted Props: font content +" Already highlighted Props: font content "------------------------------------------------ " Webkit/iOS specific attributes syn match cssUIAttr contained '\(preserve-3d\)' @@ -619,7 +620,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssMediaAttr cssAttr HiLink cssPage atKeyword HiLink cssPagePseudo PreProc - HiLink cssPageHeaderProp PreProc + HiLink cssPageMargin atKeyword HiLink cssPageProp cssProp HiLink cssKeyFrame atKeyword HiLink cssKeyFrameSelector Constant diff --git a/test.css b/test.css index 6b2134e..a571dc2 100644 --- a/test.css +++ b/test.css @@ -83,7 +83,6 @@ screen and (min-width: 20em) {} top: 50px; animation-timing-function: ease-in; } - 50% { top: 100px; animation-timing-function: ease-out; @@ -97,23 +96,41 @@ screen and (min-width: 20em) {} to { top: 100px; } - } + @namespace "http://www.w3.org/1999/xhtml"; @namespace svg "http://www.w3.org/2000/svg"; @charset "ISO-8859-1"; -/* Malformed */ -@media example { body { background: red } } -@media screen and (max-weight: 3kg) and (color), (color) -@media (min-orientation:portrait) {} -@media (color:20example) {} -@media (example, all,), speech { /* only applicable to speech devices */ } -@media &test, screen { /* only applicable to screen devices */ } -@media test;,all { body { background:lime } } -@keyframes {} -/* End of Malformed */ + +@page { ... } +@page :left { ... } +@page :right { ... } +@page LandscapeTable { ... } +@page CompanyLetterHead:first { ... } /* identifier and pseudo page. */ +@page:first { ... } +@page toc, index { ... } +@page :blank:first { ... } + +@page :first { + color: green; + size: 8.5in 11in; + + @top-left { + content: "foo"; + color: blue; + } + @top-right { + content: "bar"; + } +} + +@page { color: red; + @top-center { + content: "Page " counter(page); + } +} /* issue #35 */ @media embossed, print, aural { From f86f30bbcbbc044674e285b4aca61cab82a8c7e6 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 27 Nov 2013 11:09:40 +0800 Subject: [PATCH 063/112] minor --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index efe2710..93d4ad9 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ and run `:BundleInstall` in vim. Change Log ------------ -* 2013-11-27: Fix @page syntax by reference to the w3c standard. +* 2013-11-27: Fix @page syntax based on the w3c standard. * 2013-08-28: Add support for pseudo-class functions. * 2013-07-30: Highlight Props and Attrs with different colors. * 2013-07-22: Fix @media(issue #6),@import,@charset,@namespace,@page,@keyframe syntaxs. From 1cd37eb8cc80e04b3c13f73fdf12b03f744bf658 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 11 Feb 2014 04:52:21 -0800 Subject: [PATCH 064/112] bugfix for #42 --- syntax/css.vim | 10 +++++----- test.css | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index c6fc6a7..ba2a7e7 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -171,7 +171,7 @@ syn match cssColor contained "\" syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators -syn region cssURL contained matchgroup=cssFunctionName start="\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks fold syn match cssBraceError "}" syn match cssAttrComma "," @@ -493,11 +493,11 @@ syntax match cssNoise contained /\(:\|;\|\/\)/ " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise " Hack for transition -" The 'transition' Prop has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +" 'transition' has Props after ':'. +syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise if main_syntax == "css" diff --git a/test.css b/test.css index a571dc2..d0f1d6c 100644 --- a/test.css +++ b/test.css @@ -182,3 +182,17 @@ and (max-device-width:1024px) background-repeat: repeat-x; background-repeat: repeat-y; } + + +/* issue 42 */ +.issue42 { + background-image: url('{!URLFOR($Resource.images)}/background.png'); + background-image: url('{!URLFOR($Resource.images)}/background.png'), url('{!URLFOR($Resource.images)}/background.png') +} + +@font-face +{ + font-family: myFirstFont; + src: url(sansation_bold.woff); + font-weight:bold; +} From df437464b8fcf65ca62485aaf8d230c65345e792 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 11 Feb 2014 04:57:35 -0800 Subject: [PATCH 065/112] add attr 'infinite' --- syntax/css.vim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/syntax/css.vim b/syntax/css.vim index ba2a7e7..9230279 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -196,6 +196,9 @@ syn keyword cssAnimationAttr contained forwards backwards both " animation-play-state attributes syn keyword cssAnimationAttr contained running paused + +" animation-iteration-count attributes +syn keyword cssAnimationAttr contained infinite "------------------------------------------------ " CSS Backgrounds and Borders Module Level 3 " http://www.w3.org/TR/css3-background/ From 8c21510d8fb6aaab34fd14f74fc8203c866533bd Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 11 Feb 2014 05:03:52 -0800 Subject: [PATCH 066/112] fix a typo --- syntax/css.vim | 4 ++-- test.css | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 9230279..1070056 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -76,7 +76,7 @@ syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitD syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators -syn match cssIncludeKeyword /@\(-[a-z]+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained +syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained " @media syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl @@ -104,7 +104,7 @@ syn keyword cssPageProp contained orphans widows " @keyframe " http://www.w3.org/TR/css3-animations/#keyframes -syn match cssKeyFrame "@\(-[a-z]+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent +syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition diff --git a/test.css b/test.css index d0f1d6c..5047247 100644 --- a/test.css +++ b/test.css @@ -60,7 +60,7 @@ screen and (min-width: 20em) {} animation-delay:10; } -@keyframes diagonal-slide { +@-webkit-keyframes diagonal-slide { from { left: 0; top: 0; From 2e3dc8ed7aea6d783555a3fae1036cfd5f62d0c1 Mon Sep 17 00:00:00 2001 From: Kyo Nagashima Date: Thu, 13 Feb 2014 16:15:10 +0900 Subject: [PATCH 067/112] Add `currentColor` color keyword Seealso: http://www.w3.org/TR/css3-color/#currentcolor --- syntax/css.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/syntax/css.vim b/syntax/css.vim index 1070056..f231ece 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -167,6 +167,7 @@ syn case ignore syn match cssImportant contained "!\s*important\>" syn match cssColor contained "\" +syn match cssColor contained "\" syn match cssColor contained "\" syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators From 0057d52038af9c759da36a96c6717e3f5a0cf35c Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 19 Feb 2014 10:35:17 +0100 Subject: [PATCH 068/112] Add max/min support for aspect-ratios --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index f231ece..583f340 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -86,7 +86,7 @@ syn match cssMediaComma "," skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ syn keyword cssMediaProp contained width height orientation scan grid -syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\(\(device\)-\)\=aspect-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ From 8bb52cbf383e665724563c186bd2dc90ac797099 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 19 Feb 2014 14:27:39 +0100 Subject: [PATCH 069/112] Make max/min prefixes optional --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 583f340..e86343f 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -86,7 +86,7 @@ syn match cssMediaComma "," skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ syn keyword cssMediaProp contained width height orientation scan grid -syn match cssMediaProp contained /\(\(max\|min\)-\)\(\(device\)-\)\=aspect-ratio/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ From af6f2700ecbbe0578c024226ee2f0808e1c59564 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 19 Feb 2014 15:32:38 +0100 Subject: [PATCH 070/112] Fix typo (mulitple -> multiple) --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index e86343f..9e1651b 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -257,7 +257,7 @@ syn keyword cssDimensionProp contained width syn match cssFlexibleBoxProp contained "\" syn keyword cssFlexibleBoxAttr contained start end baseline syn keyword cssFlexibleBoxAttr contained reverse -syn keyword cssFlexibleBoxAttr contained single mulitple +syn keyword cssFlexibleBoxAttr contained single multiple syn keyword cssFlexibleBoxAttr contained horizontal syn match cssFlexibleBoxAttr contained "\" "escape vertical-align syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" From 56c3ac5eba4c512631baf2289dea56881681cfed Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 22 Mar 2014 17:30:16 -0400 Subject: [PATCH 071/112] Linked @media to PreProc instead of Comment --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 9e1651b..89f582d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -639,7 +639,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssAttr Constant HiLink cssUnitDecorators Number HiLink cssNoise Noise - HiLink atKeyword Comment + HiLink atKeyword PreProc delcommand HiLink endif From 69fa8b585822354ba31fdc163a285f09d0198e6a Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Fri, 18 Apr 2014 12:02:56 -0700 Subject: [PATCH 072/112] Fixing CSSNoise in various contexts Also fixed CSSNoise in relation to CSS comments and added a test to fix Added cssNoise to cssFontDescriptorBlock for consistency Fixed Comments By changing the order of when these matches are defined, we fix comments inside of CSS definitions that were broken by the previous commits Adding tests for CSS Comments --- syntax/css.vim | 11 +++++------ test.css | 2 ++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 89f582d..1bfb39f 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -116,7 +116,7 @@ syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssSt " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl -syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr +syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr,cssNoise "syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>" "syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline syn keyword cssFontDescriptorProp contained src @@ -452,7 +452,7 @@ syn match cssMobileTextProp contained "\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks fold +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold syn match cssBraceError "}" syn match cssAttrComma "," @@ -470,6 +470,9 @@ syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" +" Misc highlight groups +syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained +syntax match cssNoise contained /\(:\|;\|\/\)/ " Comment syn region cssComment start="/\*" end="\*/" contains=@Spell fold @@ -491,10 +494,6 @@ syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)" " http://www.paulirish.com/2009/browser-specific-css-hacks/ syn match cssHacks contained /\(_\|*\)/ -" Misc highlight groups -syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained -syntax match cssNoise contained /\(:\|;\|\/\)/ - " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise diff --git a/test.css b/test.css index 5047247..2704137 100644 --- a/test.css +++ b/test.css @@ -178,6 +178,7 @@ and (max-device-width:1024px) /* issue 41 */ #example2 { + /* with a test comment */ background-repeat: repeat; background-repeat: repeat-x; background-repeat: repeat-y; @@ -192,6 +193,7 @@ and (max-device-width:1024px) @font-face { + /* with a test comment */ font-family: myFirstFont; src: url(sansation_bold.woff); font-weight:bold; From b90a1a7c47398063e9ffd04e0ef6a1fbff0867c8 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 19 Aug 2014 17:28:17 +0800 Subject: [PATCH 073/112] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 93d4ad9..521e4b3 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,6 @@ Change Log Thanks ------------ -* ChrisYip https://github.com/amadeus/Better-CSS-Syntax-for-Vim +* ChrisYip, amadeus https://github.com/amadeus/Better-CSS-Syntax-for-Vim * hail2u https://github.com/hail2u/vim-css3-syntax * leptrue https://github.com/lepture/vim-css From 33ab453e1759323b469957e3323eea3d772386dd Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 28 Oct 2014 16:51:38 +0800 Subject: [PATCH 074/112] fix compat issue with less.vim --- syntax/css.vim | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1bfb39f..60470ff 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2013 Nov.27 +" Last Change: 2014 Oct.28 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -26,18 +26,20 @@ set cpo&vim syn case ignore -" All HTML4 tags -syn keyword cssTagName abbr acronym address applet area a b base -syn keyword cssTagName basefont bdo big blockquote body br button -syn keyword cssTagName caption center cite code col colgroup dd del -syn keyword cssTagName dfn dir div dl dt em fieldset font form frame -syn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i -syn keyword cssTagName iframe img input ins isindex kbd label legend li -syn keyword cssTagName link map menu meta noframes noscript ol optgroup -syn keyword cssTagName option p param pre q s samp script select small -syn keyword cssTagName span strike strong style sub sup table tbody td -syn keyword cssTagName textarea tfoot th thead title tr tt ul u var +" HTML4 tags +syn keyword cssTagName abbr address area a b base +syn keyword cssTagName bdo blockquote body br button +syn keyword cssTagName cite code colgroup dd del +syn keyword cssTagName dfn div dl dt fieldset form +syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i +syn keyword cssTagName iframe input ins isindex kbd label legend li +syn keyword cssTagName link map menu meta noscript ol optgroup +syn keyword cssTagName option p param q s samp script +syn keyword cssTagName strong sub sup tbody td +syn keyword cssTagName textarea tfoot th thead title tr ul u var syn keyword cssTagName object svg +syn match cssTagName /\/ +syn match cssTagName /\/ " 34 HTML5 tags syn keyword cssTagName article aside audio bdi canvas command data @@ -47,8 +49,8 @@ syn keyword cssTagName output progress rt rp ruby section syn keyword cssTagName source summary time track video wbr " Tags not supported in HTML5 -syn keyword cssDeprecated acronym applet basefont big center dir -syn keyword cssDeprecated font frame frameset noframes strike tt +" acronym applet basefont big center dir +" font frame frameset noframes strike tt syn match cssTagName "\*" From d7a9ac469b5cac23a19666e270367d1acdccad02 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Tue, 28 Oct 2014 17:27:46 +0800 Subject: [PATCH 075/112] less aggressive --- syntax/css.vim | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 60470ff..a14e8b5 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -29,17 +29,16 @@ syn case ignore " HTML4 tags syn keyword cssTagName abbr address area a b base syn keyword cssTagName bdo blockquote body br button -syn keyword cssTagName cite code colgroup dd del -syn keyword cssTagName dfn div dl dt fieldset form +syn keyword cssTagName caption cite code col colgroup dd del +syn keyword cssTagName dfn div dl dt em fieldset form syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i syn keyword cssTagName iframe input ins isindex kbd label legend li syn keyword cssTagName link map menu meta noscript ol optgroup -syn keyword cssTagName option p param q s samp script -syn keyword cssTagName strong sub sup tbody td +syn keyword cssTagName option p param pre q s samp script small +syn keyword cssTagName span strong sub sup tbody td syn keyword cssTagName textarea tfoot th thead title tr ul u var syn keyword cssTagName object svg -syn match cssTagName /\/ -syn match cssTagName /\/ +syn match cssTagName /\\|\\|\/ " 34 HTML5 tags syn keyword cssTagName article aside audio bdi canvas command data From d8b2bc9310322d74a67c2e52e261ac693937bc73 Mon Sep 17 00:00:00 2001 From: Jules Wang Date: Wed, 29 Oct 2014 16:14:27 +0800 Subject: [PATCH 076/112] improve font-face --- syntax/css.vim | 67 ++++++++++++++++++++++++++++---------------------- test.css | 10 ++++++-- 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index a14e8b5..608dacb 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -71,10 +71,10 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators -syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators -syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators -syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators +syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators +syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained @@ -117,15 +117,27 @@ syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssSt " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl -syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr,cssNoise -"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>" -"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline +syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise + +syn match cssFontDescriptorProp contained "\" syn keyword cssFontDescriptorProp contained src +syn match cssFontDescriptorProp contained "\" syn match cssFontDescriptorProp contained "\" -syn keyword cssFontDescriptorAttr contained all +syn match cssFontDescriptorProp contained "\" + +" src functions syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend -syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+" -syn match cssUnicodeRange contained "U+\x\+-\x\+" +" font-sytle and font-weight attributes +syn keyword cssFontDescriptorAttr contained normal italic oblique bold +" font-stretch attributes +syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" +" unicode-range attributes +syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" +syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" +" font-feature-settings attributes +syn keyword cssFontDescriptorAttr contained on off + + " The 16 basic color names syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow @@ -134,23 +146,23 @@ syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon na syn keyword cssColor contained aliceblue antiquewhite aquamarine azure syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan -syn match cssColor contained /dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)/ -syn match cssColor contained /dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)/ -syn match cssColor contained /darkslate\(blue\|gray\|grey\)/ -syn match cssColor contained /dark\(turquoise\|violet\)/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen syn keyword cssColor contained lemonchiffon limegreen linen magenta -syn match cssColor contained /light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)/ -syn match cssColor contained /light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)/ -syn match cssColor contained /light\(slategray\|slategrey\|steelblue\)/ -syn match cssColor contained /medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)/ -syn match cssColor contained /medium\(slateblue\|springgreen\|turquoise\|violetred\)/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite syn keyword cssColor contained oldlace olivedrab orange orangered orchid -syn match cssColor contained /pale\(goldenrod\|green\|turquoise\|violetred\)/ +syn match cssColor contained /\/ syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown syn keyword cssColor contained seagreen seashell sienna skyblue slateblue @@ -266,6 +278,7 @@ syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" " CSS Fonts Module Level 3 " http://www.w3.org/TR/css-fonts-3/ syn match cssFontProp contained "\" + " font attributes syn keyword cssFontAttr contained icon menu caption syn match cssFontAttr contained "\" @@ -273,27 +286,21 @@ syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn keyword cssFontAttr contained larger smaller syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" - " font-family attributes syn match cssFontAttr contained "\<\(sans-\)\=serif\>" -syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf +syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Verdana Webdings Wingdings York Zapf syn keyword cssFontAttr contained cursive fantasy monospace - " font-feature-settings attributes syn keyword cssFontAttr contained on off - " font-stretch attributes syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" - " font-style attributes syn keyword cssFontAttr contained italic oblique - -" font-variant-caps attributes -syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>" -syn keyword cssFontAttr contained unicase - +" font-synthesis attributes +syn keyword cssFontAttr contained weight style " font-weight attributes syn keyword cssFontAttr contained bold bolder lighter +" TODO: font-variant-* attributes "------------------------------------------------ " Webkit specific property/attributes diff --git a/test.css b/test.css index 2704137..35dd27c 100644 --- a/test.css +++ b/test.css @@ -191,10 +191,16 @@ and (max-device-width:1024px) background-image: url('{!URLFOR($Resource.images)}/background.png'), url('{!URLFOR($Resource.images)}/background.png') } +/* @font-face test */ @font-face { /* with a test comment */ - font-family: myFirstFont; - src: url(sansation_bold.woff); + font-family: myFirstFont, serif; + src: url(ideal-sans-serif.woff) format("woff"), + url(basic-sans-serif.ttf) format("opentype"); + src: local(STIXGeneral), url(/stixfonts/STIXGeneral.otf); + unicode-range: U+000-49F, U+2000-27FF, U+2900-2BFF, U+1D400-1D7FF, U+4??; font-weight:bold; + /* negative example */ + font-size: normal; } From d56508cee3f2cc94eaa42af25d74b19f9595aa7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adelar=20da=20Silva=20Queir=C3=B3z?= Date: Wed, 29 Oct 2014 18:57:12 -0200 Subject: [PATCH 077/112] Bundle* commands are deprected --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 521e4b3..b02a3bc 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,10 @@ copy `css.vim` file into your `~/.vim/syntax/` directory; add the following line to your `~/.vimrc` file; ``` -Bundle "JulesWang/css.vim" +Plugin 'JulesWang/css.vim' ``` -and run `:BundleInstall` in vim. +and run `:PluginInstall` in vim. Change Log ------------ From 9530d030ff9d9844f7e3c1923df4f13b103c06a4 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Fri, 23 Jan 2015 16:53:36 -0800 Subject: [PATCH 078/112] Adding image-rendering attributes and props --- syntax/css.vim | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/syntax/css.vim b/syntax/css.vim index 608dacb..be6385e 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -421,6 +421,10 @@ syn keyword cssUIAttr contained both horizontal vertical syn match cssUIProp contained "\" syn keyword cssUIAttr contained clip ellipsis +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained pixellated +syn match cssUIAttr contained "\" + " Already highlighted Props: font content "------------------------------------------------ " Webkit/iOS specific attributes From a7e97e00db990450ae6a6c927c3810a9fd0104e2 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Tue, 24 Mar 2015 09:40:02 +0000 Subject: [PATCH 079/112] Add more relative length units --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 608dacb..c7aaa5e 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -479,7 +479,7 @@ syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" " Misc highlight groups -syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained +syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained syntax match cssNoise contained /\(:\|;\|\/\)/ " Comment From 11dc458bd97e747d704d0604eb2495bd6d7b1034 Mon Sep 17 00:00:00 2001 From: wangjunqing Date: Fri, 17 Apr 2015 16:54:17 +0800 Subject: [PATCH 080/112] update last-change date --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index c7aaa5e..51758ca 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2014 Oct.28 +" Last Change: 2015 Apr.17 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded From 5da1faef1992981ff9f3df6649836993d77b90aa Mon Sep 17 00:00:00 2001 From: wangjunqing Date: Fri, 19 Jun 2015 11:25:15 +0800 Subject: [PATCH 081/112] Fix #54 --- syntax/css.vim | 22 ++++++++++++++-------- test.css | 6 ++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 51758ca..5527eeb 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -320,6 +320,10 @@ syn match cssMultiColumnAttr contained "\" " http://www.w3.org/TR/css3-break/#page-break syn match cssMultiColumnProp contained "\" +" http://www.w3.org/TR/SVG11/interact.html +syn match cssInteractProp contained "\" +syn match cssInteractAttr contained "\<\(visible\)\=\(Painted\|Fill\|Stroke\)\=\>" + " TODO find following items in w3c docs. syn keyword cssGeneratedContentProp contained quotes crop syn match cssGeneratedContentProp contained "\" @@ -536,6 +540,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssAttrComma Special HiLink cssAnimationProp cssProp + HiLink cssAuralProp cssProp HiLink cssBackgroundProp cssProp HiLink cssBorderProp cssProp HiLink cssBoxProp cssProp @@ -547,13 +552,17 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssGeneratedContentProp cssProp HiLink cssGridProp cssProp HiLink cssHyerlinkProp cssProp + HiLink cssIEUIProp cssProp + HiLink cssInteractProp cssProp HiLink cssLineboxProp cssProp HiLink cssListProp cssProp HiLink cssMarqueeProp cssProp + HiLink cssMobileTextProp cssProp HiLink cssMultiColumnProp cssProp HiLink cssPagedMediaProp cssProp HiLink cssPositioningProp cssProp HiLink cssPrintProp cssProp + HiLink cssRenderProp cssProp HiLink cssRubyProp cssProp HiLink cssSpeechProp cssProp HiLink cssTableProp cssProp @@ -561,22 +570,22 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssTransformProp cssProp HiLink cssTransitionProp cssProp HiLink cssUIProp cssProp - HiLink cssIEUIProp cssProp - HiLink cssAuralProp cssProp - HiLink cssRenderProp cssProp - HiLink cssMobileTextProp cssProp HiLink cssAnimationAttr cssAttr + HiLink cssAuralAttr cssAttr HiLink cssBackgroundAttr cssAttr HiLink cssBorderAttr cssAttr HiLink cssBoxAttr cssAttr HiLink cssContentForPagedMediaAttr cssAttr + HiLink cssCommonAttr cssAttr HiLink cssDimensionAttr cssAttr HiLink cssFlexibleBoxAttr cssAttr HiLink cssFontAttr cssAttr HiLink cssGeneratedContentAttr cssAttr HiLink cssGridAttr cssAttr HiLink cssHyerlinkAttr cssAttr + HiLink cssIEUIAttr cssAttr + HiLink cssInteractAttr cssAttr HiLink cssLineboxAttr cssAttr HiLink cssListAttr cssAttr HiLink cssMarginAttr cssAttr @@ -587,6 +596,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssPositioningAttr cssAttr HiLink cssGradientAttr cssAttr HiLink cssPrintAttr cssAttr + HiLink cssRenderAttr cssAttr HiLink cssRubyAttr cssAttr HiLink cssSpeechAttr cssAttr HiLink cssTableAttr cssAttr @@ -594,10 +604,6 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssTransformAttr cssAttr HiLink cssTransitionAttr cssAttr HiLink cssUIAttr cssAttr - HiLink cssIEUIAttr cssAttr - HiLink cssAuralAttr cssAttr - HiLink cssRenderAttr cssAttr - HiLink cssCommonAttr cssAttr HiLink cssPseudoClassId PreProc HiLink cssPseudoClassLang Constant diff --git a/test.css b/test.css index 35dd27c..005093e 100644 --- a/test.css +++ b/test.css @@ -204,3 +204,9 @@ and (max-device-width:1024px) /* negative example */ font-size: normal; } + +/* issue 54 */ +.issue54 { + pointer-events: painted; + pointer-events: visibleFill; +} From 1adcd300006607498964d5fddc0147af83b531aa Mon Sep 17 00:00:00 2001 From: wangjunqing Date: Fri, 19 Jun 2015 12:00:05 +0800 Subject: [PATCH 082/112] Fix #56 --- syntax/css.vim | 23 +++++++++++++---------- test.css | 8 ++++++++ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 5527eeb..8212455 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -226,7 +226,6 @@ syn keyword cssBackgroundAttr contained left center right top bottom " background-repeat attributes syn match cssBackgroundAttr contained "\" syn match cssBackgroundAttr contained "\" -syn keyword cssBackgroundAttr contained space round " background-size attributes syn keyword cssBackgroundAttr contained cover contain @@ -238,7 +237,7 @@ syn match cssBorderProp contained "\" syn match cssBorderProp contained "\" " border-image attributes -syn keyword cssBorderAttr contained stretch round space fill +syn keyword cssBorderAttr contained stretch round fill " border-style attributes syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset @@ -266,14 +265,18 @@ syn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>" syn keyword cssDimensionProp contained height syn keyword cssDimensionProp contained width -" shadow and sizing are in other property groups -syn match cssFlexibleBoxProp contained "\" -syn keyword cssFlexibleBoxAttr contained start end baseline -syn keyword cssFlexibleBoxAttr contained reverse -syn keyword cssFlexibleBoxAttr contained single multiple -syn keyword cssFlexibleBoxAttr contained horizontal -syn match cssFlexibleBoxAttr contained "\" "escape vertical-align -syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>" +" CSS Flexible Box Layout Module Level 1 +" http://www.w3.org/TR/css3-flexbox/ +" CSS Box Alignment Module Level 3 +" http://www.w3.org/TR/css-align-3/ +syn match cssFlexibleBoxProp contained "\" +syn match cssFlexibleBoxProp contained "\<\(align\|justify\)\(-\(items\|self\|content\)\)\=\>" +syn keyword cssFlexibleBoxProp contained order + +syn match cssFlexibleBoxAttr contained "\<\(row\|column\|wrap\)\(-reverse\)\=\>" +syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center +syn match cssFlexibleBoxAttr contained "\" +syn match cssFlexibleBoxAttr contained "\" " CSS Fonts Module Level 3 " http://www.w3.org/TR/css-fonts-3/ diff --git a/test.css b/test.css index 005093e..1990cc5 100644 --- a/test.css +++ b/test.css @@ -210,3 +210,11 @@ and (max-device-width:1024px) pointer-events: painted; pointer-events: visibleFill; } + +/* issue 56 */ +.issue56 { + flex-direction: row-reverse; + flex-flow: row nowrap; + align-self: flex-start; + justify-content: space-between; +} From ae41b5302d66bf8e76c4161c26fad1167c2a949b Mon Sep 17 00:00:00 2001 From: wangjunqing Date: Tue, 25 Aug 2015 15:15:36 +0800 Subject: [PATCH 083/112] for #57 --- syntax/css.vim | 4 ++-- test.css | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 8212455..802970e 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -164,8 +164,8 @@ syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajow syn keyword cssColor contained oldlace olivedrab orange orangered orchid syn match cssColor contained /\/ syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue -syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown -syn keyword cssColor contained seagreen seashell sienna skyblue slateblue +syn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon +syn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan syn keyword cssColor contained thistle tomato turquoise violet wheat syn keyword cssColor contained whitesmoke yellowgreen diff --git a/test.css b/test.css index 1990cc5..b4378c9 100644 --- a/test.css +++ b/test.css @@ -205,16 +205,18 @@ and (max-device-width:1024px) font-size: normal; } -/* issue 54 */ .issue54 { pointer-events: painted; pointer-events: visibleFill; } -/* issue 56 */ .issue56 { flex-direction: row-reverse; flex-flow: row nowrap; align-self: flex-start; justify-content: space-between; } + +.issue57 { + color: rebeccapurple; +} From f501cd542fbb887111af987a7d9d7cf3c30a9e16 Mon Sep 17 00:00:00 2001 From: wangjunqing Date: Tue, 25 Aug 2015 15:18:29 +0800 Subject: [PATCH 084/112] rm changelog;update Last Change --- README.md | 11 ----------- syntax/css.vim | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/README.md b/README.md index b02a3bc..d5a8792 100644 --- a/README.md +++ b/README.md @@ -18,17 +18,6 @@ Plugin 'JulesWang/css.vim' and run `:PluginInstall` in vim. -Change Log ------------- -* 2013-11-27: Fix @page syntax based on the w3c standard. -* 2013-08-28: Add support for pseudo-class functions. -* 2013-07-30: Highlight Props and Attrs with different colors. -* 2013-07-22: Fix @media(issue #6),@import,@charset,@namespace,@page,@keyframe syntaxs. -* 2013-01-13: Add support for installation using vundle. -* 2011-10-15: Add 130 more color names. -* 2011-09-13: Test and add some missing items. -* 2011-09-11: 80% css3 support. - Thanks ------------ * ChrisYip, amadeus https://github.com/amadeus/Better-CSS-Syntax-for-Vim diff --git a/syntax/css.vim b/syntax/css.vim index 802970e..144a43d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2015 Apr.17 +" Last Change: 2015 Aug.25 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded From f081b52c542ef8428f7f66701a5cddf5336d591e Mon Sep 17 00:00:00 2001 From: JulesWang Date: Fri, 26 Feb 2016 13:18:48 +0800 Subject: [PATCH 085/112] fix flex highlight in display: flex; for #59 --- syntax/css.vim | 2 +- test.css | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index dd13eaf..e7cfa16 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -275,7 +275,7 @@ syn keyword cssFlexibleBoxProp contained order syn match cssFlexibleBoxAttr contained "\<\(row\|column\|wrap\)\(-reverse\)\=\>" syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center -syn match cssFlexibleBoxAttr contained "\" +syn match cssFlexibleBoxAttr contained "\" syn match cssFlexibleBoxAttr contained "\" " CSS Fonts Module Level 3 diff --git a/test.css b/test.css index b4378c9..626341b 100644 --- a/test.css +++ b/test.css @@ -220,3 +220,7 @@ and (max-device-width:1024px) .issue57 { color: rebeccapurple; } + +.issue59 { + display: flex; +} From 3df6c88fceb9701d5e6f704271575eb05fbbb5e8 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sat, 27 Feb 2016 12:06:38 -0800 Subject: [PATCH 086/112] Adding viewport units --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index e7cfa16..e03711f 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -71,7 +71,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|vh\|vw\|vmin\|vmax\)\>" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators From ce54ea96809fa7c53339af8f1c4fd30ede678f18 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 9 Mar 2016 15:10:08 -0800 Subject: [PATCH 087/112] Fixes avoid/avoid-page/avoid-column value matching It appears that having avoid set as a keyword, breaks the matching of properties like avoid-page and avoid-column. The fix involves remove avoid as a keyword and instead using a regex to match the various possibilities. --- syntax/css.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index e03711f..2a3d48d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -317,8 +317,8 @@ syn match cssMultiColumnProp contained "\" syn match cssMultiColumnProp contained "\" syn keyword cssMultiColumnProp contained columns syn keyword cssMultiColumnAttr contained balance medium -syn keyword cssMultiColumnAttr contained always avoid left right page column -syn match cssMultiColumnAttr contained "\" +syn keyword cssMultiColumnAttr contained always left right page column +syn match cssMultiColumnAttr contained "\" " http://www.w3.org/TR/css3-break/#page-break syn match cssMultiColumnProp contained "\" @@ -355,7 +355,7 @@ syn match cssPositioningAttr contained "\" syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed -syn keyword cssPrintAttr contained landscape portrait crop cross always avoid +syn keyword cssPrintAttr contained landscape portrait crop cross always syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" syn keyword cssTableAttr contained fixed collapse separate show hide once always From cf6502acb28a7a2f89fd2dbe80777ba3dc4f8e06 Mon Sep 17 00:00:00 2001 From: JulesWang Date: Mon, 14 Mar 2016 14:27:18 +0800 Subject: [PATCH 088/112] fix #61 --- syntax/css.vim | 38 ++++++++++++++------------------------ test.css | 31 ++++++++++++++++--------------- 2 files changed, 30 insertions(+), 39 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 2a3d48d..07475aa 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -68,21 +68,16 @@ catch /^.*/ syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" endtry -" digits -syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators -syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|vh\|vw\|vmin\|vmax\)\>" contains=cssUnitDecorators -syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators -syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators -syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators - +" digits and units +syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=%\=" contains=cssUnitDecorators +syn match cssValue contained transparent "[-+]\=\d\+\(\.\d*\)\=\([a-z]\+\)\=\>" contains=cssUnitDecorators,cssValueNumber syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained " @media syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl syn keyword cssMediaKeyword only not and contained -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 +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 syn match cssMediaComma "," skipwhite skipnl contained " Reference: http://www.w3.org/TR/css3-mediaqueries/ @@ -97,7 +92,7 @@ syn keyword cssMediaAttr contained portrait landscape progressive interlace " http://www.w3.org/TR/css3-page/ syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl -syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks +syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl syn keyword cssPageProp contained content size " http://www.w3.org/TR/CSS2/page.html#break-inside @@ -107,7 +102,7 @@ syn keyword cssPageProp contained orphans widows " http://www.w3.org/TR/css3-animations/#keyframes syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector -syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition +syn match cssKeyFrameSelector /\([-+]\=\d\+\(\.\d*\)\=%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition " @import syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType @@ -117,7 +112,7 @@ syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssSt " @font-face " http://www.w3.org/TR/css3-fonts/#at-font-face-rule syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl -syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise +syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise syn match cssFontDescriptorProp contained "\" syn keyword cssFontDescriptorProp contained src @@ -186,10 +181,10 @@ syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold syn match cssBraceError "}" syn match cssAttrComma "," @@ -515,11 +510,11 @@ syn match cssHacks contained /\(_\|*\)/ " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise " Hack for transition " 'transition' has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise if main_syntax == "css" @@ -614,12 +609,7 @@ if version >= 508 || !exists("did_css_syn_inits") HiLink cssPseudoClassId PreProc HiLink cssPseudoClassLang Constant - HiLink cssValueLength Number - HiLink cssValueInteger Number HiLink cssValueNumber Number - HiLink cssValueAngle Number - HiLink cssValueTime Number - HiLink cssValueFrequency Number HiLink cssFunction Constant HiLink cssURL String HiLink cssFunctionName Function diff --git a/test.css b/test.css index 626341b..6e55e09 100644 --- a/test.css +++ b/test.css @@ -51,7 +51,7 @@ screen and (min-width: 20em) {} /* @keyframes tests */ .div { - animation-name: diagonal-slide; + animation-name: custom-name-not-highlighted; animation-duration: 5s; animation-iteration-count: 10; animation-fill-mode: 10; @@ -60,7 +60,7 @@ screen and (min-width: 20em) {} animation-delay:10; } -@-webkit-keyframes diagonal-slide { +@-webkit-keyframes custom-name-not-highlighted { from { left: 0; top: 0; @@ -88,7 +88,7 @@ screen and (min-width: 20em) {} animation-timing-function: ease-out; } - 75% { + 75.75% { top: 75px; animation-timing-function: ease-in; } @@ -150,13 +150,11 @@ and (max-device-width:1024px) } } -/* issue 39 */ -.breadcrumb:before { +#issue39:before { content: "\\"; } -/* issue 40 */ -#example1 { +#issue40 { column-width: 1px; column-span: inherit; @@ -176,8 +174,7 @@ and (max-device-width:1024px) page-break-inside: avoid; } -/* issue 41 */ -#example2 { +#issue41 { /* with a test comment */ background-repeat: repeat; background-repeat: repeat-x; @@ -185,8 +182,7 @@ and (max-device-width:1024px) } -/* issue 42 */ -.issue42 { +#issue42 { background-image: url('{!URLFOR($Resource.images)}/background.png'); background-image: url('{!URLFOR($Resource.images)}/background.png'), url('{!URLFOR($Resource.images)}/background.png') } @@ -205,22 +201,27 @@ and (max-device-width:1024px) font-size: normal; } -.issue54 { +#issue54 { pointer-events: painted; pointer-events: visibleFill; } -.issue56 { +#issue56 { flex-direction: row-reverse; flex-flow: row nowrap; align-self: flex-start; justify-content: space-between; } -.issue57 { +#issue57 { color: rebeccapurple; } -.issue59 { +#issue59 { display: flex; } + +#issue61 { + height: +10.10px; + height: -1000%; +} From ff1b0a23fe214954b5e9314ca0952d45c3ab447c Mon Sep 17 00:00:00 2001 From: JulesWang Date: Mon, 14 Mar 2016 14:44:12 +0800 Subject: [PATCH 089/112] minor --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 07475aa..516aa82 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -485,7 +485,7 @@ syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" " Misc highlight groups -syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained +syntax match cssUnitDecorators /\(#\|-\|+\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained syntax match cssNoise contained /\(:\|;\|\/\)/ " Comment From 49d7c44e73ade0829b0648d3e17e6850ae0335df Mon Sep 17 00:00:00 2001 From: JulesWang Date: Mon, 14 Mar 2016 15:08:29 +0800 Subject: [PATCH 090/112] minor --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 516aa82..11b5023 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -485,7 +485,7 @@ syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" " Misc highlight groups -syntax match cssUnitDecorators /\(#\|-\|+\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained +syntax match cssUnitDecorators /\(#\|-\|+\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained syntax match cssNoise contained /\(:\|;\|\/\)/ " Comment From de49e980f069f64575ecae0aaf1db491d6335615 Mon Sep 17 00:00:00 2001 From: juleswang Date: Fri, 9 Jun 2017 11:45:46 +0800 Subject: [PATCH 091/112] Create README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d5a8792..8c2b421 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +# This repo is Deprecated +# Pls go to https://github.com/vim/vim/blob/master/runtime/syntax/css.vim + Vim CSS Syntax File ------------ From e12ce858952bedb119330e4af3b47354d984bf52 Mon Sep 17 00:00:00 2001 From: juleswang Date: Tue, 27 Feb 2018 15:58:51 +0800 Subject: [PATCH 092/112] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 8c2b421..d5a8792 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -# This repo is Deprecated -# Pls go to https://github.com/vim/vim/blob/master/runtime/syntax/css.vim - Vim CSS Syntax File ------------ From 8c69cb1b088e5e74a7574009c65c479063987eba Mon Sep 17 00:00:00 2001 From: juleswang Date: Tue, 27 Feb 2018 16:48:54 +0800 Subject: [PATCH 093/112] bugfix for issues in Vim github --- syntax/css.vim | 423 +++++++++++++++++++++++-------------------------- test.css | 43 ++++- 2 files changed, 236 insertions(+), 230 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 11b5023..d0ca2f7 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -4,16 +4,14 @@ " Claudio Fleiner (Maintainer) " Yeti (Add full CSS2, HTML4 support) " Nikolai Weibull (Add CSS2 support) -" Maintainer: Jules Wang " URL: https://github.com/JulesWang/css.vim -" Last Change: 2015 Aug.25 +" Maintainer: Jules Wang +" Last Change: 2018 Feb. 27 +" cssClassName updated by Ryuichi Hayashida Jan 2016 -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded +" quit when a syntax file was already loaded if !exists("main_syntax") - if version < 600 - syntax clear - elseif exists("b:current_syntax") + if exists("b:current_syntax") finish endif let main_syntax = 'css' @@ -59,7 +57,7 @@ syn match cssSelectorOp2 "[~|^$*]\?=" contained syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ " .class and #id -syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot +syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot syn match cssClassNameDot contained '\.' try @@ -68,71 +66,14 @@ catch /^.*/ syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" endtry -" digits and units -syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=%\=" contains=cssUnitDecorators -syn match cssValue contained transparent "[-+]\=\d\+\(\.\d*\)\=\([a-z]\+\)\=\>" contains=cssUnitDecorators,cssValueNumber - -syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained -" @media -syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock -syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl -syn keyword cssMediaKeyword only not and contained -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 -syn match cssMediaComma "," skipwhite skipnl contained - -" Reference: http://www.w3.org/TR/css3-mediaqueries/ -syn keyword cssMediaProp contained width height orientation scan grid -syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/ -syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ -syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ -syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ -syn keyword cssMediaAttr contained portrait landscape progressive interlace - -" @page -" http://www.w3.org/TR/css3-page/ -syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl -syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl -syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks -syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl -syn keyword cssPageProp contained content size -" http://www.w3.org/TR/CSS2/page.html#break-inside -syn keyword cssPageProp contained orphans widows - -" @keyframe -" http://www.w3.org/TR/css3-animations/#keyframes -syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent -syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector -syn match cssKeyFrameSelector /\([-+]\=\d\+\(\.\d*\)\=%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition - -" @import -syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType -syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword -syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword - -" @font-face -" http://www.w3.org/TR/css3-fonts/#at-font-face-rule -syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl -syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise - -syn match cssFontDescriptorProp contained "\" -syn keyword cssFontDescriptorProp contained src -syn match cssFontDescriptorProp contained "\" -syn match cssFontDescriptorProp contained "\" -syn match cssFontDescriptorProp contained "\" - -" src functions -syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend -" font-sytle and font-weight attributes -syn keyword cssFontDescriptorAttr contained normal italic oblique bold -" font-stretch attributes -syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" -" unicode-range attributes -syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" -syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" -" font-feature-settings attributes -syn keyword cssFontDescriptorAttr contained on off - - +" digits +syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators +syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators +syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators +syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators " The 16 basic color names syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow @@ -180,11 +121,11 @@ syn match cssColor contained "\" syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators -syn region cssURL contained matchgroup=cssFunctionName start="\" syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn keyword cssFontAttr contained larger smaller syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" +syn match cssFontAttr contained "\" " font-family attributes syn match cssFontAttr contained "\<\(sans-\)\=serif\>" syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Verdana Webdings Wingdings York Zapf @@ -329,7 +270,12 @@ syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>" -syn match cssGridProp contained "\" +" https://www.w3.org/TR/css-grid-1/ +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" syn match cssHyerlinkProp contained "\" @@ -343,12 +289,12 @@ syn keyword cssListAttr contained inside outside syn keyword cssPositioningProp contained bottom clear clip display float left syn keyword cssPositioningProp contained position right top visibility syn match cssPositioningProp contained "\" -syn keyword cssPositioningAttr contained block compact +syn keyword cssPositioningAttr contained block compact grid syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained left right both syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" -syn keyword cssPositioningAttr contained static relative absolute fixed +syn match cssPositioningAttr contained "\" +syn keyword cssPositioningAttr contained static relative absolute fixed subgrid syn keyword cssPrintAttr contained landscape portrait crop cross always @@ -427,17 +373,16 @@ syn match cssUIProp contained "\" syn keyword cssUIAttr contained pixellated syn match cssUIAttr contained "\" -" Already highlighted Props: font content "------------------------------------------------ " Webkit/iOS specific attributes -syn match cssUIAttr contained '\(preserve-3d\)' +syn match cssUIAttr contained '\' " IE specific attributes -syn match cssIEUIAttr contained '\(bicubic\)' +syn match cssIEUIAttr contained '\' " Webkit/iOS specific properties -syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)' +syn match cssUIProp contained '\' " IE specific properties -syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)' +syn match cssIEUIProp contained '\' " Webkit/Firebox specific properties/attributes syn keyword cssUIProp contained appearance @@ -462,11 +407,25 @@ syn keyword cssAuralAttr contained male female child code digits continuous " mobile text syn match cssMobileTextProp contained "\" - +syn keyword cssMediaProp contained width height orientation scan grid +syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ +syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ +syn keyword cssMediaAttr contained portrait landscape progressive interlace +syn match cssKeyFrameProp /\d*%\|from\|to/ contained nextgroup=cssDefinition +syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition +syn keyword cssPageProp contained content size +syn keyword cssPageProp contained orphans widows +syn keyword cssFontDescriptorProp contained src +syn match cssFontDescriptorProp contained "\" +" unicode-range attributes +syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" +syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold syn match cssBraceError "}" syn match cssAttrComma "," @@ -498,7 +457,7 @@ syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEsc syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ " Vendor Prefix -syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)" +syn match cssVendor contained "-\(webkit\|moz\|o\|ms\)-" " Various CSS Hack characters " In earlier versions of IE (6 and 7), one can prefix property names @@ -510,11 +469,39 @@ syn match cssHacks contained /\(_\|*\)/ " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise " Hack for transition " 'transition' has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise + +syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ contained + +syn keyword cssAtRuleLogical only not and contained + +" @media +" Reference: http://www.w3.org/TR/css3-mediaqueries/ +syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment nextgroup=cssDefinition +syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained + +" @page +" http://www.w3.org/TR/css3-page/ +syn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition +syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl +" @keyframe +" http://www.w3.org/TR/css3-animations/#keyframes +syn region cssAtRule start=/@\(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition + +syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType +syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword +syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword + +" @font-face +" http://www.w3.org/TR/css3-fonts/#at-font-face-rule +syn match cssAtRule "@font-face\>" nextgroup=cssFontDescriptorBlock +" @supports +" https://www.w3.org/TR/css3-conditional/#at-supports +syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition if main_syntax == "css" @@ -522,136 +509,126 @@ if main_syntax == "css" endif " Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_css_syn_inits") - if version < 508 - let did_css_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - - HiLink cssComment Comment - HiLink cssVendor Comment - HiLink cssHacks Comment - HiLink cssTagName Statement - HiLink cssDeprecated Error - HiLink cssSelectorOp Special - HiLink cssSelectorOp2 Special - HiLink cssAttrComma Special - - HiLink cssAnimationProp cssProp - HiLink cssAuralProp cssProp - HiLink cssBackgroundProp cssProp - HiLink cssBorderProp cssProp - HiLink cssBoxProp cssProp - HiLink cssColorProp cssProp - HiLink cssContentForPagedMediaProp cssProp - HiLink cssDimensionProp cssProp - HiLink cssFlexibleBoxProp cssProp - HiLink cssFontProp cssProp - HiLink cssGeneratedContentProp cssProp - HiLink cssGridProp cssProp - HiLink cssHyerlinkProp cssProp - HiLink cssIEUIProp cssProp - HiLink cssInteractProp cssProp - HiLink cssLineboxProp cssProp - HiLink cssListProp cssProp - HiLink cssMarqueeProp cssProp - HiLink cssMobileTextProp cssProp - HiLink cssMultiColumnProp cssProp - HiLink cssPagedMediaProp cssProp - HiLink cssPositioningProp cssProp - HiLink cssPrintProp cssProp - HiLink cssRenderProp cssProp - HiLink cssRubyProp cssProp - HiLink cssSpeechProp cssProp - HiLink cssTableProp cssProp - HiLink cssTextProp cssProp - HiLink cssTransformProp cssProp - HiLink cssTransitionProp cssProp - HiLink cssUIProp cssProp - - HiLink cssAnimationAttr cssAttr - HiLink cssAuralAttr cssAttr - HiLink cssBackgroundAttr cssAttr - HiLink cssBorderAttr cssAttr - HiLink cssBoxAttr cssAttr - HiLink cssContentForPagedMediaAttr cssAttr - HiLink cssCommonAttr cssAttr - HiLink cssDimensionAttr cssAttr - HiLink cssFlexibleBoxAttr cssAttr - HiLink cssFontAttr cssAttr - HiLink cssGeneratedContentAttr cssAttr - HiLink cssGridAttr cssAttr - HiLink cssHyerlinkAttr cssAttr - HiLink cssIEUIAttr cssAttr - HiLink cssInteractAttr cssAttr - HiLink cssLineboxAttr cssAttr - HiLink cssListAttr cssAttr - HiLink cssMarginAttr cssAttr - HiLink cssMarqueeAttr cssAttr - HiLink cssMultiColumnAttr cssAttr - HiLink cssPaddingAttr cssAttr - HiLink cssPagedMediaAttr cssAttr - HiLink cssPositioningAttr cssAttr - HiLink cssGradientAttr cssAttr - HiLink cssPrintAttr cssAttr - HiLink cssRenderAttr cssAttr - HiLink cssRubyAttr cssAttr - HiLink cssSpeechAttr cssAttr - HiLink cssTableAttr cssAttr - HiLink cssTextAttr cssAttr - HiLink cssTransformAttr cssAttr - HiLink cssTransitionAttr cssAttr - HiLink cssUIAttr cssAttr - - HiLink cssPseudoClassId PreProc - HiLink cssPseudoClassLang Constant - HiLink cssValueNumber Number - HiLink cssFunction Constant - HiLink cssURL String - HiLink cssFunctionName Function - HiLink cssFunctionComma Function - HiLink cssColor Constant - HiLink cssIdentifier Function - HiLink cssInclude Include - HiLink cssIncludeKeyword atKeyword - HiLink cssImportant Special - HiLink cssBraces Function - HiLink cssBraceError Error - HiLink cssError Error - HiLink cssUnicodeEscape Special - HiLink cssStringQQ String - HiLink cssStringQ String - HiLink cssAttributeSelector String - HiLink cssMedia atKeyword - HiLink cssMediaType Special - HiLink cssMediaComma Normal - HiLink cssMediaKeyword Statement - HiLink cssMediaProp cssProp - HiLink cssMediaAttr cssAttr - HiLink cssPage atKeyword - HiLink cssPagePseudo PreProc - HiLink cssPageMargin atKeyword - HiLink cssPageProp cssProp - HiLink cssKeyFrame atKeyword - HiLink cssKeyFrameSelector Constant - HiLink cssFontDescriptor Special - HiLink cssFontDescriptorFunction Constant - HiLink cssFontDescriptorProp cssProp - HiLink cssFontDescriptorAttr cssAttr - HiLink cssUnicodeRange Constant - HiLink cssClassName Function - HiLink cssClassNameDot Function - HiLink cssProp StorageClass - HiLink cssAttr Constant - HiLink cssUnitDecorators Number - HiLink cssNoise Noise - HiLink atKeyword PreProc - delcommand HiLink -endif +" Only when an item doesn't have highlighting yet + +hi def link cssComment Comment +hi def link cssVendor Comment +hi def link cssHacks Comment +hi def link cssTagName Statement +hi def link cssDeprecated Error +hi def link cssSelectorOp Special +hi def link cssSelectorOp2 Special +hi def link cssAttrComma Special + +hi def link cssAnimationProp cssProp +hi def link cssBackgroundProp cssProp +hi def link cssBorderProp cssProp +hi def link cssBoxProp cssProp +hi def link cssColorProp cssProp +hi def link cssContentForPagedMediaProp cssProp +hi def link cssDimensionProp cssProp +hi def link cssFlexibleBoxProp cssProp +hi def link cssFontProp cssProp +hi def link cssGeneratedContentProp cssProp +hi def link cssGridProp cssProp +hi def link cssHyerlinkProp cssProp +hi def link cssInteractProp cssProp +hi def link cssLineboxProp cssProp +hi def link cssListProp cssProp +hi def link cssMarqueeProp cssProp +hi def link cssMultiColumnProp cssProp +hi def link cssPagedMediaProp cssProp +hi def link cssPositioningProp cssProp +hi def link cssPrintProp cssProp +hi def link cssRubyProp cssProp +hi def link cssSpeechProp cssProp +hi def link cssTableProp cssProp +hi def link cssTextProp cssProp +hi def link cssTransformProp cssProp +hi def link cssTransitionProp cssProp +hi def link cssUIProp cssProp +hi def link cssIEUIProp cssProp +hi def link cssAuralProp cssProp +hi def link cssRenderProp cssProp +hi def link cssMobileTextProp cssProp + +hi def link cssAnimationAttr cssAttr +hi def link cssBackgroundAttr cssAttr +hi def link cssBorderAttr cssAttr +hi def link cssBoxAttr cssAttr +hi def link cssContentForPagedMediaAttr cssAttr +hi def link cssDimensionAttr cssAttr +hi def link cssFlexibleBoxAttr cssAttr +hi def link cssFontAttr cssAttr +hi def link cssGeneratedContentAttr cssAttr +hi def link cssGridAttr cssAttr +hi def link cssHyerlinkAttr cssAttr +hi def link cssInteractAttr cssAttr +hi def link cssLineboxAttr cssAttr +hi def link cssListAttr cssAttr +hi def link cssMarginAttr cssAttr +hi def link cssMarqueeAttr cssAttr +hi def link cssMultiColumnAttr cssAttr +hi def link cssPaddingAttr cssAttr +hi def link cssPagedMediaAttr cssAttr +hi def link cssPositioningAttr cssAttr +hi def link cssGradientAttr cssAttr +hi def link cssPrintAttr cssAttr +hi def link cssRubyAttr cssAttr +hi def link cssSpeechAttr cssAttr +hi def link cssTableAttr cssAttr +hi def link cssTextAttr cssAttr +hi def link cssTransformAttr cssAttr +hi def link cssTransitionAttr cssAttr +hi def link cssUIAttr cssAttr +hi def link cssIEUIAttr cssAttr +hi def link cssAuralAttr cssAttr +hi def link cssRenderAttr cssAttr +hi def link cssCommonAttr cssAttr + +hi def link cssPseudoClassId PreProc +hi def link cssPseudoClassLang Constant +hi def link cssValueLength Number +hi def link cssValueInteger Number +hi def link cssValueNumber Number +hi def link cssValueAngle Number +hi def link cssValueTime Number +hi def link cssValueFrequency Number +hi def link cssFunction Constant +hi def link cssURL String +hi def link cssFunctionName Function +hi def link cssFunctionComma Function +hi def link cssColor Constant +hi def link cssIdentifier Function +hi def link cssAtRule Include +hi def link cssAtKeyword PreProc +hi def link cssImportant Special +hi def link cssBraces Function +hi def link cssBraceError Error +hi def link cssError Error +hi def link cssUnicodeEscape Special +hi def link cssStringQQ String +hi def link cssStringQ String +hi def link cssAttributeSelector String +hi def link cssMediaType Special +hi def link cssMediaComma Normal +hi def link cssAtRuleLogical Statement +hi def link cssMediaProp cssProp +hi def link cssMediaAttr cssAttr +hi def link cssPagePseudo PreProc +hi def link cssPageMarginProp cssAtKeyword +hi def link cssPageProp cssProp +hi def link cssKeyFrameProp Constant +hi def link cssFontDescriptor Special +hi def link cssFontDescriptorProp cssProp +hi def link cssFontDescriptorAttr cssAttr +hi def link cssUnicodeRange Constant +hi def link cssClassName Function +hi def link cssClassNameDot Function +hi def link cssProp StorageClass +hi def link cssAttr Constant +hi def link cssUnitDecorators Number +hi def link cssNoise Noise let b:current_syntax = "css" diff --git a/test.css b/test.css index 6e55e09..8715b89 100644 --- a/test.css +++ b/test.css @@ -1,3 +1,34 @@ +@media print { + /* hide navigation controls when printing */ + #navigation { display: none} + @media (max-width: 12cm) { + /* keep notes in flow when printing to narrow pages */ + .note { float: none } + } +} + + +@supports (-webkit-perspective: 20px) and (not (perspective: 20px)) and (not (display: none)) { + /* CSS declarations for this condition */ +} + + +/* Media query */ +@media screen and (min-width: 900px) { + .article { + padding: 1rem 3rem; + } +} + +/* Nested media query */ +@supports (display: none) { + @media screen and (min-width: 900px) { + article { + display: none; + } + } +} + /* @media tests*/ @media screen { * { font-family: sans-serif } @@ -17,7 +48,9 @@ @media all {} @media {} + @import url(example.css) screen and (color), projection and (color); + @import "example.css" screen and (color), projection and (color); @media screen and (color), projection and (color) {} @@ -60,7 +93,7 @@ screen and (min-width: 20em) {} animation-delay:10; } -@-webkit-keyframes custom-name-not-highlighted { +@-webkit-keyframes tv-name-not-highlighted { from { left: 0; top: 0; @@ -88,7 +121,7 @@ screen and (min-width: 20em) {} animation-timing-function: ease-out; } - 75.75% { + 25.75%, 75% { top: 75px; animation-timing-function: ease-in; } @@ -181,15 +214,13 @@ and (max-device-width:1024px) background-repeat: repeat-y; } - #issue42 { background-image: url('{!URLFOR($Resource.images)}/background.png'); background-image: url('{!URLFOR($Resource.images)}/background.png'), url('{!URLFOR($Resource.images)}/background.png') } /* @font-face test */ -@font-face -{ +@font-face { /* with a test comment */ font-family: myFirstFont, serif; src: url(ideal-sans-serif.woff) format("woff"), @@ -197,8 +228,6 @@ and (max-device-width:1024px) src: local(STIXGeneral), url(/stixfonts/STIXGeneral.otf); unicode-range: U+000-49F, U+2000-27FF, U+2900-2BFF, U+1D400-1D7FF, U+4??; font-weight:bold; - /* negative example */ - font-size: normal; } #issue54 { From b9c366c381ca0338f2c9d382b8b43e15c03c8aef Mon Sep 17 00:00:00 2001 From: juleswang Date: Tue, 27 Feb 2018 17:19:05 +0800 Subject: [PATCH 094/112] support RGBA hex format --- syntax/css.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index d0ca2f7..ecdbc17 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -118,8 +118,9 @@ syn match cssImportant contained "!\s*important\>" syn match cssColor contained "\" syn match cssColor contained "\" syn match cssColor contained "\" -syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators -syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators +syn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators +syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators +syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma From ba8bbee5697f42a61ffab60d8b013c218d9ac03d Mon Sep 17 00:00:00 2001 From: juleswang Date: Mon, 5 Mar 2018 18:46:18 +0800 Subject: [PATCH 095/112] fix and close #65 --- syntax/css.vim | 10 +++++----- test.css | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index ecdbc17..1c603d7 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -69,7 +69,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators @@ -273,10 +273,10 @@ syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>" " https://www.w3.org/TR/css-grid-1/ syn match cssGridProp contained "\" -syn match cssGridProp contained "\" +syn match cssGridProp contained "\" syn match cssGridProp contained "\" syn match cssGridProp contained "\" -syn match cssGridProp contained "\" +syn match cssGridProp contained "\" syn match cssHyerlinkProp contained "\" @@ -408,13 +408,13 @@ syn keyword cssAuralAttr contained male female child code digits continuous " mobile text syn match cssMobileTextProp contained "\" -syn keyword cssMediaProp contained width height orientation scan grid +syn keyword cssMediaProp contained width height orientation scan syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ syn keyword cssMediaAttr contained portrait landscape progressive interlace -syn match cssKeyFrameProp /\d*%\|from\|to/ contained nextgroup=cssDefinition +syn match cssKeyFrameProp contained /\<\(from\|to\)\>/ nextgroup=cssDefinition syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition syn keyword cssPageProp contained content size syn keyword cssPageProp contained orphans widows diff --git a/test.css b/test.css index 8715b89..66cae3b 100644 --- a/test.css +++ b/test.css @@ -254,3 +254,10 @@ and (max-device-width:1024px) height: +10.10px; height: -1000%; } + +#issue65 { + grid-template: auto 1fr; + grid-template-rows: auto 1fr; + grid-template-areas: auto 1fr; + grid-auto-rows: auto 1fr; +} From 768131774bfb8375fbb03510e2892d72e27777d2 Mon Sep 17 00:00:00 2001 From: Ash Searle Date: Thu, 15 Nov 2018 11:37:46 +0000 Subject: [PATCH 096/112] Updates for Cascade Level 4 and Text Level 3 --- syntax/css.vim | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1c603d7..f413bf5 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -193,6 +193,9 @@ syn match cssBoxProp contained "\" syn keyword cssBoxAttr contained visible hidden scroll auto syn match cssBoxAttr contained "\" +syn keyword cssCascadeProp contained all +syn keyword cssCascadeAttr contained initial unset revert + syn keyword cssColorProp contained opacity syn match cssColorProp contained "\" syn match cssColorProp contained "\" @@ -303,12 +306,13 @@ syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collaps syn keyword cssTableAttr contained fixed collapse separate show hide once always -syn keyword cssTextProp contained color direction +syn keyword cssTextProp contained color direction hyphens syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" syn match cssTextProp contained "\" -syn match cssTextProp contained "\" +syn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>" syn match cssTextProp contained "\" syn match cssTextProp contained "\" +syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextAttr contained "\" syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>" @@ -316,7 +320,7 @@ syn keyword cssTextAttr contained ltr rtl embed nowrap syn keyword cssTextAttr contained underline overline blink sub super middle syn keyword cssTextAttr contained capitalize uppercase lowercase syn keyword cssTextAttr contained justify baseline sub super -syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed +syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision syn match cssTextAttr contained "\" syn match cssTextAttr contained "\<\(allow\|force\)-end\>" syn keyword cssTextAttr contained start end adjacent @@ -325,7 +329,7 @@ syn keyword cssTextAttr contained distribute kashida first last syn keyword cssTextAttr contained clip ellipsis unrestricted suppress syn match cssTextAttr contained "\" syn match cssTextAttr contained "\" -syn keyword cssTextAttr contained hyphenate +syn keyword cssTextAttr contained manual syn match cssTextAttr contained "\" syn match cssTransformProp contained "\" @@ -525,6 +529,7 @@ hi def link cssAnimationProp cssProp hi def link cssBackgroundProp cssProp hi def link cssBorderProp cssProp hi def link cssBoxProp cssProp +hi def link cssCascadeProp cssProp hi def link cssColorProp cssProp hi def link cssContentForPagedMediaProp cssProp hi def link cssDimensionProp cssProp @@ -585,6 +590,7 @@ hi def link cssUIAttr cssAttr hi def link cssIEUIAttr cssAttr hi def link cssAuralAttr cssAttr hi def link cssRenderAttr cssAttr +hi def link cssCascadeAttr cssAttr hi def link cssCommonAttr cssAttr hi def link cssPseudoClassId PreProc From 18fb6aacb13785e275e5260d774853d936945c15 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Mon, 19 Nov 2018 14:57:41 -0500 Subject: [PATCH 097/112] Recognize percentages as cssKeyFrameValue Closes #71 --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1c603d7..206a87b 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -414,7 +414,7 @@ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ syn keyword cssMediaAttr contained portrait landscape progressive interlace -syn match cssKeyFrameProp contained /\<\(from\|to\)\>/ nextgroup=cssDefinition +syn match cssKeyFrameProp contained /\(\d\+%\|\(\\)\)/ nextgroup=cssDefinition syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition syn keyword cssPageProp contained content size syn keyword cssPageProp contained orphans widows From 13306d6761b5c082b0695d643c077842f1437f1d Mon Sep 17 00:00:00 2001 From: juleswang Date: Tue, 20 Nov 2018 10:36:31 +0800 Subject: [PATCH 098/112] fix #69 --- syntax/css.vim | 9 +++------ test.css | 8 ++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index f413bf5..fae0db6 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,8 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " URL: https://github.com/JulesWang/css.vim " Maintainer: Jules Wang -" Last Change: 2018 Feb. 27 -" cssClassName updated by Ryuichi Hayashida Jan 2016 +" Last Change: 2018 Nov. 20 " quit when a syntax file was already loaded if !exists("main_syntax") @@ -474,7 +473,8 @@ syn match cssHacks contained /\(_\|*\)/ " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them -syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +" cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69 +syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise " Hack for transition " 'transition' has Props after ':'. @@ -501,9 +501,6 @@ syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStri syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword -" @font-face -" http://www.w3.org/TR/css3-fonts/#at-font-face-rule -syn match cssAtRule "@font-face\>" nextgroup=cssFontDescriptorBlock " @supports " https://www.w3.org/TR/css3-conditional/#at-supports syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition diff --git a/test.css b/test.css index 66cae3b..c5d2b24 100644 --- a/test.css +++ b/test.css @@ -261,3 +261,11 @@ and (max-device-width:1024px) grid-template-areas: auto 1fr; grid-auto-rows: auto 1fr; } + +@media all and (max-width: 250px) { + #issue69::after { + display: unset ; + position: absolute; + transition: width 2s, height 4s; + } +} From d747fee9c8c5f05cbace71bb6d74d09e37eb39ff Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Wed, 21 Nov 2018 12:59:24 -0500 Subject: [PATCH 099/112] Allow decimals in percentage-based cssKeyFrameProp --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 01b9002..1ac4b78 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -417,7 +417,7 @@ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ syn keyword cssMediaAttr contained portrait landscape progressive interlace -syn match cssKeyFrameProp contained /\(\d\+%\|\(\\)\)/ nextgroup=cssDefinition +syn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\\)\)/ nextgroup=cssDefinition syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition syn keyword cssPageProp contained content size syn keyword cssPageProp contained orphans widows From 31b402e62e3ccfda46fb0d438517ebce6198d84b Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Tue, 23 Jul 2019 13:47:09 -0400 Subject: [PATCH 100/112] Add max-/min-/fit-content values --- syntax/css.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/syntax/css.vim b/syntax/css.vim index 1ac4b78..65f6f8c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -132,6 +132,7 @@ syn match cssFunctionComma contained "," " Common Prop and Attr syn keyword cssCommonAttr contained auto none inherit all default normal syn keyword cssCommonAttr contained top bottom center stretch hidden visible +syn match cssCommonAttr contained "\(max-\|min-\|fit-\)content" "------------------------------------------------ " CSS Animations " http://www.w3.org/TR/css3-animations/ From 9dbc8f6805ce1578462f5caf83a09d5864703d7c Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Tue, 23 Jul 2019 14:11:48 -0400 Subject: [PATCH 101/112] Add flow and flow-root to cssPositioningAttr --- syntax/css.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/syntax/css.vim b/syntax/css.vim index 1ac4b78..869dae0 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -297,6 +297,7 @@ syn match cssPositioningAttr contained "\" syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed subgrid syn keyword cssPrintAttr contained landscape portrait crop cross always From 35d1a48d4d9d5b04de2c5cd2646ee61ea4fcf8a9 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Tue, 23 Jul 2019 14:21:50 -0400 Subject: [PATCH 102/112] Add word boundary markers to match string --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 65f6f8c..c8d5f48 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -132,7 +132,7 @@ syn match cssFunctionComma contained "," " Common Prop and Attr syn keyword cssCommonAttr contained auto none inherit all default normal syn keyword cssCommonAttr contained top bottom center stretch hidden visible -syn match cssCommonAttr contained "\(max-\|min-\|fit-\)content" +syn match cssCommonAttr contained "\<\(max-\|min-\|fit-\)content\>" "------------------------------------------------ " CSS Animations " http://www.w3.org/TR/css3-animations/ From ac67ffc09cbf129752d159f6690431258b4c893f Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Tue, 23 Jul 2019 15:47:59 -0400 Subject: [PATCH 103/112] Skip closing parenthesis if inside string of pseudo-selector --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1ac4b78..0bc1af5 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -440,7 +440,7 @@ syn keyword cssPseudoClassId contained link visited active hover before after le syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid syn match cssPseudoClassId contained "\" syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>" -syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" +syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ " ------------------------------------ " Vendor specific properties syn match cssPseudoClassId contained "\" From e058ffcefc332ee5a4b213e5350fe636cdce5eaf Mon Sep 17 00:00:00 2001 From: juleswang Date: Wed, 24 Jul 2019 15:06:41 +0800 Subject: [PATCH 104/112] fix @font-face and add test case for issue53 --- syntax/css.vim | 2 +- test.css | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 0bc1af5..1e5ee8c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -480,7 +480,7 @@ syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cs " 'transition' has Props after ':'. syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise -syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ contained +syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ syn keyword cssAtRuleLogical only not and contained diff --git a/test.css b/test.css index c5d2b24..e6d10a0 100644 --- a/test.css +++ b/test.css @@ -269,3 +269,6 @@ and (max-device-width:1024px) transition: width 2s, height 4s; } } + +#issue53:not([foo=")"]) { +} From 36303ceaadcc0a7c6bc7c0013b952354d08ae002 Mon Sep 17 00:00:00 2001 From: juleswang Date: Thu, 25 Jul 2019 11:58:57 +0800 Subject: [PATCH 105/112] cssVarible, var(), calc() for #73 --- syntax/css.vim | 5 ++++- test.css | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 1e5ee8c..0c3c0d8 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -113,6 +113,7 @@ syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFac syn case ignore syn match cssImportant contained "!\s*important\>" +syn match cssVarible contained "--[a-zA-Z0-9-_]*" syn match cssColor contained "\" syn match cssColor contained "\" @@ -122,6 +123,7 @@ syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline +syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssVarible,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma @@ -429,7 +431,7 @@ syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssVarible,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold syn match cssBraceError "}" syn match cssAttrComma "," @@ -607,6 +609,7 @@ hi def link cssIdentifier Function hi def link cssAtRule Include hi def link cssAtKeyword PreProc hi def link cssImportant Special +hi def link cssVarible Special hi def link cssBraces Function hi def link cssBraceError Error hi def link cssError Error diff --git a/test.css b/test.css index e6d10a0..5ece379 100644 --- a/test.css +++ b/test.css @@ -272,3 +272,21 @@ and (max-device-width:1024px) #issue53:not([foo=")"]) { } + +/* issue73 */ +:root { + --font-stack: 100px; + --pad: 10px; + --small-height: 100px; + --columns: 4; + --margins: calc(24px / var(--columns)); + --primary-color: red; + --logo-text: var(--primary-color); +} + +#issue73 { + height: var(--small-height); + font-family: var(--font-stack, "Roboto", "Helvetica"); + padding: var(--pad, 10px 15px 20px); + color: var(--foo, #7F583F); +} From 48f32072a5226b966ae81df01d2da660e5416238 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Thu, 25 Jul 2019 09:03:26 -0400 Subject: [PATCH 106/112] Change 'cssVarible' to 'cssCustomProp' --- syntax/css.vim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/syntax/css.vim b/syntax/css.vim index 0c3c0d8..df13d87 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -113,7 +113,7 @@ syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFac syn case ignore syn match cssImportant contained "!\s*important\>" -syn match cssVarible contained "--[a-zA-Z0-9-_]*" +syn match cssCustomProp contained "--[a-zA-Z0-9-_]*" syn match cssColor contained "\" syn match cssColor contained "\" @@ -123,7 +123,7 @@ syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline -syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssVarible,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline +syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma @@ -431,7 +431,7 @@ syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" syn match cssBraces contained "[{}]" syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssVarible,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold syn match cssBraceError "}" syn match cssAttrComma "," @@ -609,7 +609,7 @@ hi def link cssIdentifier Function hi def link cssAtRule Include hi def link cssAtKeyword PreProc hi def link cssImportant Special -hi def link cssVarible Special +hi def link cssCustomProp Special hi def link cssBraces Function hi def link cssBraceError Error hi def link cssError Error From b348475d351385c5935fe0cdc05da6dbeb464703 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Thu, 25 Jul 2019 09:04:12 -0400 Subject: [PATCH 107/112] Add cssCustomProp and cssFunctionName to contains of cssAtRule --- syntax/css.vim | 2 +- test.css | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index df13d87..6bef752 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -488,7 +488,7 @@ syn keyword cssAtRuleLogical only not and contained " @media " Reference: http://www.w3.org/TR/css3-mediaqueries/ -syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment nextgroup=cssDefinition +syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained " @page diff --git a/test.css b/test.css index 5ece379..dcba24a 100644 --- a/test.css +++ b/test.css @@ -273,6 +273,9 @@ and (max-device-width:1024px) #issue53:not([foo=")"]) { } +@media all and (min-width: var(--mobile)) { +} + /* issue73 */ :root { --font-stack: 100px; From fab4ae2d94c53319b3cc61683a2d40fb47924be2 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Fri, 26 Jul 2019 12:32:40 -0400 Subject: [PATCH 108/112] Add viewport cssUnitDecorators to cssValueLength --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 7881c20..731a37c 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -68,7 +68,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators From 953e13066f8bdac0848f5b94e864cff4311784b1 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Fri, 26 Jul 2019 12:38:09 -0400 Subject: [PATCH 109/112] Fix syntax error --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 731a37c..4861e32 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -68,7 +68,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators From 296d5ad13f3f5de5539ed9beaa4eb721b4068936 Mon Sep 17 00:00:00 2001 From: juleswang Date: Mon, 26 Aug 2019 13:30:10 +0800 Subject: [PATCH 110/112] update: last change --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 4861e32..73bbd8d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@ " Nikolai Weibull (Add CSS2 support) " URL: https://github.com/JulesWang/css.vim " Maintainer: Jules Wang -" Last Change: 2018 Nov. 20 +" Last Change: 2019 Jul. 29 " quit when a syntax file was already loaded if !exists("main_syntax") From 43cfa4d3afca998bd317ed484f497a4b83d9c8ce Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Mon, 27 Jul 2020 16:27:43 -0400 Subject: [PATCH 111/112] Add 'ch' unit --- syntax/css.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/css.vim b/syntax/css.vim index 73bbd8d..c9edf7b 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -68,7 +68,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators From b9a0f1c4419d79532ba2966da8a65a0cf44aadac Mon Sep 17 00:00:00 2001 From: juleswang Date: Wed, 5 Aug 2020 09:43:14 +0800 Subject: [PATCH 112/112] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d5a8792..3bd38cc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +[deprecated] 301 jump to https://github.com/jsit/css.vim + + Vim CSS Syntax File ------------