mirror of
https://github.com/hail2u/vim-css3-syntax.git
synced 2025-12-06 18:54:25 +08:00
Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b24f4cdaf0 | ||
|
|
44525a5ec7 | ||
|
|
2258f16c42 | ||
|
|
eff2b2a4b8 | ||
|
|
9301019689 | ||
|
|
dcb4759c39 | ||
|
|
8f593d8e6f | ||
|
|
8c1d19f922 | ||
|
|
eec6128b8e | ||
|
|
cd20896c4e | ||
|
|
21b74dc4a3 | ||
|
|
f2dccd2c94 | ||
|
|
a292f07fbf | ||
|
|
de9553d8d2 | ||
|
|
73ba250fa1 | ||
|
|
cc70b92b65 | ||
|
|
d6b86507f7 | ||
|
|
e1a9871a10 | ||
|
|
5e4535e990 | ||
|
|
53fe2a1478 | ||
|
|
8a37d5f26d | ||
|
|
0813d4ce72 | ||
|
|
6420c0bf01 | ||
|
|
5586655a59 | ||
|
|
fc7ff7e8c7 | ||
|
|
c1a5acb705 | ||
|
|
49ee3a8b08 | ||
|
|
a27d1a4e71 | ||
|
|
19cc3af11b | ||
|
|
759fc03897 | ||
|
|
5fd2ef803b |
@@ -68,13 +68,13 @@ cyan and bold (on gVim).
|
||||
### CSS Preprocessors: [Sass][2], [LESS][3], and [Stylus][4]
|
||||
|
||||
`vim-css3-syntax` supports Sass's SCSS syntax only. If you want to use this
|
||||
plugin with LESS, install [VIM-LESS][5]. Sass's indent synatx and Stylus are not
|
||||
plugin with LESS, install [VIM-LESS][5]. Sass's indent syntax and Stylus are not
|
||||
supported.
|
||||
|
||||
|
||||
### Media Queries
|
||||
|
||||
I drop Media Queries Level 3 support in v0.12.0. There is no easy way to supprt
|
||||
I drop Media Queries Level 3 support in v0.12.0. There is no easy way to support
|
||||
Media Queries properly with `after` syntax plugin like this one, sorry. If you
|
||||
want to highlight Media Queries correctly, you must update Vim to 7.4+ or
|
||||
install [JulesWang/css.vim][6].
|
||||
@@ -83,7 +83,7 @@ install [JulesWang/css.vim][6].
|
||||
AUTHOR
|
||||
------
|
||||
|
||||
Kyo Namegashima <kyo@hail2u.net>
|
||||
Kyo Nagashima <hail2u@gmail.com> (https://kyonagashima.com/)
|
||||
|
||||
|
||||
LICENSE
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
" TODO: create cssCounterStyleDescriptor for `@counter-style` descriptor
|
||||
syn keyword cssGeneratedContentProp contained negative prefix suffix range pad fallback
|
||||
" TODO: create cssCounterStyleDescriptor for `@counter-style` descriptors
|
||||
syn region cssInclude start=/@counter-style\>/ end=/\ze{/ skipwhite skipnl contains=css.*Prop,css.*Attr,cssValueInteger,cssValueLength,cssMediaKeyword,cssVendor,cssIncludeKeyword,cssComment nextgroup=cssMediaBlock
|
||||
syn keyword cssGeneratedContentProp contained system negative prefix suffix range pad fallback
|
||||
syn match cssGeneratedContentProp contained "\<\(additive-\)\=symbols\>"
|
||||
syn match cssGeneratedContentProp contained "\<speak-as\>"
|
||||
syn keyword cssGeneratedContentAttr contained cyclic symbolic additive extends bullets numbers words bengali cambodian khmer devanagari gujarati gurmukhi kannada lao malayalam mongolian myanmar oriya persian tamil telugu thai tibetan
|
||||
syn match cssGeneratedContentAttr contained "\<\(ethiopic-\)\=numeric\>"
|
||||
syn match cssGeneratedContentAttr contained "\<arabic-indic\>"
|
||||
syn match cssGeneratedContentAttr contained "\<\(upper\|lower\)-armenian\>"
|
||||
syn match cssGeneratedContentAttr contained "\<cjk-\(decimal\|earthly-branch\|heavenly-stem\)\>"
|
||||
syn match cssGeneratedContentAttr contained "\<disclosure-\(open\|closed\)\>"
|
||||
syn match cssGeneratedContentAttr contained "\<simp-chinese-\(in\)\=formal\>"
|
||||
syn match cssGeneratedContentAttr contained "\<trad-chinese-\(in\)\=formal\>"
|
||||
syn match cssGeneratedContentAttr contained "\<ethiopic-numeric\>"
|
||||
syn match cssGeneratedContentAttr contained "\<\(japanese\|korean-hanja\|\(simp\|trad\)-chinese\)-\(in\)\=formal\>"
|
||||
syn match cssGeneratedContentAttr contained "\<korean-hangul-formal\>"
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<symbols\s*(" end=")" oneline keepend
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
" TODO: create cssDisplayProp group and cssDisplayAttr group
|
||||
syn match cssFontProp contained "\<display-\(inside\|outside\|extras\|box\)\>"
|
||||
syn keyword cssFontAttr contained contents
|
||||
syn match cssFontProp contained "\<display-\(inside\|outside\|list\|suppress\)\>"
|
||||
syn keyword cssFontAttr contained contents show
|
||||
syn match cssFontAttr contained "\<\(block\|inline\)-level\>"
|
||||
syn match cssFontAttr contained "\<inline-list-item\>"
|
||||
|
||||
@@ -4,3 +4,4 @@ syn match cssFontProp contained "\<flex\(-\(basis\|direction\|flow\|grow\|shrink
|
||||
syn keyword cssFontAttr contained flex row wrap
|
||||
syn match cssFontAttr contained "\<inline-flex\>"
|
||||
syn match cssFontAttr contained "\<\(row\|column\|wrap\)-reverse\>"
|
||||
syn match cssFontAttr contained "\<main-size\>"
|
||||
|
||||
@@ -2,7 +2,7 @@ syn match cssFontProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\
|
||||
syn match cssFontProp contained "\<grid-auto-\(columns\|rows\|flow\|position\)\>"
|
||||
syn match cssFontProp contained "\<grid-\(row\|column\)\(-\(start\|end\)\)\=\>"
|
||||
syn match cssFontProp contained "\<grid-area\>"
|
||||
syn keyword cssFontAttr contained grid subgrid rows columns dense span
|
||||
syn keyword cssFontAttr contained grid subgrid dense span
|
||||
syn match cssFontAttr contained "\<inline-grid\>"
|
||||
syn match cssValueNumber contained "[01]\(.\d\+\)\=fr"
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(minmax\|repeat\)\s*(" end=")" oneline keepend
|
||||
|
||||
3
after/syntax/css/css-inline-3.vim
Normal file
3
after/syntax/css/css-inline-3.vim
Normal file
@@ -0,0 +1,3 @@
|
||||
" TODO: create cssInlineProp and cssInlineAttr
|
||||
syn match cssFontProp contained "\<initial-letter\(-align\)\="
|
||||
syn keyword cssFontAttr contained ideographic
|
||||
@@ -1,7 +1,6 @@
|
||||
" TODO: create cssLineGridProp and cssLineGridAttr
|
||||
syn match cssFontProp contained "\<line-\(grid\|snap\|slack\)"
|
||||
syn match cssFontProp contained "\<line-\(grid\|snap\)"
|
||||
syn match cssFontProp contained "\<box-snap\>"
|
||||
syn match cssFontAttr contained "\<half-border\>"
|
||||
syn keyword cssFontAttr contained create
|
||||
syn match cssValueNumber contained "\d\+gd"
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<round\(down\|up\)\s*(" end=")" oneline keepend
|
||||
syn match cssFontAttr contained "\<block-\(start\|end\)\>"
|
||||
syn match cssFontAttr contained "\<\(first\|last\)-baseline\>"
|
||||
|
||||
1
after/syntax/css/css-pseudo-4.vim
Normal file
1
after/syntax/css/css-pseudo-4.vim
Normal file
@@ -0,0 +1 @@
|
||||
syn match cssPseudoClassId contained "\<\(spelling\|grammer\)-error\>"
|
||||
2
after/syntax/css/css-snappoints-1.vim
Normal file
2
after/syntax/css/css-snappoints-1.vim
Normal file
@@ -0,0 +1,2 @@
|
||||
syn match cssFontProp contained "\<scroll-snap-\(type\|points-\(x\|y\)\|destination\|coordinate\)\=\>"
|
||||
syn keyword cssFontAttr contained mandatory proximity
|
||||
@@ -1,3 +0,0 @@
|
||||
" TODO: create cssHyperlinksProp group and cssHyperlinksAttr group
|
||||
syn match cssFontProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
|
||||
syn keyword cssFontAttr contained current new modal window tab front back
|
||||
@@ -1,3 +0,0 @@
|
||||
" TODO: create cssLayoutAttr group
|
||||
syn keyword cssFontAttr contained same
|
||||
syn keyword cssPseudoClassId contained slot
|
||||
@@ -1,4 +0,0 @@
|
||||
" TODO: create cssMarqueeProp group and cssMarqueeAttr group
|
||||
syn match cssFontProp contained "\<marquee-\(direction\|play-count\|speed\|style\)\>"
|
||||
syn keyword cssFontAttr contained forward reverse infinite slide alternate
|
||||
syn match cssFontAttr contained "\<marquee-\(line\|block\)\>"
|
||||
3
after/syntax/css/css3-positioning.vim
Normal file
3
after/syntax/css/css3-positioning.vim
Normal file
@@ -0,0 +1,3 @@
|
||||
" TODO: create cssPositioningProp and cssPositioningAttr
|
||||
syn match cssFontProp contained "\<offset-\(before\|end\|after\|start\)\>"
|
||||
syn keyword cssFontAttr contained sticky
|
||||
@@ -1,3 +0,0 @@
|
||||
" TODO: create cssPresLevProp group and cssPresLevAttr group
|
||||
syn match cssFontProp contained "\<presentation-level\>"
|
||||
syn keyword cssFontAttr contained increment
|
||||
@@ -1,7 +1,2 @@
|
||||
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-offset\>"
|
||||
syn match cssUIProp contained "\<text-overflow\>"
|
||||
syn keyword cssUIAttr contained active inactive disabled root horizontal vertical clip ellipsis
|
||||
syn match cssUIProp contained "\<caret-color\>"
|
||||
syn keyword cssUIAttr contained grab grabbing
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
syn include @htmlCss syntax/css/html5-elements.vim
|
||||
syn include @htmlCss syntax/css/compositing-1.vim
|
||||
syn include @htmlCss syntax/css/css3-align.vim
|
||||
syn include @htmlCss syntax/css/css3-animations.vim
|
||||
syn include @htmlCss syntax/css/css3-background.vim
|
||||
syn include @htmlCss syntax/css/css3-box.vim
|
||||
@@ -11,16 +10,12 @@ syn include @htmlCss syntax/css/css3-conditional.vim
|
||||
syn include @htmlCss syntax/css/css3-content.vim
|
||||
syn include @htmlCss syntax/css/css3-exclusions.vim
|
||||
syn include @htmlCss syntax/css/css3-fonts.vim
|
||||
syn include @htmlCss syntax/css/css3-hyperlinks.vim
|
||||
syn include @htmlCss syntax/css/css3-images.vim
|
||||
syn include @htmlCss syntax/css/css3-layout.vim
|
||||
syn include @htmlCss syntax/css/css3-linebox.vim
|
||||
syn include @htmlCss syntax/css/css3-marquee.vim
|
||||
syn include @htmlCss syntax/css/css3-multicol.vim
|
||||
syn include @htmlCss syntax/css/css3-page.vim
|
||||
syn include @htmlCss syntax/css/css3-preslev.vim
|
||||
syn include @htmlCss syntax/css/css3-positioning.vim
|
||||
syn include @htmlCss syntax/css/css3-regions.vim
|
||||
syn include @htmlCss syntax/css/css3-ruby.vim
|
||||
syn include @htmlCss syntax/css/css3-selectors.vim
|
||||
syn include @htmlCss syntax/css/css3-sizing.vim
|
||||
syn include @htmlCss syntax/css/css3-speech.vim
|
||||
@@ -28,17 +23,22 @@ syn include @htmlCss syntax/css/css3-transforms.vim
|
||||
syn include @htmlCss syntax/css/css3-transitions.vim
|
||||
syn include @htmlCss syntax/css/css3-ui.vim
|
||||
syn include @htmlCss syntax/css/css3-values.vim
|
||||
syn include @htmlCss syntax/css/css-align-3.vim
|
||||
syn include @htmlCss syntax/css/css-counter-styles-3.vim
|
||||
syn include @htmlCss syntax/css/css-display-3.vim
|
||||
syn include @htmlCss syntax/css/css-flexbox-1.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-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-masking-1.vim
|
||||
syn include @htmlCss syntax/css/css-overflow-3.vim
|
||||
syn include @htmlCss syntax/css/css-pseudo-4.vim
|
||||
syn include @htmlCss syntax/css/css-ruby-1.vim
|
||||
syn include @htmlCss syntax/css/css-scoping-1.vim
|
||||
syn include @htmlCss syntax/css/css-shapes-1.vim
|
||||
syn include @htmlCss syntax/css/css-snappoints-1.vim
|
||||
syn include @htmlCss syntax/css/css-text-3.vim
|
||||
syn include @htmlCss syntax/css/css-text-decor-3.vim
|
||||
syn include @htmlCss syntax/css/css-variables.vim
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
runtime! syntax/css/*.vim
|
||||
syn clear cssMediaBlock
|
||||
syn region cssMediaBlock contained transparent matchgroup=cssBraces start='{' end='}' contains=TOP
|
||||
|
||||
143
test/test.css
143
test/test.css
@@ -104,23 +104,63 @@
|
||||
display: last;
|
||||
}
|
||||
|
||||
.counter-styles {
|
||||
negative: disclosure-open;
|
||||
prefix: disclosure-closed;
|
||||
suffix: simp-chinese-informal;
|
||||
range: simp-chinese-formal;
|
||||
pad: trad-chinese-informal;
|
||||
fallback: trad-chinese-formal;
|
||||
symbols: ethiopic-numeric;
|
||||
additive-symbols: symbols("*" "\2020" "\2021" "\A7");
|
||||
@counter-style counter-style {
|
||||
system: cyclic;
|
||||
negative: symbolic;
|
||||
prefix: additive;
|
||||
suffix: extends;
|
||||
range: bullets;
|
||||
pad: numbers;
|
||||
fallback: words;
|
||||
symbols: symbols("*" "\2020" "\2021" "\A7");
|
||||
additive-symbols: auto;
|
||||
speak-as: auto;
|
||||
}
|
||||
|
||||
.counter-style {
|
||||
display: arabic-indic;
|
||||
display: upper-armenian;
|
||||
display: lower-armenian;
|
||||
display: bengali;
|
||||
display: cambodian;
|
||||
display: khmer;
|
||||
display: cjk-decimal;
|
||||
display: devanagari;
|
||||
display: gujarati;
|
||||
display: gurmukhi;
|
||||
display: kannada;
|
||||
display: lao;
|
||||
display: malayalam;
|
||||
display: mongolian;
|
||||
display: myanmar;
|
||||
display: oriya;
|
||||
display: persian;
|
||||
display: tamil;
|
||||
display: telugu;
|
||||
display: thai;
|
||||
display: tibetan;
|
||||
display: cjk-earthly-branch;
|
||||
display: cjk-heavenly-stem;
|
||||
display: disclosure-closed;
|
||||
display: disclosure-open;
|
||||
display: japanese-informal;
|
||||
display: japanese-formal;
|
||||
display: korean-hangul-formal;
|
||||
display: korean-hanja-informal;
|
||||
display: korean-hanja-formal;
|
||||
display: simp-chinese-informal;
|
||||
display: simp-chinese-formal;
|
||||
display: trad-chinese-informal;
|
||||
display: trad-chinese-formal;
|
||||
display: ethiopic-numeric;
|
||||
}
|
||||
|
||||
.display {
|
||||
display-inside: block-level;
|
||||
display-outside: inline-level;
|
||||
display-extras: inline-list-item;
|
||||
display-box: contents;
|
||||
display-list: contents;
|
||||
display-suppress: inline-list-item;
|
||||
display: show;
|
||||
}
|
||||
|
||||
.exclusions {
|
||||
@@ -136,7 +176,7 @@
|
||||
flex: column-reverse;
|
||||
flex-grow: wrap;
|
||||
flex-shrink: wrap-reverse;
|
||||
flex-basis: auto;
|
||||
flex-basis: main-size;
|
||||
}
|
||||
|
||||
.fonts {
|
||||
@@ -192,17 +232,17 @@
|
||||
display: closed;
|
||||
}
|
||||
|
||||
.grid-layout {
|
||||
.grid {
|
||||
grid-template-columns: grid;
|
||||
grid-template-rows: inline-grid;
|
||||
grid-template-areas: minmax(0, 1);
|
||||
grid-template: repeat(4);
|
||||
grid-auto-columns: 0.2fr;
|
||||
grid-auto-rows: subgrid;
|
||||
grid-auto-flow: rows;
|
||||
grid-auto-position: columns;
|
||||
grid: dense;
|
||||
grid-row-start: span;
|
||||
grid-auto-flow: dense;
|
||||
grid-auto-position: span;
|
||||
grid: auto;
|
||||
grid-row-start: auto;
|
||||
grid-column-start: auto;
|
||||
grid-row-end: auto;
|
||||
grid-column-end: auto;
|
||||
@@ -211,16 +251,6 @@
|
||||
grid-area: 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;
|
||||
@@ -234,16 +264,17 @@
|
||||
display: repeating-radial-gradient(farthest-corner at 50% 50%, yellow, green);
|
||||
}
|
||||
|
||||
.layout::slot(b) {
|
||||
display: same;
|
||||
.inline {
|
||||
initial-letter: ideographic;
|
||||
initial-letter-align: auto;
|
||||
}
|
||||
|
||||
.line-grid {
|
||||
line-grid: create;
|
||||
line-snap: half-border;
|
||||
line-slack: rounddown(1em);
|
||||
box-snap: roundup(1em);
|
||||
display: 10gd;
|
||||
line-snap: block-start;
|
||||
box-snap: block-end;
|
||||
display: first-baseline;
|
||||
display: last-baseline;
|
||||
}
|
||||
|
||||
.linebox {
|
||||
@@ -274,16 +305,6 @@
|
||||
display: counters(list-item, '.');
|
||||
}
|
||||
|
||||
.marquee {
|
||||
marquee-direction: forward;
|
||||
marquee-play-count: reverse;
|
||||
marquee-speed: infinite;
|
||||
marquee-style: slide;
|
||||
display: alternate;
|
||||
display: marquee-line;
|
||||
display: marquee-block;
|
||||
}
|
||||
|
||||
.masking {
|
||||
clip-path: fill-box;
|
||||
clip-rule: stroke-box;
|
||||
@@ -334,8 +355,18 @@
|
||||
display: verso;
|
||||
}
|
||||
|
||||
.preslev {
|
||||
presentation-level: increment;
|
||||
.positioning {
|
||||
offset-before: sticky;
|
||||
offset-end: auto;
|
||||
offset-after: auto;
|
||||
offset-start: auto;
|
||||
}
|
||||
|
||||
.pseudo::selection,
|
||||
.pseudo::spelling-error,
|
||||
.pseudo::grammer-error,
|
||||
.pseuod::placeholder {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.regions:region {
|
||||
@@ -347,9 +378,9 @@
|
||||
}
|
||||
|
||||
.ruby {
|
||||
ruby-position: ruby-base-container;
|
||||
ruby-merge: ruby-text-container;
|
||||
ruby-align: inter-character;
|
||||
ruby-position: ruby-base-container;
|
||||
}
|
||||
|
||||
@scope .scoping {
|
||||
@@ -438,6 +469,14 @@
|
||||
display: contain-floats;
|
||||
}
|
||||
|
||||
.snappoints {
|
||||
scroll-snap-type: mandatory;
|
||||
scroll-snap-points-x: proximity;
|
||||
scroll-snap-points-y: auto;
|
||||
scroll-snap-destination: auto;
|
||||
scroll-snap-coordinate: auto;
|
||||
}
|
||||
|
||||
.speech {
|
||||
voice-volume: 10dB;
|
||||
voice-balance: literal-punctuation;
|
||||
@@ -520,16 +559,8 @@
|
||||
}
|
||||
|
||||
.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;
|
||||
caret-color: grab;
|
||||
display: grabbing;
|
||||
}
|
||||
|
||||
.values {
|
||||
|
||||
1296
test/test.html
1296
test/test.html
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user