Move Selectors Level 4 features correctly

This commit is contained in:
Kyo Nagashima
2013-12-10 06:51:34 +09:00
parent 32bb059f9d
commit 63515c7301
5 changed files with 85 additions and 72 deletions

View File

@@ -48,6 +48,12 @@ These commands highlight vendor prefixed properties and functions instantly with
HISTORY
-------
### v0.10 (in progress)
* Move Selectors Level 4 features correctly
* Fix test
### v0.9
* Add Compositing and Blending Level 1 features

View File

@@ -1,8 +1,5 @@
syn keyword cssPseudoClassId contained target scope current past future enabled disabled checked indeterminate default required optional root empty blank
syn match cssPseudoClassId contained "\<\(any\|local\)-link\>"
syn match cssPseudoClassId contained "\<\(in\|out-of\)-range\>"
syn match cssPseudoClassId contained "\<read-\(only\|write\)\>"
syn match cssPseudoClassId contained "\<first-of-type\>"
syn keyword cssPseudoClassId contained target enabled disabled checked indeterminate root empty
syn match cssPseudoClassId contained "\<last-\(child\|of-type\)\>"
syn match cssPseudoClassId contained "\<first-of-type\>"
syn match cssPseudoClassId contained "\<only-\(child\|of-type\)\>"
syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":\(not\|matches\|current\|local-link\|nth\(-last\)\=-\(child\|of-type\|match\|column\)\|column\)(" end=")" oneline
syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":\(nth\(-last\)\=-\(child\|of-type\)\|not\)(" end=")" oneline

View File

@@ -1,5 +1,9 @@
syn match cssSelectorOp "[|]"
syn match cssPseudoClassId contained "\<\(active\|valid\|invalid\)-drop-target\>"
syn keyword cssPseudoClassId contained scope current past future default valid invalid required optional blank
syn match cssPseudoClassId contained "\<\(any\|local\)-link\>"
syn match cssPseudoClassId contained "\<read-\(only\|write\)\>"
syn match cssPseudoClassId contained "\<placeholder-shown\>"
syn match cssPseudoClassId contained "\<\(in\|out-of\)-range\>"
syn match cssPseudoClassId contained "\<user-error\>"
syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":dir(" end=")" oneline
syn match cssPseudoClassId contained "\<\(active\|valid\|invalid\)-drop-target\>"
syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":\(matches\|dir\|local-link\|current\|nth\(-last\)\=-\(match\|column\)\|column\)(" end=")" oneline

View File

