Compare commits

..

12 Commits
v0.5 ... v0.6

Author SHA1 Message Date
Kyo Nagashima
0d7f20cf35 add test 2012-08-02 06:09:20 +09:00
Kyo Nagashima
46fb64da7e remove duplicated value 2012-08-02 06:06:21 +09:00
Kyo Nagashima
b46de7dfc1 remove duplicated properties 2012-08-02 06:01:04 +09:00
Kyo Nagashima
fd878df2a4 fix regexp 2012-08-02 05:45:09 +09:00
Kyo Nagashima
19779d436d remove invalid value: IDENT 2012-08-02 05:44:35 +09:00
Kyo Nagashima
f17b100e61 remove duplicated values 2012-08-02 05:37:20 +09:00
Kyo Nagashima
e2cd668764 use cssFontAttr for temporary group 2012-08-02 05:17:30 +09:00
Kyo Nagashima
c9425ea99b fix regexp bug
`column-rule` is now highlight correctly.
2012-08-02 05:13:20 +09:00
Kyo Nagashima
f2780edc75 remove duplicate property 2012-08-02 05:08:42 +09:00
Kyo Nagashima
c04bea8399 follow CR-css3-images-20120417 2012-08-01 14:34:31 +09:00
Kyo Nagashima
c0eccee47c remove deprecated CSS Grid Positioning module 2012-08-01 14:20:02 +09:00
Kyo Nagashima
7bce4e3d5c fix typo: "lable" -> "label" 2012-08-01 14:05:51 +09:00
12 changed files with 506 additions and 17 deletions

View File

@@ -30,7 +30,6 @@ Create `~/.vim/after/syntax/html.vim` and write these line:
syn include @htmlCss syntax/css/css3-exclusions.vim
syn include @htmlCss syntax/css/css3-flexbox.vim
syn include @htmlCss syntax/css/css3-gcpm.vim
syn include @htmlCss syntax/css/css3-grid.vim
syn include @htmlCss syntax/css/css3-grid-layout.vim
syn include @htmlCss syntax/css/css3-hyperlinks.vim
syn include @htmlCss syntax/css/css3-images.vim
@@ -66,7 +65,6 @@ Create `~/.vim/after/syntax/scss.vim` and write these lines:
runtime! syntax/css/css3-exclusions.vim
runtime! syntax/css/css3-flexbox.vim
runtime! syntax/css/css3-gcpm.vim
runtime! syntax/css/css3-grid.vim
runtime! syntax/css/css3-grid-layout.vim
runtime! syntax/css/css3-hyperlinks.vim
runtime! syntax/css/css3-images.vim
@@ -108,6 +106,13 @@ These commands highlight vendor prefixed properties and functions instantly with
HISTORY
-------
### v0.6
* Add Test
* Remove deprecated CSS Grid Positioning Module
* Follow spec updates
* Some minor bug fixes
### v0.5
* Add CSS Regions Module Level 3 features

View File

@@ -1,6 +1,6 @@
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(target-\(counter\|counters\|text\)\|symbols\)\s*(" end=")" oneline keepend
syn keyword cssGeneratedContentProp contained bleed hyphens marks
syn match cssGeneratedContentProp contained "\<bookmark-\(lable\|level\|state\|target\)\>"
syn match cssGeneratedContentProp contained "\<bookmark-\(label\|level\|state\|target\)\>"
syn match cssGeneratedContentProp contained "\<float-offset\>"
syn match cssGeneratedContentProp contained "\<hyphenate-\(before\|character\|lines\|resource\)\>"
syn match cssGeneratedContentProp contained "\<image-resolution\>"

View File

@@ -1,3 +0,0 @@
" TODO: create cssGridProp group and cssValueGrid group
syn match cssFontProp contained "\<grid-\(columns\|rows\)\>"
syn match cssValueInteger contained "\d\+gr"

View File

