Skip to content

Commit 8b77c71

Browse files
committed
[less] update grammar
1 parent bd77d24 commit 8b77c71

4 files changed

Lines changed: 114 additions & 150 deletions

File tree

extensions/less/syntaxes/less.tmLanguage.json

Lines changed: 23 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@
209209
"include": "#brace_round"
210210
},
211211
{
212-
"include": "#commas"
212+
"include": "source.css#commas"
213213
},
214214
{
215215
"include": "#strings"
@@ -241,8 +241,7 @@
241241
"name": "meta.at-rule.media.css"
242242
},
243243
{
244-
"match": "\\b(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)\\b",
245-
"name": "support.type.property-name.media-feature.media.css"
244+
"include": "source.css#media-features"
246245
},
247246
{
248247
"match": "\\b(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)\\b",
@@ -309,19 +308,22 @@
309308
"name": "meta.property-list.css",
310309
"patterns": [
311310
{
312-
"include": "#pseudo_elements"
311+
"include": "source.css#pseudo-elements"
313312
},
314313
{
315-
"include": "#pseudo_classes"
314+
"include": "source.css#pseudo-classes"
316315
},
317316
{
318-
"include": "#variable_interpolation"
317+
"include": "source.css#tag-names"
318+
},
319+
{
320+
"include": "source.css#commas"
319321
},
320322
{
321-
"include": "#property_names"
323+
"include": "#variable_interpolation"
322324
},
323325
{
324-
"include": "#property_names_svg"
326+
"include": "source.css#property-names"
325327
},
326328
{
327329
"include": "#property_values"
@@ -344,22 +346,17 @@
344346
"name": "keyword.control.logical.operator.less"
345347
},
346348
{
347-
"match": "(?x)\n(?<![\\w-])\n(a|abbr|address|area|article|aside|audio\n|b|base|bdi|bdo|blockquote|body|br|button\n|canvas|caption|cite|code|col|colgroup\n|data|datalist|dd|del|details|dfn|dialog|div|dl|dt\n|em|embed|fieldset|figure|figcaption|footer|form\n|h[1-6]|head|header|hgroup|hr|html|i|iframe|img|input|ins\n|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter\n|nav|noscript|object|ol|optgroup|option|output\n|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby\n|s|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|svg\n|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track\n|u|ul|var|video|wbr)\n(?![\\w-])",
348-
"name": "entity.name.tag.css"
349-
},
350-
{
351-
"match": "(?x)\n(?<![\\w-])\n(vkern|view|use|tspan|tref|textPath|text|symbol|switch|stop|set\n|rect|radialGradient|polyline|polygon|pattern|path\n|mpath|missing-glyph|metadata|mask|marker|linearGradient|line\n|image|hkern|glyphRef|glyph|g\n|foreignObject|font(-face(-uri|-src|-name|-format)?)?|filter\n|fe(Turbulence|Tile|SpotLight|SpecularLighting|PointLight|Offset\n |Morphology|MergeNode|Merge|Image|GaussianBlur|Func[RGBA]\n |Flood|DistantLight|DisplacementMap|DiffuseLighting\n |ConvolveMatrix|Composite|ComponentTransfer|ColorMatrix|Blend)\n|ellipse|desc|defs|cursor|color-profile|clipPath|circle\n|animate(Transform|Motion|Color)?|altGlyph(Item|Def)?)\n(?![\\w-])",
352-
"name": "entity.name.tag.svg.css"
349+
"include": "source.css#tag-names"
353350
},
354351
{
355352
"match": "(?<![\\w-])[a-z][\\w&&[^A-Z]]*+-[\\w-&&[^A-Z]]+",
356353
"name": "entity.name.tag.custom.css"
357354
},
358355
{
359-
"include": "#pseudo_elements"
356+
"include": "source.css#pseudo-elements"
360357
},
361358
{
362-
"include": "#pseudo_classes"
359+
"include": "source.css#pseudo-classes"
363360
},
364361
{
365362
"captures": {
@@ -370,7 +367,6 @@
370367
"name": "punctuation.section.property-list.end.css"
371368
}
372369
},
373-
"comment": "Match empty braces to give proper ↩ action",
374370
"match": "(\\{)(\\})",
375371
"name": "meta.brace.curly.css"
376372
},
@@ -410,22 +406,19 @@
410406
"name": "support.function.unit-checking.less"
411407
},
412408
{
413-
"include": "#font_names"
409+
"include": "source.css#property-keywords"
414410
},
415411
{
416-
"include": "#commas"
412+
"include": "source.css#color-keywords"
417413
},
418414
{
419-
"include": "#color_names"
415+
"include": "source.css#commas"
420416
},
421417
{
422418
"include": "#less_builtin_functions"
423419
},
424420
{
425-
"include": "#css_builtin_functions"
426-
},
427-
{
428-
"include": "#gradient_builtin_functions"
421+
"include": "source.css#functions"
429422
}
430423
],
431424
"repository": {
@@ -485,30 +478,10 @@
485478
}
486479
]
487480
},
488-
"commas": {
489-
"match": ",",
490-
"name": "punctuation.separator.list.comma.css"
491-
},
492481
"brace_round": {
493482
"match": "\\(|\\)",
494483
"name": "meta.brace.round.css"
495484
},
496-
"property_names": {
497-
"captures": {
498-
"1": {
499-
"name": "support.type.property-name.css"
500-
}
501-
},
502-
"match": "(?<![-a-z])(-webkit-[-A-Za-z]+|-moz-[-A-Za-z]+|-o-[-A-Za-z]+|-ms-[-A-Za-z]+|-khtml-[-A-Za-z]+|zoom|z-index|y|x|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|grid-rows|grid-columns|grid|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)(?=\\s*:?(.*\\()|(?!.*(?<!@){))\\b"
503-
},
504-
"property_names_svg": {
505-
"captures": {
506-
"1": {
507-
"name": "support.type.property-name.svg.css"
508-
}
509-
},
510-
"match": "(?<![-a-z])(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)(?=\\s*:)"
511-
},
512485
"property_values": {
513486
"begin": "(?<!&)(:)\\s*(?!(\\s*{))(?!.*(?<!@){)",
514487
"beginCaptures": {
@@ -524,14 +497,6 @@
524497
},
525498
"contentName": "meta.property-value.css",
526499
"patterns": [
527-
{
528-
"match": "\\b(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)\\b",
529-
"name": "support.constant.property-value.css"
530-
},
531-
{
532-
"match": "\\b(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)\\b",
533-
"name": "support.constant.property-value.svg.css"
534-
},
535500
{
536501
"begin": "url(\\()",
537502
"beginCaptures": {
@@ -557,63 +522,29 @@
557522
]
558523
},
559524
{
560-
"include": "#font_names"
525+
"include": "source.css#property-keywords"
561526
},
562527
{
563-
"include": "#color_names"
528+
"include": "source.css#color-keywords"
564529
},
565530
{
566-
"include": "#less_builtin_functions"
531+
"include": "source.css#commas"
567532
},
568533
{
569-
"include": "#css_builtin_functions"
534+
"include": "#less_builtin_functions"
570535
},
571536
{
572-
"include": "#gradient_builtin_functions"
537+
"include": "source.css#functions"
573538
},
574539
{
575540
"include": "$self"
576541
}
577542
]
578543
},
579-
"pseudo_elements": {
580-
"captures": {
581-
"1": {
582-
"name": "punctuation.definition.entity.css"
583-
}
584-
},
585-
"match": "(:|::)(after|before|first-letter|first-line|selection|shadow)",
586-
"name": "entity.other.attribute-name.pseudo-element.css"
587-
},
588-
"pseudo_classes": {
589-
"captures": {
590-
"1": {
591-
"name": "punctuation.definition.entity.css"
592-
}
593-
},
594-
"match": "(:)(active|checked|default|dir|disabled|empty|enabled|extend|first-child|first-of-type|first|fullscreen|focus|hover|indeterminate|in-range|invalid|lang|last-child|last-of-type|left|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|optional|out-of-range|read-only|read-write|required|right|root|scope|shadow|target|valid|visited)(?!\\s*;)",
595-
"name": "entity.other.attribute-name.pseudo-class.css"
596-
},
597-
"font_names": {
598-
"match": "(\\b(?i:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif)\\b)",
599-
"name": "support.constant.font-name.css"
600-
},
601-
"color_names": {
602-
"match": "\\b(yellowgreen|yellow|whitesmoke|white|wheat|violet|turquoise|tomato|thistle|teal|tan|steelblue|springgreen|snow|slategrey|slategray|slateblue|skyblue|silver|sienna|seashell|seagreen|sandybrown|salmon|saddlebrown|royalblue|rosybrown|red|rebeccapurple|purple|powderblue|plum|pink|peru|peachpuff|papayawhip|palevioletred|paleturquoise|palegreen|palegoldenrod|orchid|orangered|orange|olivedrab|olive|oldlace|navy|navajowhite|moccasin|mistyrose|mintcream|midnightblue|mediumvioletred|mediumturquoise|mediumspringgreen|mediumslateblue|mediumseagreen|mediumpurple|mediumorchid|mediumblue|mediumaquamarine|maroon|linen|limegreen|lime|lightyellow|lightsteelblue|lightslategrey|lightslategray|lightskyblue|lightseagreen|lightsalmon|lightpink|lightgrey|lightgreen|lightgray|lightgoldenrodyellow|lightcyan|lightcoral|lightblue|lemonchiffon|lawngreen|lavenderblush|lavender|khaki|ivory|indigo|indianred|hotpink|honeydew|grey|greenyellow|green|gray|goldenrod|gold|ghostwhite|gainsboro|fuchsia|forestgreen|floralwhite|firebrick|dodgerblue|dimgrey|dimgray|deepskyblue|deeppink|darkviolet|darkturquoise|darkslategrey|darkslategray|darkslateblue|darkseagreen|darksalmon|darkred|darkorchid|darkorange|darkolivegreen|darkmagenta|darkkhaki|darkgrey|darkgreen|darkgray|darkgoldenrod|darkcyan|darkblue|crimson|cornsilk|cornflowerblue|coral|chocolate|chartreuse|cadetblue|burlywood|brown|blueviolet|blue|blanchedalmond|black|bisque|beige|azure|aquamarine|aqua|antiquewhite|aliceblue)\\b",
603-
"name": "support.constant.color.w3c-standard-color-name.css"
604-
},
605544
"less_builtin_functions": {
606545
"match": "\\b(abs|acos|alpha|argb|asin|atan|average|blue|calc|ceil|color|contrast|convert|convert|cos|darken|data-uri|desaturate|difference|e|escape|exclusion|extract|fade|fadein|fadeout|floor|format|green|greyscale|hardlight|hsl|hsla|hsv|hsva|hsvhue|hsvsaturation|hsvvalue|hue|length|lighten|lightness|luma|max|min|mix|mod|multiply|negation|overlay|percentage|pi|pow|red|replace|round|saturate|saturation|screen|sin|softlight|spin|sqrt|tan|unit)\\b",
607546
"name": "support.function.any-method.builtin.less"
608-
},
609-
"css_builtin_functions": {
610-
"match": "\\b(url|translate3d|translate[XYZ]|translate|skew[XY]|skew|scale[XYZ]|scale|rotate3d|rotate[XYZ]|rotate|rgba|rgb|repeating-radial-gradient|repeating-linear-gradient|rect|radial-gradient|matrix3d|matrix|linear-gradient|hsla|hsl|drop-shadow|cubic-bezier|blur)\\b",
611-
"name": "support.function.any-method.builtin.css"
612-
},
613-
"gradient_builtin_functions": {
614-
"match": "\\b(color-stop|from|to)\\b",
615-
"name": "support.function.any-method.gradient.css"
616547
}
617548
},
618-
"version": "https://github.com/atom/language-less/commit/9123663e1a8411f60d3c06fd8a4d1790feccfb77"
549+
"version": "https://github.com/atom/language-less/commit/7d70b66aa9c853d59e27cce25b5bc25cb067e75a"
619550
}

extensions/less/test/colorize-results/14119_less.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,13 +144,13 @@
144144
},
145145
{
146146
"c": "content",
147-
"t": "source.css.less meta.property-list.css support.type.property-name.css",
147+
"t": "source.css.less meta.property-list.css entity.name.tag.css",
148148
"r": {
149-
"dark_plus": "support.type.property-name: #9CDCFE",
150-
"light_plus": "support.type.property-name: #FF0000",
151-
"dark_vs": "support.type.property-name: #9CDCFE",
152-
"light_vs": "support.type.property-name: #FF0000",
153-
"hc_black": "support.type.property-name: #D4D4D4"
149+
"dark_plus": "entity.name.tag.css: #D7BA7D",
150+
"light_plus": "entity.name.tag: #800000",
151+
"dark_vs": "entity.name.tag.css: #D7BA7D",
152+
"light_vs": "entity.name.tag: #800000",
153+
"hc_black": "entity.name.tag.css: #D7BA7D"
154154
}
155155
},
156156
{

0 commit comments

Comments
 (0)