@@ -321,54 +321,57 @@
ruby-position: ruby-base-container;
}
.selectors3:not([DISABLED]),
.selectors3:matches(:hover, :focus),
.selectors3:any-link,
.selectors3:local-link,
.selectors3:local-link(0),
.selectors3:target,
.selectors3:scope,
.selectors3:current,
.selectors3:current(p, li, dt, dd),
.selectors3:past,
.selectors3:future,
.selectors3:enabled,
.selectors3:disabled,
.selectors3:checked,
.selectors3:indeterminate,
.selectors3:default,
.selectors3:in-range,
.selectors3:out-of-range,
.selectors3:required,
.selectors3:optional,
.selectors3:read-only,
.selectors3:read-write,
.selectors3:root,
.selectors3:empty,
.selectors3:nth-child(2n+1),
.selectors3:last-child,
.selectors3:nth-last-child(-n+2),
.selectors3:only-child,
.selectors3:first-of-type,
.selectors3:nth-of-type(2n+1),
.selectors3:last-of-type,
.selectors3:nth-last-of-type(n+2),
.selectors3:first-of-type,
.selectors3:only-child,
.selectors3:only-of-type,
.selectors3:nth-match(2n+1),
.selectors3:nth-last-match(-n+2),
.selectors3:column(p, li, dt, dd),
.selectors3:nth-column(2n+1),
.selectors3:nth-last-column(-n+2) {
.selectors3:nth-child(2n+1),
.selectors3:nth-last-child(-n+2),
.selectors3:nth-of-type(2n+1),
.selectors3:nth-last-of-type(n+2),
.selectors3:not([DISABLED]) {
display: auto;
}
foo | h1,
.selectors4:dir(ltr),
.selectors4 | h1,
.selectors4:scope,
.selectors4:current,
.selectors4:past,
.selectors4:future,
.selectors4:default,
.selectors4:valid,
.selectors4:invalid,
.selectors4:required,
.selectors4:optional,
.selectors4:blank,
.selectors4:any-link,
.selectors4:local-link,
.selectors4:read-only,
.selectors4:read-write,
.selectors4:placeholder-shown,
.selectors4:in-range,
.selectors4:out-of-range,
.selectors4:user-error,
.selectors4:active-drop-target,
.selectors4:valid-drop-target,
.selectors4:invalid-drop-target,
.selectors4:placeholder-shown,
.selectors4:user-error {
.selectors3:matches(:hover, :focus),
.selectors4:dir(ltr),
.selectors4:local-link(0),
.selectors4:current(p, li, dt, dd),
.selectors4:nth-match(2n+1),
.selectors4:nth-last-match(-n+2),
.selectors4:nth-column(2n+1),
.selectors4:nth-last-column(-n+2),
.selectors4:column(p, li, dt, dd) {
display: auto;
}

View File

@@ -331,54 +331,57 @@
ruby-position: ruby-base-container;
}
.selectors3:not([DISABLED]),
.selectors3:matches(:hover, :focus),
.selectors3:any-link,
.selectors3:local-link,
.selectors3:local-link(0),
.selectors3:target,
.selectors3:scope,
.selectors3:current,
.selectors3:current(p, li, dt, dd),
.selectors3:past,
.selectors3:future,
.selectors3:enabled,
.selectors3:disabled,
.selectors3:checked,
.selectors3:indeterminate,
.selectors3:default,
.selectors3:in-range,
.selectors3:out-of-range,
.selectors3:required,
.selectors3:optional,
.selectors3:read-only,
.selectors3:read-write,
.selectors3:root,
.selectors3:empty,
.selectors3:nth-child(2n+1),
.selectors3:last-child,
.selectors3:nth-last-child(-n+2),
.selectors3:only-child,
.selectors3:first-of-type,
.selectors3:nth-of-type(2n+1),
.selectors3:last-of-type,
.selectors3:nth-last-of-type(n+2),
.selectors3:first-of-type,
.selectors3:only-child,
.selectors3:only-of-type,
.selectors3:nth-match(2n+1),
.selectors3:nth-last-match(-n+2),
.selectors3:column(p, li, dt, dd),
.selectors3:nth-column(2n+1),
.selectors3:nth-last-column(-n+2) {
.selectors3:nth-child(2n+1),
.selectors3:nth-last-child(-n+2),
.selectors3:nth-of-type(2n+1),
.selectors3:nth-last-of-type(n+2),
.selectors3:not([DISABLED]) {
display: auto;
}
foo | h1,
.selectors4:dir(ltr),
.selectors4 | h1,
.selectors4:scope,
.selectors4:current,
.selectors4:past,
.selectors4:future,
.selectors4:default,
.selectors4:valid,
.selectors4:invalid,
.selectors4:required,
.selectors4:optional,
.selectors4:blank,
.selectors4:any-link,
.selectors4:local-link,
.selectors4:read-only,
.selectors4:read-write,
.selectors4:placeholder-shown,
.selectors4:in-range,
.selectors4:out-of-range,
.selectors4:user-error,
.selectors4:active-drop-target,
.selectors4:valid-drop-target,
.selectors4:invalid-drop-target,
.selectors4:placeholder-shown,
.selectors4:user-error {
.selectors3:matches(:hover, :focus),
.selectors4:dir(ltr),
.selectors4:local-link(0),
.selectors4:current(p, li, dt, dd),
.selectors4:nth-match(2n+1),
.selectors4:nth-last-match(-n+2),
.selectors4:nth-column(2n+1),
.selectors4:nth-last-column(-n+2),
.selectors4:column(p, li, dt, dd) {
display: auto;
}