@@ -2,5 +2,6 @@
syn match cssFontProp contained "\<object-\(fit\|position\)\>"
syn match cssFontProp contained "\<image-\(resolution\|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\|element\|\(repeating-\)\=\(linear\|radial\)-gradient\)\s*(" end=")" oneline keepend
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(image\|\(repeating-\)\=\(linear\|radial\)-gradient\)\s*(" end=")" oneline keepend

View File

@@ -1,5 +1,4 @@
" TODO: create cssMarqueeProp group and cssMarqueeAttr group
syn match cssFontProp contained "\<marquee-\(direction\|play-count\|speed\|style\)\>"
syn match cssFontProp contained "\<overflow-style\>"
syn keyword cssFontAttr contained forward reverse infinite slow fast slide alternate
syn match cssFontAttr contained "\<marquee-\(line\|block\)\>"

View File

@@ -1,5 +1,5 @@
" TODO: create cssMulticolProp group and cssMulticolAttr group
syn keyword cssFontProp contained columns
syn match cssFontProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\=\)\|span\|width\)\>"
syn match cssFontProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>"
syn keyword cssFontAttr contained page column balance
syn match cssFontAttr contained "\<avoid-\(page\|column\)\>"

View File

@@ -1,5 +1,5 @@
" TODO: create cssRubyProp group and cssRubyAttr group
syn match cssFontProp contained "\<ruby-\(align\|overhang\|position\|span\)"
syn keyword cssUIAttr contained start end
syn match cssUIAttr contained "\<distribute-\(letter\|space\)\>"
syn match cssUIAttr contained "\<line-edge\>"
syn keyword cssFontAttr contained start end
syn match cssFontAttr contained "\<distribute-\(letter\|space\)\>"
syn match cssFontAttr contained "\<line-edge\>"

View File

@@ -4,7 +4,7 @@ syn match cssTextProp contained "\<overflow-wrap\>"
syn match cssTextProp contained "\<tab-size\>"
syn match cssTextProp contained "\<text-\(align-last\|autospace\|decoration\(-\(color\|line\|skip\|style\)\)\=\|emphasis\(-\(color\|position\|style\)\)\=\|justify\|shadow\|space-collapse\|underline-position\|wrap\)\>"
syn match cssTextProp contained "\<word-break\>"
syn keyword cssTextAttr contained loose strict start end blink objects spaces ink edges wavy filled open dot circle triangle sesame hanging distribute kashida preserve alphabetic
syn keyword cssTextAttr contained loose strict objects ink edges wavy filled dot triangle sesame hanging distribute kashida preserve alphabetic
syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
syn match cssTextAttr contained "\<keep-all\>"
syn match cssTextAttr contained "\<match-parent\>"

View File

@@ -1,6 +1,6 @@
" TODO: create cssTransitionProp group and cssTransitionAttr group
syn match cssFontProp contained "\<transition\(-\(property\|duration\|timing-function\|delay\)\)\=\>"
syn keyword cssFontAttr contained IDENT linear
syn keyword cssFontAttr contained linear
syn match cssFontAttr contained "\<ease\(-\(in\|out\|in-out\)\)\=\>"
syn match cssFontAttr contained "\<step-\(start\|end\)\=\>"
syn match cssFontAttr contained "\<step-\(start\|end\)\>"
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(steps\|cubic-bezier\)\s*(" end=")" oneline keepend

View File

@@ -2,6 +2,6 @@ syn keyword cssUIProp contained icon resize
syn match cssUIProp contained "\<box-sizing\>"
syn match cssUIProp contained "\<ime-mode\>"
syn match cssUIProp contained "\<nav-\(index\|up\|right\|down\|left\)"
syn match cssUIProp contained "\<outline\(-\(color\|offset\|style\|width\)\)\="
syn match cssUIProp contained "\<outline-offset\>"
syn match cssUIProp contained "\<text-overflow\>"
syn keyword cssUIAttr contained active inactive disabled root horizontal vertical clip ellipsis

