mirror of
https://github.com/hail2u/vim-css3-syntax.git
synced 2025-12-06 18:54:25 +08:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d8fcec92e3 | ||
|
|
092f7c3c67 | ||
|
|
ff05f0f5eb | ||
|
|
f815dbb39d | ||
|
|
318b4f0a7a | ||
|
|
b095d6836f | ||
|
|
709783ff3c | ||
|
|
0ce18a4fd7 | ||
|
|
9f1b8dbb3f | ||
|
|
4162325b6c | ||
|
|
935b51f9b3 | ||
|
|
708f7afb01 | ||
|
|
7bfab47011 | ||
|
|
2d8e5a3711 | ||
|
|
8e6268701f |
@@ -3,7 +3,7 @@ syn match cssFontProp contained "\<grid-auto-\(columns\|rows\|flow\)\>"
|
||||
syn match cssFontProp contained "\<grid-\(row\|column\)\(-\(start\|end\)\)\=\>"
|
||||
syn match cssFontProp contained "\<grid-area\>"
|
||||
syn match cssFontProp contained "\<grid\(-\(column\|row\)\)\=-gap\>"
|
||||
syn keyword cssFontAttr contained grid subgrid dense span
|
||||
syn keyword cssFontAttr contained grid dense span
|
||||
syn match cssFontAttr contained "\<inline-grid\>"
|
||||
syn match cssFontAttr contained "\<auto-flow\>"
|
||||
syn match cssValueNumber contained "[01]\(.\d\+\)\=fr"
|
||||
|
||||
2
after/syntax/css/css-images-4.vim
Normal file
2
after/syntax/css/css-images-4.vim
Normal file
@@ -0,0 +1,2 @@
|
||||
syn match cssFontProp contained "\<image-resolution\>"
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(image\|element\|conic-gradient\)\s*(" end=")" oneline keepend
|
||||
5
after/syntax/css/css-logical-1.vim
Normal file
5
after/syntax/css/css-logical-1.vim
Normal file
@@ -0,0 +1,5 @@
|
||||
syn match cssFontProp contained "\<\(\(min\|max\)-\)\=\(block\|inline\)-size\>"
|
||||
syn match cssFontProp contained "\<\(margin\|inset\|padding\)\(-\(block\|inline\)\(-\(start\|end\)\)\=\)\=\>"
|
||||
syn match cssFontProp contained "\<border-\(block\|inline\)\(\(-\(start\|end\)\)\=\(-\(width\|style\|color\)\)\=\)\=\>"
|
||||
syn match cssFontProp contained "\<\(background\|border\)-image-transform\>"
|
||||
syn keyword cssFontAttr contained logical physical rotate
|
||||
@@ -1,7 +1,6 @@
|
||||
" TODO: create cssImagesProp group and cssImagesAttr group
|
||||
syn match cssFontProp contained "\<object-\(fit\|position\)\>"
|
||||
syn match cssFontProp contained "\<image-\(resolution\|orientation\)\>"
|
||||
syn match cssFontProp contained "\<image-orientation\>"
|
||||
syn keyword cssFontAttr contained contain cover snap
|
||||
syn match cssFontAttr contained "\<from-image\>"
|
||||
syn match cssFontAttr contained "\<scale-down\>"
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(image\|\(repeating-\)\=\(linear\|radial\)-gradient\)\s*(" end=")" oneline keepend
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(\(repeating-\)\=\(linear\|radial\)-gradient\)\s*(" end=")" oneline keepend
|
||||
|
||||
5
after/syntax/css/fill-stroke-3.vim
Normal file
5
after/syntax/css/fill-stroke-3.vim
Normal file
@@ -0,0 +1,5 @@
|
||||
syn match cssFontProp contained "\<\(fill\|stroke\)\(-\(break\|color\|image\|origin\|position\|size\|repeat\|opacity\)\)\=\>"
|
||||
syn match cssFontProp contained "\<fill-rule\>"
|
||||
syn match cssFontProp contained "\<stroke-\(width\|align\|line\(cap\|join\)\|miterlimit\|dash\(array\|offset\)\|dash-\(corner\|justify\)\)\>"
|
||||
syn keyword cssFontAttr contained butt arcs stupid compress dashes gaps
|
||||
syn match cssFontAttr contained "\<bounding-box\>"
|
||||
@@ -1 +1 @@
|
||||
syn keyword cssTagName picture rb rtc template
|
||||
syn keyword cssTagName picture rb rtc slot template
|
||||
|
||||
@@ -2,19 +2,16 @@ syn keyword cssTagName animate animateMotion animateTransform circle clipPath cu
|
||||
|
||||
syn keyword cssFontProp contained cx cy d r rx ry x y
|
||||
syn match cssFontProp contained "\<color-\(interpolation\|rendering\)\>"
|
||||
syn match cssFontProp contained "\<fill\(-\(opacity\|rule\)\)\=\>"
|
||||
syn match cssFontProp contained "\<image-rendering\>"
|
||||
syn match cssFontProp contained "\<marker-\(end\|mid\|start\)\>"
|
||||
syn match cssFontProp contained "\<pointer-events\>"
|
||||
syn match cssFontProp contained "\<shape-rendering\>"
|
||||
syn match cssFontProp contained "\<solid-\(color\|opacity\)\>"
|
||||
syn match cssFontProp contained "\<stop-\(color\|opacity\)\>"
|
||||
syn match cssFontProp contained "\<stroke\(-\(dash\(array\|offset\)\|line\(cap\|join\)\|miterlimit\|opacity\|width\)\)\=\>"
|
||||
syn match cssFontProp contained "\<text-anchor\>"
|
||||
syn match cssFontProp contained "\<vector-effect\>"
|
||||
|
||||
syn keyword cssFontAttr contained arcs butt crispEdges geometricPrecision optimizeQuality painted stroke viewport visibleFill visiblePainted visibleStroke
|
||||
syn match cssFontAttr contained "\<bounding-box\>"
|
||||
syn keyword cssFontAttr contained crispEdges geometricPrecision optimizeQuality painted stroke viewport visibleFill visiblePainted visibleStroke
|
||||
syn match cssFontAttr contained "\<context-\(fill\|stroke\)\>"
|
||||
syn match cssFontAttr contained "\<fixed-position\>"
|
||||
syn match cssFontAttr contained "\<miter\(-clip\)\=\>"
|
||||
|
||||
@@ -16,9 +16,11 @@ syn include @htmlCss syntax/css/css-fonts-3.vim
|
||||
syn include @htmlCss syntax/css/css-fonts-4.vim
|
||||
syn include @htmlCss syntax/css/css-gcpm-3.vim
|
||||
syn include @htmlCss syntax/css/css-grid-1.vim
|
||||
syn include @htmlCss syntax/css/css-images-4.vim
|
||||
syn include @htmlCss syntax/css/css-inline-3.vim
|
||||
syn include @htmlCss syntax/css/css-line-grid-1.vim
|
||||
syn include @htmlCss syntax/css/css-lists-3.vim
|
||||
syn include @htmlCss syntax/css/css-logical-1.vim
|
||||
syn include @htmlCss syntax/css/css-masking-1.vim
|
||||
syn include @htmlCss syntax/css/css-overflow-3.vim
|
||||
syn include @htmlCss syntax/css/css-page-floats-3.vim
|
||||
@@ -62,6 +64,7 @@ syn include @htmlCss syntax/css/css3-speech.vim
|
||||
syn include @htmlCss syntax/css/css3-transitions.vim
|
||||
syn include @htmlCss syntax/css/cssom-1.vim
|
||||
syn include @htmlCss syntax/css/cssom-view-1.vim
|
||||
syn include @htmlCss syntax/css/fill-stroke-3.vim
|
||||
syn include @htmlCss syntax/css/filter-effects-1.vim
|
||||
syn include @htmlCss syntax/css/geometry-1.vim
|
||||
syn include @htmlCss syntax/css/html5.vim
|
||||
|
||||
132
test/test.css
132
test/test.css
@@ -223,6 +223,37 @@
|
||||
wrap-through: maximum;
|
||||
}
|
||||
|
||||
.fill-stroke-3 {
|
||||
fill-rule: butt;
|
||||
fill-break: arcs;
|
||||
fill-color: stupid;
|
||||
fill-image: compress;
|
||||
fill-origin: dashes;
|
||||
fill-position: gaps;
|
||||
fill-size: bounding-box;
|
||||
fill-repeat: auto;
|
||||
fill: auto;
|
||||
fill-opacity: auto;
|
||||
stroke-width: auto;
|
||||
stroke-align: auto;
|
||||
stroke-linecap: auto;
|
||||
stroke-linejoin: auto;
|
||||
stroke-miterlimit: auto;
|
||||
stroke-break: auto;
|
||||
stroke-dasharray: auto;
|
||||
stroke-dashoffset: auto;
|
||||
stroke-dash-corner: auto;
|
||||
stroke-dash-justify: auto;
|
||||
stroke-color: auto;
|
||||
stroke-image: auto;
|
||||
stroke-origin: auto;
|
||||
stroke-position: auto;
|
||||
stroke-size: auto;
|
||||
stroke-repeat: auto;
|
||||
stroke: auto;
|
||||
stroke-opacity: auto;
|
||||
}
|
||||
|
||||
.filter-effects-1 {
|
||||
flood-color: sRGB;
|
||||
flood-opacity: linearRGB;
|
||||
@@ -320,8 +351,8 @@
|
||||
grid-auto-columns: 0.2fr;
|
||||
grid-auto-flow: dense;
|
||||
grid: auto-flow;
|
||||
grid-row-start: subgrid;
|
||||
grid-column-start: span;
|
||||
grid-row-start: span;
|
||||
grid-column-start: auto;
|
||||
grid-row-end: auto;
|
||||
grid-column-end: auto;
|
||||
grid-column: auto;
|
||||
@@ -332,19 +363,24 @@
|
||||
grid-gap: auto;
|
||||
}
|
||||
|
||||
.images {
|
||||
.images-3 {
|
||||
object-fit: contain;
|
||||
object-position: cover;
|
||||
image-resolution: snap;
|
||||
image-orientation: scale-down;
|
||||
image-orientation: snap;
|
||||
display: scale-down;
|
||||
display: from-image;
|
||||
display: image("sprite.svg#xywh=40,0,20,20");
|
||||
display: linear-gradient(to bottom, yellow, blue);
|
||||
display: radial-gradient(farthest-corner at 50% 50%, yellow, green);
|
||||
display: repeating-linear-gradient(to bottom, yellow, blue);
|
||||
display: repeating-radial-gradient(farthest-corner at 50% 50%, yellow, green);
|
||||
}
|
||||
|
||||
.images-4 {
|
||||
image-resolution: image("sprite.svg#xywh=40,0,20,20");
|
||||
display: element(#test);
|
||||
display: conic-gradient(at 25% 30%, white, black 60%);
|
||||
}
|
||||
|
||||
.inline-3 {
|
||||
dominant-baseline: mathematical;
|
||||
alignment-baseline: ideographic;
|
||||
@@ -366,6 +402,60 @@
|
||||
display: auto;
|
||||
}
|
||||
|
||||
.logical-1 {
|
||||
block-size: logical;
|
||||
inline-size: physical;
|
||||
min-block-size: rotate;
|
||||
min-inline-size: auto;
|
||||
max-block-size: auto;
|
||||
max-inline-size: auto;
|
||||
margin-block-start: auto;
|
||||
margin-block-end: auto;
|
||||
margin-inline-start: auto;
|
||||
margin-inline-end: auto;
|
||||
margin-block: auto;
|
||||
margin-inline: auto;
|
||||
inset-block-start: auto;
|
||||
inset-block-end: auto;
|
||||
inset-inline-start: auto;
|
||||
inset-inline-end: auto;
|
||||
inset-block: auto;
|
||||
inset-inline: auto;
|
||||
inset: auto;
|
||||
padding-block-start: auto;
|
||||
padding-block-end: auto;
|
||||
padding-inline-start: auto;
|
||||
padding-inline-end: auto;
|
||||
padding-block: auto;
|
||||
padding-inline: auto;
|
||||
border-block-start-width: auto;
|
||||
border-block-end-width: auto;
|
||||
border-inline-start-width: auto;
|
||||
border-inline-end-width: auto;
|
||||
border-block-width: auto;
|
||||
border-inline-width: auto;
|
||||
border-block-start-style: auto;
|
||||
border-block-end-style: auto;
|
||||
border-inline-start-style: auto;
|
||||
border-inline-end-style: auto;
|
||||
border-block-style: auto;
|
||||
border-inline-style: auto;
|
||||
border-block-start-color: auto;
|
||||
border-block-end-color: auto;
|
||||
border-inline-start-color: auto;
|
||||
border-inline-end-color: auto;
|
||||
border-block-color: auto;
|
||||
border-inline-color: auto;
|
||||
border-block-start: auto;
|
||||
border-block-end: auto;
|
||||
border-inline-start: auto;
|
||||
border-inline-end: auto;
|
||||
border-block: auto;
|
||||
border-inline: auto;
|
||||
background-image-transform: auto;
|
||||
border-image-transform: auto;
|
||||
}
|
||||
|
||||
.masking-1 {
|
||||
clip-path: fill-box;
|
||||
clip-rule: stroke-box;
|
||||
@@ -782,6 +872,7 @@
|
||||
picture,
|
||||
rb,
|
||||
rtc,
|
||||
slot,
|
||||
template {
|
||||
display: auto;
|
||||
}
|
||||
@@ -854,18 +945,15 @@ tspan,
|
||||
unknown,
|
||||
use,
|
||||
view {
|
||||
color-interpolation: arcs;
|
||||
color-rendering: butt;
|
||||
cx: crispEdges;
|
||||
cy: geometricPrecision;
|
||||
d: optimizeQuality;
|
||||
fill-opacity: painted;
|
||||
fill-rule: stroke;
|
||||
fill: viewport;
|
||||
color-interpolation: crispEdges;
|
||||
color-rendering: geometricPrecision;
|
||||
cx: optimizeQuality;
|
||||
cy: painted;
|
||||
d: visiblePainted;
|
||||
image-rendering: visibleFill;
|
||||
marker-end: visiblePainted;
|
||||
marker-mid: visibleStroke;
|
||||
marker-start: bounding-box;
|
||||
marker-end: stroke;
|
||||
marker-mid: viewport;
|
||||
marker-start: visibleStroke;
|
||||
pointer-events: context-fill;
|
||||
r: context-stroke;
|
||||
rx: fixed-position;
|
||||
@@ -875,15 +963,7 @@ view {
|
||||
solid-opacity: non-scaling-size;
|
||||
stop-color: non-rotation;
|
||||
stop-opacity: child(1);
|
||||
stroke-dasharray: icc-color(foo);
|
||||
stroke-dashoffset: auto;
|
||||
stroke-linecap: auto;
|
||||
stroke-linejoin: auto;
|
||||
stroke-miterlimit: auto;
|
||||
stroke-opacity: auto;
|
||||
stroke-width: auto;
|
||||
stroke: auto;
|
||||
text-anchor: auto;
|
||||
text-anchor: icc-color(foo);
|
||||
vector-effect: auto;
|
||||
x: auto;
|
||||
y: auto;
|
||||
|
||||
133
test/test.html
133
test/test.html
@@ -252,6 +252,38 @@
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.fill-stroke-3 {
|
||||
fill-rule: butt;
|
||||
fill-break: arcs;
|
||||
fill-color: stupid;
|
||||
fill-image: compress;
|
||||
fill-origin: dashes;
|
||||
fill-position: gaps;
|
||||
fill-size: bounding-box;
|
||||
fill-repeat: auto;
|
||||
fill: auto;
|
||||
fill-opacity: auto;
|
||||
stroke-width: auto;
|
||||
stroke-align: auto;
|
||||
stroke-linecap: auto;
|
||||
stroke-linejoin: auto;
|
||||
stroke-miterlimit: auto;
|
||||
stroke-break: auto;
|
||||
stroke-dasharray: auto;
|
||||
stroke-dashoffset: auto;
|
||||
stroke-dash-corner: auto;
|
||||
stroke-dash-justify: auto;
|
||||
stroke-color: auto;
|
||||
stroke-image: auto;
|
||||
stroke-origin: auto;
|
||||
stroke-position: auto;
|
||||
stroke-size: auto;
|
||||
stroke-repeat: auto;
|
||||
stroke: auto;
|
||||
stroke-opacity: auto;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.filter-effects-1 {
|
||||
flood-color: sRGB;
|
||||
flood-opacity: linearRGB;
|
||||
@@ -356,8 +388,8 @@
|
||||
grid-auto-columns: 0.2fr;
|
||||
grid-auto-flow: dense;
|
||||
grid: auto-flow;
|
||||
grid-row-start: subgrid;
|
||||
grid-column-start: span;
|
||||
grid-row-start: span;
|
||||
grid-column-start: auto;
|
||||
grid-row-end: auto;
|
||||
grid-column-end: auto;
|
||||
grid-column: auto;
|
||||
@@ -372,10 +404,9 @@
|
||||
.images {
|
||||
object-fit: contain;
|
||||
object-position: cover;
|
||||
image-resolution: snap;
|
||||
image-orientation: scale-down;
|
||||
image-orientation: snap;
|
||||
display: scale-down;
|
||||
display: from-image;
|
||||
display: image("sprite.svg#xywh=40,0,20,20");
|
||||
display: linear-gradient(to bottom, yellow, blue);
|
||||
display: radial-gradient(farthest-corner at 50% 50%, yellow, green);
|
||||
display: repeating-linear-gradient(to bottom, yellow, blue);
|
||||
@@ -383,6 +414,13 @@
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.images-4 {
|
||||
image-resolution: image("sprite.svg#xywh=40,0,20,20");
|
||||
display: element(#test);
|
||||
display: conic-gradient(at 25% 30%, white, black 60%);
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.inline-3 {
|
||||
dominant-baseline: mathematical;
|
||||
alignment-baseline: ideographic;
|
||||
@@ -430,6 +468,61 @@
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.logical-1 {
|
||||
block-size: logical;
|
||||
inline-size: physical;
|
||||
min-block-size: rotate;
|
||||
min-inline-size: auto;
|
||||
max-block-size: auto;
|
||||
max-inline-size: auto;
|
||||
margin-block-start: auto;
|
||||
margin-block-end: auto;
|
||||
margin-inline-start: auto;
|
||||
margin-inline-end: auto;
|
||||
margin-block: auto;
|
||||
margin-inline: auto;
|
||||
inset-block-start: auto;
|
||||
inset-block-end: auto;
|
||||
inset-inline-start: auto;
|
||||
inset-inline-end: auto;
|
||||
inset-block: auto;
|
||||
inset-inline: auto;
|
||||
inset: auto;
|
||||
padding-block-start: auto;
|
||||
padding-block-end: auto;
|
||||
padding-inline-start: auto;
|
||||
padding-inline-end: auto;
|
||||
padding-block: auto;
|
||||
padding-inline: auto;
|
||||
border-block-start-width: auto;
|
||||
border-block-end-width: auto;
|
||||
border-inline-start-width: auto;
|
||||
border-inline-end-width: auto;
|
||||
border-block-width: auto;
|
||||
border-inline-width: auto;
|
||||
border-block-start-style: auto;
|
||||
border-block-end-style: auto;
|
||||
border-inline-start-style: auto;
|
||||
border-inline-end-style: auto;
|
||||
border-block-style: auto;
|
||||
border-inline-style: auto;
|
||||
border-block-start-color: auto;
|
||||
border-block-end-color: auto;
|
||||
border-inline-start-color: auto;
|
||||
border-inline-end-color: auto;
|
||||
border-block-color: auto;
|
||||
border-inline-color: auto;
|
||||
border-block-start: auto;
|
||||
border-block-end: auto;
|
||||
border-inline-start: auto;
|
||||
border-inline-end: auto;
|
||||
border-block: auto;
|
||||
border-inline: auto;
|
||||
background-image-transform: auto;
|
||||
border-image-transform: auto;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.motion-1 {
|
||||
motion-path: path(M 100 100 L 300 100 L 200 300 z);
|
||||
motion-offset: auto;
|
||||
@@ -863,6 +956,7 @@
|
||||
picture,
|
||||
rb,
|
||||
rtc,
|
||||
slot,
|
||||
template {
|
||||
display: auto;
|
||||
}
|
||||
@@ -936,18 +1030,15 @@ tspan,
|
||||
unknown,
|
||||
use,
|
||||
view {
|
||||
color-interpolation: arcs;
|
||||
color-rendering: butt;
|
||||
cx: crispEdges;
|
||||
cy: geometricPrecision;
|
||||
d: optimizeQuality;
|
||||
fill-opacity: painted;
|
||||
fill-rule: stroke;
|
||||
fill: viewport;
|
||||
color-interpolation: crispEdges;
|
||||
color-rendering: geometricPrecision;
|
||||
cx: optimizeQuality;
|
||||
cy: painted;
|
||||
d: visiblePainted;
|
||||
image-rendering: visibleFill;
|
||||
marker-end: visiblePainted;
|
||||
marker-mid: visibleStroke;
|
||||
marker-start: bounding-box;
|
||||
marker-end: stroke;
|
||||
marker-mid: viewport;
|
||||
marker-start: visibleStroke;
|
||||
pointer-events: context-fill;
|
||||
r: context-stroke;
|
||||
rx: fixed-position;
|
||||
@@ -957,15 +1048,7 @@ view {
|
||||
solid-opacity: non-scaling-size;
|
||||
stop-color: non-rotation;
|
||||
stop-opacity: child(1);
|
||||
stroke-dasharray: icc-color(foo);
|
||||
stroke-dashoffset: auto;
|
||||
stroke-linecap: auto;
|
||||
stroke-linejoin: auto;
|
||||
stroke-miterlimit: auto;
|
||||
stroke-opacity: auto;
|
||||
stroke-width: auto;
|
||||
stroke: auto;
|
||||
text-anchor: auto;
|
||||
text-anchor: icc-color(foo);
|
||||
vector-effect: auto;
|
||||
x: auto;
|
||||
y: auto;
|
||||
|
||||
Reference in New Issue
Block a user