stylus.json 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. {
  2. "aliases": [
  3. "styl"
  4. ],
  5. "case_insensitive": false,
  6. "keywords": "if else for in",
  7. "illegal": "(\\?|(\\bReturn\\b)|(\\bEnd\\b)|(\\bend\\b)|(\\bdef\\b)|;|#\\s|\\*\\s|===\\s|\\||%)",
  8. "contains": [
  9. {
  10. "className": "string",
  11. "begin": "\"",
  12. "end": "\"",
  13. "illegal": "\\n",
  14. "contains": [
  15. {
  16. "begin": "\\\\[\\s\\S]",
  17. "relevance": 0
  18. }
  19. ]
  20. },
  21. {
  22. "className": "string",
  23. "begin": "'",
  24. "end": "'",
  25. "illegal": "\\n",
  26. "contains": [
  27. {
  28. "$ref": "#contains.0.contains.0"
  29. }
  30. ]
  31. },
  32. {
  33. "className": "comment",
  34. "begin": "\/\/",
  35. "end": "$",
  36. "contains": [
  37. {
  38. "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
  39. },
  40. {
  41. "className": "doctag",
  42. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  43. "relevance": 0
  44. }
  45. ]
  46. },
  47. {
  48. "className": "comment",
  49. "begin": "\/\\*",
  50. "end": "\\*\/",
  51. "contains": [
  52. {
  53. "$ref": "#contains.2.contains.0"
  54. },
  55. {
  56. "className": "doctag",
  57. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  58. "relevance": 0
  59. }
  60. ]
  61. },
  62. {
  63. "className": "number",
  64. "begin": "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"
  65. },
  66. {
  67. "begin": "\\.[a-zA-Z][a-zA-Z0-9_\\-]*(?=[\\.\\s\\n\\[\\:,])",
  68. "className": "selector-class"
  69. },
  70. {
  71. "begin": "\\#[a-zA-Z][a-zA-Z0-9_\\-]*(?=[\\.\\s\\n\\[\\:,])",
  72. "className": "selector-id"
  73. },
  74. {
  75. "begin": "\\b(a|abbr|address|article|aside|audio|b|blockquote|body|button|canvas|caption|cite|code|dd|del|details|dfn|div|dl|dt|em|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|html|i|iframe|img|input|ins|kbd|label|legend|li|mark|menu|nav|object|ol|p|q|quote|samp|section|span|strong|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|tr|ul|var|video)(?=[\\.\\s\\n\\[\\:,])",
  76. "className": "selector-tag"
  77. },
  78. {
  79. "begin": "&?:?:\\b(after|before|first-letter|first-line|active|first-child|focus|hover|lang|link|visited)(?=[\\.\\s\\n\\[\\:,])"
  80. },
  81. {
  82. "begin": "@(charset|css|debug|extend|font-face|for|import|include|media|mixin|page|warn|while)\\b"
  83. },
  84. {
  85. "className": "variable",
  86. "begin": "\\$[a-zA-Z]\\w*"
  87. },
  88. {
  89. "className": "number",
  90. "begin": "\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
  91. "relevance": 0
  92. },
  93. {
  94. "className": "number",
  95. "begin": "\\b\\d+(\\.\\d+)?",
  96. "relevance": 0
  97. },
  98. {
  99. "className": "function",
  100. "begin": "^[a-zA-Z][a-zA-Z0-9_\\-]*\\(.*\\)",
  101. "illegal": "[\\n]",
  102. "returnBegin": true,
  103. "contains": [
  104. {
  105. "className": "title",
  106. "begin": "\\b[a-zA-Z][a-zA-Z0-9_\\-]*"
  107. },
  108. {
  109. "className": "params",
  110. "begin": "\\(",
  111. "end": "\\)",
  112. "contains": [
  113. {
  114. "$ref": "#contains.4"
  115. },
  116. {
  117. "$ref": "#contains.10"
  118. },
  119. {
  120. "$ref": "#contains.1"
  121. },
  122. {
  123. "$ref": "#contains.11"
  124. },
  125. {
  126. "$ref": "#contains.12"
  127. },
  128. {
  129. "$ref": "#contains.0"
  130. }
  131. ]
  132. }
  133. ]
  134. },
  135. {
  136. "className": "attribute",
  137. "begin": "\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|table-layout|tab-size|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-resolution|image-rendering|image-orientation|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|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-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|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|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",
  138. "starts": {
  139. "end": ";|$",
  140. "contains": [
  141. {
  142. "$ref": "#contains.4"
  143. },
  144. {
  145. "$ref": "#contains.10"
  146. },
  147. {
  148. "$ref": "#contains.1"
  149. },
  150. {
  151. "$ref": "#contains.0"
  152. },
  153. {
  154. "$ref": "#contains.11"
  155. },
  156. {
  157. "$ref": "#contains.12"
  158. },
  159. {
  160. "$ref": "#contains.3"
  161. }
  162. ],
  163. "illegal": "\\.",
  164. "relevance": 0
  165. }
  166. }
  167. ]
  168. }