View File

@@ -1,7 +1,7 @@
" TODO: create cssWritingModeProp group and cssWritingModeAttr group
syn match cssFontProp contained "\<text-\(orientation\|combine-\(horizontal\|mode\)\)\>"
syn match cssFontProp contained "\<writing-mode\>"
syn keyword cssFontAttr contained before after numeric digits alpha latin alphanumeric isolate plaintext
syn keyword cssFontAttr contained before after numeric alpha latin alphanumeric isolate plaintext
syn match cssFontAttr contained "\<\(\(min\|max\|fit\)-content\|fill-available\)\>"
syn match cssFontAttr contained "\<\(\(no-\)\=compress\|use-glyphs\)\>"
syn match cssFontAttr contained "\<\(mixed-right\|upright\|sideways\(-right\|-left\)\=\|use-glyph-orientation\)\>"

487
test/test.css Normal file
View File

@@ -0,0 +1,487 @@
.align {
justify-self: head;
justify-content: foot;
justify-items: true;
align-self: flex-start;
align-content: flex-end;
align-items: space-between;
display: space-around;
}
.animations {
animation: forwards;
animation-delay: backwards;
animation-direction: running;
animation-duration: paused;
animation-fill-mode: alternate-reverse;
animation-iteration-count: auto;
animation-name: auto;
animation-play-state: auto;
animation-timing-function: auto;
}
.background {
background-clip: space;
background-origin: round;
background-size: local;
border-image: fill;
border-image-source: stretch;
border-image-slice: clone;
border-image-width: slice;
border-image-outset: padding-box;
border-image-repeat: border-box;
border-radius: content-box;
border-top-right-radius: auto;
border-bottom-right-radius: auto;
border-bottom-left-radius: auto;
border-top-left-radius: auto;
box-decoration-break: auto;
box-shadow: auto;
}
.box {
overflow-style: scrollbar;
overflow-x: panner;
overflow-y: move;
rotation-point: marquee;
display: ruby;
display: ruby-base;
display: ruby-text;
display: ruby-base-group;
display: ruby-text-group;
display: no-display;
display: no-content;
}
.break {
break-after: auto;
break-before: auto;
break-inside: auto;
}
.colors {
opacity: rgba(0, 0, 0, 1);
display: hsla(0, 0, 0, 1)
display: currentColor;
}
.content {
move-to: inhibit;
page-polcy: here;
display: first;
display: last;
}
.exclusions {
shape-image-threshold: maximum;
shape-inside: outside-shape;
shape-outside: auto;
wrap: auto;
wrap-flow: auto;
wrap-margin: auto;
wrap-padding: auto;
wrap-through: auto;
}
.flexbox {
order: flex;
flex: row;
flex-basis: wrap;
flex-direction: inline-flex;
flex-flow: row-reverse;
flex-grow: column-reverse;
flex-shrink: wrap-reverse;
flex-wrap: auto;
}
.gcpm {
bleed: target-counter(attr(href, url), page, decimal);
hyphens: target-counters(attr(href, url), section, ".", decimal);
marks: target-text(attr(href), content());
bookmark-label: open;
bookmark-level: closed;
bookmark-state: manual;
bookmark-target: crop;
float-offset: cross;
hyphenate-before: no-limit;
hyphenate-character: super-decimal;
hyphenate-lines: auto;
hyphenate-resource: auto;
image-resolution: auto;
string-set: auto;
}
.grid-layout {
grid-cell: grid;
grid-column: rows;
grid-row: inline-grid;
grid-column-align: auto;
grid-row-align: auto;
grid-column-sizing: auto;
grid-row-sizing: auto;
grid-column-span: auto;
grid-row-span: auto;
grid-columns: auto;
grid-flow: auto;
grid-rows: auto;
grid-template: auto;
}
.hyperlinks {
target: current;
target-name: new;
target-new: modal;
target-position: window;
display: tab;
display: front;
display: back;
}
.images {
object-fit: contain;
object-position: cover;
image-resolution: snap;
image-orientation: 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);
}
.layout::slot(b) {
display: same;
}
.linebox {
alignment-adjust: central;
alignment-baseline: mathematical;
baseline-shift: before-edge;
dominate-baseline: after-edge;
drop-initial-after-adjust: text-before-edge;
drop-initial-after-align: text-after-edge;
drop-initial-before-adjust: use-script;
drop-initial-before-align: caps-height;
drop-initial-size: exclude-ruby;
drop-initial-value: include-ruby;
inline-box-align: consider-shift;
line-stacking: disregard-shift;
line-stacking-ruby: inline-line-height;
line-stacking-shift: block-line-height;
line-stacking-strategy: max-height;
text-height: grid-height;
display: font-size;
display: text-size;
display: max-size;
}
.lists::marker {
display: box;
display: check;
display: diamond;
display: hyphen;
display: syriac;
display: tamil;
display: lower-armenian;
display: upper-armenian;
display: ethiopic-numeric;
display: japanese-formal;
display: japanese-informal;
display: simp-chinese-formal;
display: simp-chinese-informal;
display: trad-chinese-formal;
display: trad-chinese-informal;
display: binary;
display: bengali;
display: cambodian;
display: devanagari;
display: gujarati;
display: gurmukhi;
display: kannada;
display: khmer;
display: lao;
display: malayalam;
display: mongolian;
display: myanmar;
display: octal;
display: oriya;
display: persian;
display: telugu;
display: tibetan;
display: thai;
display: urdu;
display: arabic-indic;
display: lower-hexadecimal;
display: upper-hexadecimal;
display: afar;
display: amharic;
display: oromo;
display: sidama;
display: somali;
display: tigre;
display: ethiopic;
display: ethiopic-abegede;
display: ethiopic-abegede-am-et;
display: ethiopic-abegede-gez;
display: ethiopic-abegede-ti-er;
display: ethiopic-abegede-ti-et;
display: ethiopic-halehame-aa-er;
display: ethiopic-halehame-aa-et;
display: ethiopic-halehame-am-et;
display: ethiopic-halehame-gez;
display: ethiopic-halehame-om-et;
display: ethiopic-halehame-sid-et;
display: ethiopic-halehame-so-et;
display: ethiopic-halehame-ti-er;
display: ethiopic-halehame-ti-et;
display: ethiopic-halehame-tig;
display: hangul;
display: hangul-consonant;
display: lower-norwegian;
display: upper-norwegian;
display: tigrinya-er;
display: tigrinya-er-abegede;
display: tigrinya-et;
display: tigrinya-et-abegede;
display: asterisks;
display: footnotes;
display: circled-decimal;
display: dotted-decimal;
display: double-circled-decimal;
display: filled-circled-decimal;
display: parenthesised-decimal;
display: circled-lower-latin;
display: circled-upper-latin;
display: parenthesised-lower-latin;
}
.marquee {
marquee-direction: forward;
marquee-play-count: reverse;
marquee-speed: infinite;
marquee-style: slow;
display: fast;
display: slide;
display: alternate;
display: marquee-line;
display: marquee-block;
}
@media screen and (min-width: 999px) {
.mediaqueries {
display: auto;
}
}
.multicol {
columns: page;
column-count: column;
column-fill: balance;
column-gap: avoid-column;
column-rule: avoid-page;
column-rule-color: auto;
column-rule-style: auto;
column-rule-width: auto;
column-span: auto;
column-width: auto;
}
.preslev {
presentation-level: increment;
}
@region .regions {
flow-from: break;
flow-into: region;
region-overflow: avoid-region;
}
.ruby {
ruby-align: start;
ruby-overhang: end;
ruby-position: distribute-letter;
ruby-span: distribute-space;
display: line-edge;
}
.selectors:target,
.selectors:enabled,
.selectors:disabled,
.selectors:checked,
.selectors:indeterminate,
.selectors:root,
.selectors:empty,
.selectors:first-of-type,
.selectors:last-child,
.selectors:last-of-type,
.selectors:only-child,
.selectors:only-of-type,
.selectors:nth-child(2n+1),
.selectors:nth-of-type(odd),
.selectors:nth-last-child(2n+0),
.selectors:nth-last-of-type(even),
.selectors:not([DISABLED]), {
display: auto;
}
.text {
hanging-punctuation: loose;
line-break: strict;
overflow-wrap: objects;
tab-size: ink;
text-align-last: edges;
text-autospace: wavy;
text-decoration-color: filled;
text-decoration-line: dot;
text-decoration-skip: triangle;
text-decoration-style: sesame;
text-emphasis: hanging;
text-emphasis-color: distribute;
text-emphasis-position: kashida;
text-emphasis-style: preserve;
text-justify: alphabetic;
text-shadow: allow-end;
text-space-collapse: force-end;
text-underline-position: keep-all;
text-wrap: match-parent;
word-break: double-circle;
display: each-line;
display: inter-word;
display: inter-ideograph;
display: inter-cluster;
display: preserve-breaks;
display: full-width;
display: full-size-kana;
display: pre-wrap;
display: pre-line;
display: break-all;
display: break-word;
}
.transforms {
backface-visibility: flat;
perspective: preserve-3d;
perspective-origin: matrix(1);
transform: matrix3d(1);
transform-origin: translate(1);
transform-style: translate3d(1);
display: translateX(1);
display: translateY(1);
display: translateZ(1);
display: scale(1);
display: scale3d(1);
display: scaleX(1);
display: scaleY(1);
display: scaleZ(1);
display: rotate(1);
display: rotate3d(1);
display: rotateX(1);
display: rotateY(1);
display: rotateZ(1);
display: skew(1);
display: skewX(1);
display: skewY(1);
display: perspective(1);
}
.transitions {
transition: linear;
transition-property: ease;
transition-duration: ease-in;
transition-timing-function: ease-out;
transition-delay: ease-in-out;
display: step-start;
display: step-end;
display: steps(1, start);
display: cubic-bezier(0.25, 0.1, 0.25, 1.0);
}
.ui {
icon: active;
resize: inactive;
box-sizing: disabled;
ime-mode: root;
nav-index: horizontal;
nav-up: vertical;
nav-right: clip;
nav-down: ellipsis;
nav-left: auto;
outline-offset: auto;
}
.values {
display: 1ch;
display: 1rem;
display: 1vw;
display: 1vh;
display: 1vmin;
display: 1turn;
display: 1dpi;
display: 1dpcm;
display: 1dppx;
display: calc(100%/3 - 2*1em - 2*1px);
display: cycle(italic, normal);
display: initial;
}
.writing-modes {
text-orientation: before;
text-combine-horizontal: after;
text-combine-mode: numeric;
writing-mode: alpha;
display: latin;
display: alphanumeric;
display: isolate;
display: plaintext;
display: min-content
display: max-content;
display: fit-content;
display: fill-available;
display: compress;
display: no-compress;
display: use-glyphs;
display: mixed-right;
display: upright;
display: sideways;
display: sideways-right;
display: sideways-left;
display: use-glyph-orientation;
display: horizontal-tb;
display: vertical-rl;
display: vertical-lr;
}
.html5-elements,
section,
article,
aside,
hgroup,
header,
footer,
nav,
figure,
figcaption,
video,
audio,
source,
embed,
mark,
progress,
meter,
data,
time,
ruby,
rt,
rp,
bdi,
wbr,
canvas,
command,
details,
summary,
datalist,
keygen,
output {
display: auto;
}