gtksourceview4 3.2.9-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (379) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING.LIB +502 -0
  3. data/README.md +24 -0
  4. data/Rakefile +61 -0
  5. data/dependency-check/Rakefile +43 -0
  6. data/gtksourceview4.gemspec +45 -0
  7. data/lib/gtksourceview4.rb +56 -0
  8. data/lib/gtksourceview4/deprecated.rb +49 -0
  9. data/lib/gtksourceview4/loader.rb +49 -0
  10. data/lib/gtksourceview4/mark-attributes.rb +29 -0
  11. data/test/run-test.rb +62 -0
  12. data/test/test-mark-attributes.rb +26 -0
  13. data/test/test-source-gutter-renderer.rb +33 -0
  14. data/test/test-source-language-manager.rb +46 -0
  15. data/test/test-source-view.rb +55 -0
  16. data/vendor/local/bin/libgtksourceview-4-0.dll +0 -0
  17. data/vendor/local/include/gtksourceview-4/gtksourceview/completion-providers/words/gtksourcecompletionwords.h +72 -0
  18. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksource-enumtypes.h +107 -0
  19. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksource.h +67 -0
  20. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceautocleanups.h +63 -0
  21. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcebuffer.h +279 -0
  22. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcecompletion.h +156 -0
  23. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcecompletioncontext.h +102 -0
  24. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcecompletioninfo.h +77 -0
  25. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcecompletionitem.h +92 -0
  26. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcecompletionproposal.h +126 -0
  27. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcecompletionprovider.h +166 -0
  28. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceencoding.h +74 -0
  29. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcefile.h +195 -0
  30. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcefileloader.h +140 -0
  31. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcefilesaver.h +168 -0
  32. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcegutter.h +93 -0
  33. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcegutterrenderer.h +272 -0
  34. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcegutterrendererpixbuf.h +91 -0
  35. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcegutterrenderertext.h +92 -0
  36. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceinit.h +40 -0
  37. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcelanguage.h +98 -0
  38. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcelanguagemanager.h +92 -0
  39. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcemap.h +70 -0
  40. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcemark.h +79 -0
  41. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcemarkattributes.h +112 -0
  42. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceprintcompositor.h +223 -0
  43. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceregion.h +127 -0
  44. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcesearchcontext.h +161 -0
  45. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcesearchsettings.h +100 -0
  46. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcespacedrawer.h +144 -0
  47. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcestyle.h +54 -0
  48. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcestylescheme.h +119 -0
  49. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcestyleschemechooser.h +66 -0
  50. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcestyleschemechooserbutton.h +64 -0
  51. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcestyleschemechooserwidget.h +64 -0
  52. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcestyleschememanager.h +100 -0
  53. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcetag.h +54 -0
  54. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourcetypes.h +73 -0
  55. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceundomanager.h +90 -0
  56. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceutils.h +41 -0
  57. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceversion.h +578 -0
  58. data/vendor/local/include/gtksourceview-4/gtksourceview/gtksourceview.h +266 -0
  59. data/vendor/local/lib/girepository-1.0/GtkSource-4.typelib +0 -0
  60. data/vendor/local/lib/libgtksourceview-4.dll.a +0 -0
  61. data/vendor/local/lib/libgtksourceview-4.la +41 -0
  62. data/vendor/local/lib/pkgconfig/gtksourceview-4.pc +12 -0
  63. data/vendor/local/share/gir-1.0/GtkSource-4.gir +12999 -0
  64. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceBuffer.html +2421 -0
  65. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletion.html +1087 -0
  66. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletionContext.html +402 -0
  67. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletionInfo.html +207 -0
  68. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletionItem.html +497 -0
  69. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletionProposal.html +668 -0
  70. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletionProvider.html +837 -0
  71. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceCompletionWords.html +343 -0
  72. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceEncoding.html +391 -0
  73. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceFile.html +769 -0
  74. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceFileLoader.html +780 -0
  75. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceFileSaver.html +965 -0
  76. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceGutter.html +438 -0
  77. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceGutterRenderer.html +1708 -0
  78. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceGutterRendererPixbuf.html +369 -0
  79. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceGutterRendererText.html +299 -0
  80. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceLanguage.html +579 -0
  81. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceLanguageManager.html +473 -0
  82. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceMap.html +254 -0
  83. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceMark.html +307 -0
  84. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceMarkAttributes.html +788 -0
  85. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourcePrintCompositor.html +2121 -0
  86. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceRegion.html +870 -0
  87. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceSearchContext.html +1216 -0
  88. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceSearchSettings.html +603 -0
  89. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceSpaceDrawer.html +671 -0
  90. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceStyle.html +433 -0
  91. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceStyleScheme.html +396 -0
  92. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceStyleSchemeChooser.html +214 -0
  93. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceStyleSchemeChooserButton.html +127 -0
  94. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceStyleSchemeChooserWidget.html +127 -0
  95. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceStyleSchemeManager.html +460 -0
  96. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceTag.html +179 -0
  97. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceUndoManager.html +460 -0
  98. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/GtkSourceView.html +2369 -0
  99. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/annexes.html +55 -0
  100. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/annotation-glossary.html +74 -0
  101. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-2-0.html +62 -0
  102. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-2-10.html +86 -0
  103. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-2-12.html +34 -0
  104. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-2-2.html +270 -0
  105. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-2-4.html +34 -0
  106. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-2-8.html +46 -0
  107. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-0.html +42 -0
  108. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-10.html +170 -0
  109. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-12.html +38 -0
  110. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-14.html +298 -0
  111. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-16.html +106 -0
  112. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-18.html +114 -0
  113. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-20.html +130 -0
  114. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-22.html +106 -0
  115. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-24.html +126 -0
  116. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-3-4.html +34 -0
  117. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-4-0.html +65 -0
  118. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-deprecated.html +30 -0
  119. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-index-full.html +2586 -0
  120. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/api-reference.html +174 -0
  121. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/completion.html +52 -0
  122. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/file-loading-and-saving.html +43 -0
  123. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/general.html +32 -0
  124. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/gtksourceview-4.0-GtkSourceUtils.html +151 -0
  125. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/gtksourceview-4.0-GtkSourceView-Initialization-and-Finalization.html +100 -0
  126. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/gtksourceview-4.0-Version-Information.html +511 -0
  127. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/gtksourceview-4.0.devhelp2 +819 -0
  128. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/gutter.html +49 -0
  129. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/home.png +0 -0
  130. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/index.html +215 -0
  131. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/intro.html +56 -0
  132. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/lang-reference.html +946 -0
  133. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/lang-tutorial.html +652 -0
  134. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/left-insensitive.png +0 -0
  135. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/left.png +0 -0
  136. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/main-classes.html +37 -0
  137. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/misc.html +52 -0
  138. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/object-tree.html +98 -0
  139. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/porting-guide-3-to-4.html +152 -0
  140. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/porting-guide.html +33 -0
  141. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/printing.html +32 -0
  142. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/right-insensitive.png +0 -0
  143. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/right.png +0 -0
  144. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/search-and-replace.html +37 -0
  145. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/style-reference.html +305 -0
  146. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/style.css +483 -0
  147. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/styling.html +49 -0
  148. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/syntax-highlighting-reference.html +49 -0
  149. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/syntax-highlighting.html +37 -0
  150. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/up-insensitive.png +0 -0
  151. data/vendor/local/share/gtk-doc/html/gtksourceview-4.0/up.png +0 -0
  152. data/vendor/local/share/gtksourceview-4/language-specs/R.lang +2198 -0
  153. data/vendor/local/share/gtksourceview-4/language-specs/abnf.lang +109 -0
  154. data/vendor/local/share/gtksourceview-4/language-specs/actionscript.lang +267 -0
  155. data/vendor/local/share/gtksourceview-4/language-specs/ada.lang +220 -0
  156. data/vendor/local/share/gtksourceview-4/language-specs/ansforth94.lang +728 -0
  157. data/vendor/local/share/gtksourceview-4/language-specs/asp.lang +1096 -0
  158. data/vendor/local/share/gtksourceview-4/language-specs/automake.lang +329 -0
  159. data/vendor/local/share/gtksourceview-4/language-specs/awk.lang +137 -0
  160. data/vendor/local/share/gtksourceview-4/language-specs/bennugd.lang +266 -0
  161. data/vendor/local/share/gtksourceview-4/language-specs/bibtex.lang +120 -0
  162. data/vendor/local/share/gtksourceview-4/language-specs/bluespec.lang +187 -0
  163. data/vendor/local/share/gtksourceview-4/language-specs/boo.lang +256 -0
  164. data/vendor/local/share/gtksourceview-4/language-specs/c.lang +343 -0
  165. data/vendor/local/share/gtksourceview-4/language-specs/cg.lang +231 -0
  166. data/vendor/local/share/gtksourceview-4/language-specs/changelog.lang +91 -0
  167. data/vendor/local/share/gtksourceview-4/language-specs/chdr.lang +50 -0
  168. data/vendor/local/share/gtksourceview-4/language-specs/cmake.lang +817 -0
  169. data/vendor/local/share/gtksourceview-4/language-specs/cobol.lang +646 -0
  170. data/vendor/local/share/gtksourceview-4/language-specs/cpp.lang +119 -0
  171. data/vendor/local/share/gtksourceview-4/language-specs/cpphdr.lang +41 -0
  172. data/vendor/local/share/gtksourceview-4/language-specs/csharp.lang +285 -0
  173. data/vendor/local/share/gtksourceview-4/language-specs/css.lang +2411 -0
  174. data/vendor/local/share/gtksourceview-4/language-specs/csv.lang +73 -0
  175. data/vendor/local/share/gtksourceview-4/language-specs/cuda.lang +281 -0
  176. data/vendor/local/share/gtksourceview-4/language-specs/d.lang +317 -0
  177. data/vendor/local/share/gtksourceview-4/language-specs/def.lang +261 -0
  178. data/vendor/local/share/gtksourceview-4/language-specs/desktop.lang +297 -0
  179. data/vendor/local/share/gtksourceview-4/language-specs/diff.lang +84 -0
  180. data/vendor/local/share/gtksourceview-4/language-specs/docbook.lang +475 -0
  181. data/vendor/local/share/gtksourceview-4/language-specs/dosbatch.lang +166 -0
  182. data/vendor/local/share/gtksourceview-4/language-specs/dot.lang +139 -0
  183. data/vendor/local/share/gtksourceview-4/language-specs/dpatch.lang +47 -0
  184. data/vendor/local/share/gtksourceview-4/language-specs/dtd.lang +139 -0
  185. data/vendor/local/share/gtksourceview-4/language-specs/dtl.lang +297 -0
  186. data/vendor/local/share/gtksourceview-4/language-specs/eiffel.lang +238 -0
  187. data/vendor/local/share/gtksourceview-4/language-specs/erlang.lang +262 -0
  188. data/vendor/local/share/gtksourceview-4/language-specs/fcl.lang +113 -0
  189. data/vendor/local/share/gtksourceview-4/language-specs/forth.lang +234 -0
  190. data/vendor/local/share/gtksourceview-4/language-specs/fortran.lang +710 -0
  191. data/vendor/local/share/gtksourceview-4/language-specs/fsharp.lang +324 -0
  192. data/vendor/local/share/gtksourceview-4/language-specs/gap.lang +84 -0
  193. data/vendor/local/share/gtksourceview-4/language-specs/gdb-log.lang +151 -0
  194. data/vendor/local/share/gtksourceview-4/language-specs/genie.lang +237 -0
  195. data/vendor/local/share/gtksourceview-4/language-specs/glsl.lang +482 -0
  196. data/vendor/local/share/gtksourceview-4/language-specs/go.lang +274 -0
  197. data/vendor/local/share/gtksourceview-4/language-specs/groovy.lang +330 -0
  198. data/vendor/local/share/gtksourceview-4/language-specs/gtk-doc.lang +90 -0
  199. data/vendor/local/share/gtksourceview-4/language-specs/gtkrc.lang +115 -0
  200. data/vendor/local/share/gtksourceview-4/language-specs/haddock.lang +161 -0
  201. data/vendor/local/share/gtksourceview-4/language-specs/haskell-literate.lang +58 -0
  202. data/vendor/local/share/gtksourceview-4/language-specs/haskell.lang +227 -0
  203. data/vendor/local/share/gtksourceview-4/language-specs/haxe.lang +237 -0
  204. data/vendor/local/share/gtksourceview-4/language-specs/html.lang +286 -0
  205. data/vendor/local/share/gtksourceview-4/language-specs/idl-exelis.lang +619 -0
  206. data/vendor/local/share/gtksourceview-4/language-specs/idl.lang +153 -0
  207. data/vendor/local/share/gtksourceview-4/language-specs/imagej.lang +783 -0
  208. data/vendor/local/share/gtksourceview-4/language-specs/ini.lang +94 -0
  209. data/vendor/local/share/gtksourceview-4/language-specs/j.lang +239 -0
  210. data/vendor/local/share/gtksourceview-4/language-specs/jade.lang +248 -0
  211. data/vendor/local/share/gtksourceview-4/language-specs/java.lang +188 -0
  212. data/vendor/local/share/gtksourceview-4/language-specs/javascript.lang +354 -0
  213. data/vendor/local/share/gtksourceview-4/language-specs/json.lang +124 -0
  214. data/vendor/local/share/gtksourceview-4/language-specs/julia.lang +376 -0
  215. data/vendor/local/share/gtksourceview-4/language-specs/kotlin.lang +389 -0
  216. data/vendor/local/share/gtksourceview-4/language-specs/language.dtd +72 -0
  217. data/vendor/local/share/gtksourceview-4/language-specs/language.rng +372 -0
  218. data/vendor/local/share/gtksourceview-4/language-specs/language2.rng +481 -0
  219. data/vendor/local/share/gtksourceview-4/language-specs/latex.lang +636 -0
  220. data/vendor/local/share/gtksourceview-4/language-specs/less.lang +793 -0
  221. data/vendor/local/share/gtksourceview-4/language-specs/lex.lang +208 -0
  222. data/vendor/local/share/gtksourceview-4/language-specs/libtool.lang +55 -0
  223. data/vendor/local/share/gtksourceview-4/language-specs/llvm.lang +314 -0
  224. data/vendor/local/share/gtksourceview-4/language-specs/logcat.lang +107 -0
  225. data/vendor/local/share/gtksourceview-4/language-specs/lua.lang +301 -0
  226. data/vendor/local/share/gtksourceview-4/language-specs/m4.lang +1374 -0
  227. data/vendor/local/share/gtksourceview-4/language-specs/makefile.lang +190 -0
  228. data/vendor/local/share/gtksourceview-4/language-specs/mallard.lang +123 -0
  229. data/vendor/local/share/gtksourceview-4/language-specs/markdown.lang +401 -0
  230. data/vendor/local/share/gtksourceview-4/language-specs/matlab.lang +148 -0
  231. data/vendor/local/share/gtksourceview-4/language-specs/maxima.lang +1864 -0
  232. data/vendor/local/share/gtksourceview-4/language-specs/mediawiki.lang +326 -0
  233. data/vendor/local/share/gtksourceview-4/language-specs/meson.lang +132 -0
  234. data/vendor/local/share/gtksourceview-4/language-specs/modelica.lang +261 -0
  235. data/vendor/local/share/gtksourceview-4/language-specs/mxml.lang +64 -0
  236. data/vendor/local/share/gtksourceview-4/language-specs/nemerle.lang +262 -0
  237. data/vendor/local/share/gtksourceview-4/language-specs/netrexx.lang +318 -0
  238. data/vendor/local/share/gtksourceview-4/language-specs/nsis.lang +87 -0
  239. data/vendor/local/share/gtksourceview-4/language-specs/objc.lang +119 -0
  240. data/vendor/local/share/gtksourceview-4/language-specs/objj.lang +127 -0
  241. data/vendor/local/share/gtksourceview-4/language-specs/ocaml.lang +301 -0
  242. data/vendor/local/share/gtksourceview-4/language-specs/ocl.lang +138 -0
  243. data/vendor/local/share/gtksourceview-4/language-specs/octave.lang +1757 -0
  244. data/vendor/local/share/gtksourceview-4/language-specs/ooc.lang +264 -0
  245. data/vendor/local/share/gtksourceview-4/language-specs/opal.lang +342 -0
  246. data/vendor/local/share/gtksourceview-4/language-specs/opencl.lang +599 -0
  247. data/vendor/local/share/gtksourceview-4/language-specs/pascal.lang +267 -0
  248. data/vendor/local/share/gtksourceview-4/language-specs/perl.lang +1044 -0
  249. data/vendor/local/share/gtksourceview-4/language-specs/php.lang +362 -0
  250. data/vendor/local/share/gtksourceview-4/language-specs/pig.lang +292 -0
  251. data/vendor/local/share/gtksourceview-4/language-specs/pkgconfig.lang +61 -0
  252. data/vendor/local/share/gtksourceview-4/language-specs/po.lang +93 -0
  253. data/vendor/local/share/gtksourceview-4/language-specs/prolog.lang +248 -0
  254. data/vendor/local/share/gtksourceview-4/language-specs/protobuf.lang +134 -0
  255. data/vendor/local/share/gtksourceview-4/language-specs/puppet.lang +696 -0
  256. data/vendor/local/share/gtksourceview-4/language-specs/python.lang +475 -0
  257. data/vendor/local/share/gtksourceview-4/language-specs/python3.lang +198 -0
  258. data/vendor/local/share/gtksourceview-4/language-specs/rpmspec.lang +215 -0
  259. data/vendor/local/share/gtksourceview-4/language-specs/rst.lang +141 -0
  260. data/vendor/local/share/gtksourceview-4/language-specs/ruby.lang +748 -0
  261. data/vendor/local/share/gtksourceview-4/language-specs/rust.lang +334 -0
  262. data/vendor/local/share/gtksourceview-4/language-specs/scala.lang +383 -0
  263. data/vendor/local/share/gtksourceview-4/language-specs/scheme.lang +301 -0
  264. data/vendor/local/share/gtksourceview-4/language-specs/scilab.lang +208 -0
  265. data/vendor/local/share/gtksourceview-4/language-specs/scss.lang +878 -0
  266. data/vendor/local/share/gtksourceview-4/language-specs/sh.lang +516 -0
  267. data/vendor/local/share/gtksourceview-4/language-specs/sml.lang +200 -0
  268. data/vendor/local/share/gtksourceview-4/language-specs/sparql.lang +451 -0
  269. data/vendor/local/share/gtksourceview-4/language-specs/sql.lang +617 -0
  270. data/vendor/local/share/gtksourceview-4/language-specs/sweave.lang +66 -0
  271. data/vendor/local/share/gtksourceview-4/language-specs/swift.lang +440 -0
  272. data/vendor/local/share/gtksourceview-4/language-specs/systemverilog.lang +262 -0
  273. data/vendor/local/share/gtksourceview-4/language-specs/t2t.lang +149 -0
  274. data/vendor/local/share/gtksourceview-4/language-specs/tcl.lang +145 -0
  275. data/vendor/local/share/gtksourceview-4/language-specs/tera.lang +142 -0
  276. data/vendor/local/share/gtksourceview-4/language-specs/texinfo.lang +447 -0
  277. data/vendor/local/share/gtksourceview-4/language-specs/thrift.lang +266 -0
  278. data/vendor/local/share/gtksourceview-4/language-specs/toml.lang +282 -0
  279. data/vendor/local/share/gtksourceview-4/language-specs/vala.lang +411 -0
  280. data/vendor/local/share/gtksourceview-4/language-specs/vbnet.lang +247 -0
  281. data/vendor/local/share/gtksourceview-4/language-specs/verilog.lang +475 -0
  282. data/vendor/local/share/gtksourceview-4/language-specs/vhdl.lang +247 -0
  283. data/vendor/local/share/gtksourceview-4/language-specs/xml.lang +219 -0
  284. data/vendor/local/share/gtksourceview-4/language-specs/xslt.lang +120 -0
  285. data/vendor/local/share/gtksourceview-4/language-specs/yacc.lang +176 -0
  286. data/vendor/local/share/gtksourceview-4/language-specs/yaml.lang +213 -0
  287. data/vendor/local/share/gtksourceview-4/styles/classic.xml +122 -0
  288. data/vendor/local/share/gtksourceview-4/styles/cobalt.xml +150 -0
  289. data/vendor/local/share/gtksourceview-4/styles/kate.xml +171 -0
  290. data/vendor/local/share/gtksourceview-4/styles/oblivion.xml +133 -0
  291. data/vendor/local/share/gtksourceview-4/styles/solarized-dark.xml +103 -0
  292. data/vendor/local/share/gtksourceview-4/styles/solarized-light.xml +102 -0
  293. data/vendor/local/share/gtksourceview-4/styles/styles.rng +139 -0
  294. data/vendor/local/share/gtksourceview-4/styles/tango.xml +130 -0
  295. data/vendor/local/share/license/gtksourceview/AUTHORS +15 -0
  296. data/vendor/local/share/license/gtksourceview/COPYING +504 -0
  297. data/vendor/local/share/locale/ar/LC_MESSAGES/gtksourceview-4.mo +0 -0
  298. data/vendor/local/share/locale/as/LC_MESSAGES/gtksourceview-4.mo +0 -0
  299. data/vendor/local/share/locale/ast/LC_MESSAGES/gtksourceview-4.mo +0 -0
  300. data/vendor/local/share/locale/az/LC_MESSAGES/gtksourceview-4.mo +0 -0
  301. data/vendor/local/share/locale/be/LC_MESSAGES/gtksourceview-4.mo +0 -0
  302. data/vendor/local/share/locale/bg/LC_MESSAGES/gtksourceview-4.mo +0 -0
  303. data/vendor/local/share/locale/bn/LC_MESSAGES/gtksourceview-4.mo +0 -0
  304. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/gtksourceview-4.mo +0 -0
  305. data/vendor/local/share/locale/bs/LC_MESSAGES/gtksourceview-4.mo +0 -0
  306. data/vendor/local/share/locale/ca/LC_MESSAGES/gtksourceview-4.mo +0 -0
  307. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/gtksourceview-4.mo +0 -0
  308. data/vendor/local/share/locale/cs/LC_MESSAGES/gtksourceview-4.mo +0 -0
  309. data/vendor/local/share/locale/cy/LC_MESSAGES/gtksourceview-4.mo +0 -0
  310. data/vendor/local/share/locale/da/LC_MESSAGES/gtksourceview-4.mo +0 -0
  311. data/vendor/local/share/locale/de/LC_MESSAGES/gtksourceview-4.mo +0 -0
  312. data/vendor/local/share/locale/dz/LC_MESSAGES/gtksourceview-4.mo +0 -0
  313. data/vendor/local/share/locale/el/LC_MESSAGES/gtksourceview-4.mo +0 -0
  314. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/gtksourceview-4.mo +0 -0
  315. data/vendor/local/share/locale/en_CA/LC_MESSAGES/gtksourceview-4.mo +0 -0
  316. data/vendor/local/share/locale/en_GB/LC_MESSAGES/gtksourceview-4.mo +0 -0
  317. data/vendor/local/share/locale/eo/LC_MESSAGES/gtksourceview-4.mo +0 -0
  318. data/vendor/local/share/locale/es/LC_MESSAGES/gtksourceview-4.mo +0 -0
  319. data/vendor/local/share/locale/et/LC_MESSAGES/gtksourceview-4.mo +0 -0
  320. data/vendor/local/share/locale/eu/LC_MESSAGES/gtksourceview-4.mo +0 -0
  321. data/vendor/local/share/locale/fa/LC_MESSAGES/gtksourceview-4.mo +0 -0
  322. data/vendor/local/share/locale/fi/LC_MESSAGES/gtksourceview-4.mo +0 -0
  323. data/vendor/local/share/locale/fr/LC_MESSAGES/gtksourceview-4.mo +0 -0
  324. data/vendor/local/share/locale/fur/LC_MESSAGES/gtksourceview-4.mo +0 -0
  325. data/vendor/local/share/locale/ga/LC_MESSAGES/gtksourceview-4.mo +0 -0
  326. data/vendor/local/share/locale/gl/LC_MESSAGES/gtksourceview-4.mo +0 -0
  327. data/vendor/local/share/locale/gu/LC_MESSAGES/gtksourceview-4.mo +0 -0
  328. data/vendor/local/share/locale/he/LC_MESSAGES/gtksourceview-4.mo +0 -0
  329. data/vendor/local/share/locale/hi/LC_MESSAGES/gtksourceview-4.mo +0 -0
  330. data/vendor/local/share/locale/hr/LC_MESSAGES/gtksourceview-4.mo +0 -0
  331. data/vendor/local/share/locale/hu/LC_MESSAGES/gtksourceview-4.mo +0 -0
  332. data/vendor/local/share/locale/id/LC_MESSAGES/gtksourceview-4.mo +0 -0
  333. data/vendor/local/share/locale/it/LC_MESSAGES/gtksourceview-4.mo +0 -0
  334. data/vendor/local/share/locale/ja/LC_MESSAGES/gtksourceview-4.mo +0 -0
  335. data/vendor/local/share/locale/kk/LC_MESSAGES/gtksourceview-4.mo +0 -0
  336. data/vendor/local/share/locale/kn/LC_MESSAGES/gtksourceview-4.mo +0 -0
  337. data/vendor/local/share/locale/ko/LC_MESSAGES/gtksourceview-4.mo +0 -0
  338. data/vendor/local/share/locale/lt/LC_MESSAGES/gtksourceview-4.mo +0 -0
  339. data/vendor/local/share/locale/lv/LC_MESSAGES/gtksourceview-4.mo +0 -0
  340. data/vendor/local/share/locale/mai/LC_MESSAGES/gtksourceview-4.mo +0 -0
  341. data/vendor/local/share/locale/mg/LC_MESSAGES/gtksourceview-4.mo +0 -0
  342. data/vendor/local/share/locale/mk/LC_MESSAGES/gtksourceview-4.mo +0 -0
  343. data/vendor/local/share/locale/ml/LC_MESSAGES/gtksourceview-4.mo +0 -0
  344. data/vendor/local/share/locale/mn/LC_MESSAGES/gtksourceview-4.mo +0 -0
  345. data/vendor/local/share/locale/mr/LC_MESSAGES/gtksourceview-4.mo +0 -0
  346. data/vendor/local/share/locale/ms/LC_MESSAGES/gtksourceview-4.mo +0 -0
  347. data/vendor/local/share/locale/nb/LC_MESSAGES/gtksourceview-4.mo +0 -0
  348. data/vendor/local/share/locale/ne/LC_MESSAGES/gtksourceview-4.mo +0 -0
  349. data/vendor/local/share/locale/nl/LC_MESSAGES/gtksourceview-4.mo +0 -0
  350. data/vendor/local/share/locale/nn/LC_MESSAGES/gtksourceview-4.mo +0 -0
  351. data/vendor/local/share/locale/oc/LC_MESSAGES/gtksourceview-4.mo +0 -0
  352. data/vendor/local/share/locale/or/LC_MESSAGES/gtksourceview-4.mo +0 -0
  353. data/vendor/local/share/locale/pa/LC_MESSAGES/gtksourceview-4.mo +0 -0
  354. data/vendor/local/share/locale/pl/LC_MESSAGES/gtksourceview-4.mo +0 -0
  355. data/vendor/local/share/locale/pt/LC_MESSAGES/gtksourceview-4.mo +0 -0
  356. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gtksourceview-4.mo +0 -0
  357. data/vendor/local/share/locale/ro/LC_MESSAGES/gtksourceview-4.mo +0 -0
  358. data/vendor/local/share/locale/ru/LC_MESSAGES/gtksourceview-4.mo +0 -0
  359. data/vendor/local/share/locale/rw/LC_MESSAGES/gtksourceview-4.mo +0 -0
  360. data/vendor/local/share/locale/si/LC_MESSAGES/gtksourceview-4.mo +0 -0
  361. data/vendor/local/share/locale/sk/LC_MESSAGES/gtksourceview-4.mo +0 -0
  362. data/vendor/local/share/locale/sl/LC_MESSAGES/gtksourceview-4.mo +0 -0
  363. data/vendor/local/share/locale/sq/LC_MESSAGES/gtksourceview-4.mo +0 -0
  364. data/vendor/local/share/locale/sr/LC_MESSAGES/gtksourceview-4.mo +0 -0
  365. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/gtksourceview-4.mo +0 -0
  366. data/vendor/local/share/locale/sv/LC_MESSAGES/gtksourceview-4.mo +0 -0
  367. data/vendor/local/share/locale/ta/LC_MESSAGES/gtksourceview-4.mo +0 -0
  368. data/vendor/local/share/locale/te/LC_MESSAGES/gtksourceview-4.mo +0 -0
  369. data/vendor/local/share/locale/tg/LC_MESSAGES/gtksourceview-4.mo +0 -0
  370. data/vendor/local/share/locale/th/LC_MESSAGES/gtksourceview-4.mo +0 -0
  371. data/vendor/local/share/locale/tr/LC_MESSAGES/gtksourceview-4.mo +0 -0
  372. data/vendor/local/share/locale/ug/LC_MESSAGES/gtksourceview-4.mo +0 -0
  373. data/vendor/local/share/locale/uk/LC_MESSAGES/gtksourceview-4.mo +0 -0
  374. data/vendor/local/share/locale/vi/LC_MESSAGES/gtksourceview-4.mo +0 -0
  375. data/vendor/local/share/locale/xh/LC_MESSAGES/gtksourceview-4.mo +0 -0
  376. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gtksourceview-4.mo +0 -0
  377. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gtksourceview-4.mo +0 -0
  378. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gtksourceview-4.mo +0 -0
  379. metadata +437 -0
@@ -0,0 +1,119 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Authors: Marco Barisione, Emanuele Aina
7
+ Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
8
+ Copyright (C) 2005-2007 Emanuele Aina
9
+
10
+ GtkSourceView is free software; you can redistribute it and/or
11
+ modify it under the terms of the GNU Lesser General Public
12
+ License as published by the Free Software Foundation; either
13
+ version 2.1 of the License, or (at your option) any later version.
14
+
15
+ GtkSourceView is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
+ Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
22
+
23
+ -->
24
+ <language id="cpp" name="C++" version="2.0" _section="Source">
25
+ <metadata>
26
+ <property name="mimetypes">text/x-c++;text/x-cpp;text/x-c++src</property>
27
+ <property name="globs">*.cpp;*.cxx;*.cc;*.C;*.c++</property>
28
+ <property name="line-comment-start">//</property>
29
+ <property name="block-comment-start">/*</property>
30
+ <property name="block-comment-end">*/</property>
31
+ </metadata>
32
+
33
+ <styles>
34
+ <style id="keyword" name="Keyword" map-to="c:keyword"/>
35
+ <style id="type" name="Data Type" map-to="c:type"/>
36
+ <style id="common-defines" name="Common Defines" map-to="c:common-defines"/>
37
+ </styles>
38
+
39
+ <definitions>
40
+ <!-- C++-specific stuff (i.e. stuff which is not C) -->
41
+ <context id="cpp-proper">
42
+ <include>
43
+ <context id="keywords" style-ref="keyword">
44
+ <keyword>alignas</keyword>
45
+ <keyword>alignof</keyword>
46
+ <keyword>and</keyword>
47
+ <keyword>and_eq</keyword>
48
+ <keyword>bitand</keyword>
49
+ <keyword>bitor</keyword>
50
+ <keyword>catch</keyword>
51
+ <keyword>compl</keyword>
52
+ <keyword>constexpr</keyword>
53
+ <keyword>const_cast</keyword>
54
+ <keyword>decltype</keyword>
55
+ <keyword>delete</keyword>
56
+ <keyword>dynamic_cast</keyword>
57
+ <keyword>false</keyword>
58
+ <keyword>final</keyword>
59
+ <keyword>friend</keyword>
60
+ <keyword>new</keyword>
61
+ <keyword>noexcept</keyword>
62
+ <keyword>not</keyword>
63
+ <keyword>not_eq</keyword>
64
+ <keyword>nullptr</keyword>
65
+ <keyword>operator</keyword>
66
+ <keyword>or</keyword>
67
+ <keyword>or_eq</keyword>
68
+ <keyword>override</keyword>
69
+ <keyword>private</keyword>
70
+ <keyword>protected</keyword>
71
+ <keyword>public</keyword>
72
+ <keyword>reinterpret_cast</keyword>
73
+ <keyword>static_assert</keyword>
74
+ <keyword>static_cast</keyword>
75
+ <keyword>this</keyword>
76
+ <keyword>thread_local</keyword>
77
+ <keyword>throw</keyword>
78
+ <keyword>true</keyword>
79
+ <keyword>try</keyword>
80
+ <keyword>typeid</keyword>
81
+ <keyword>using</keyword>
82
+ <keyword>xor</keyword>
83
+ <keyword>xor_eq</keyword>
84
+
85
+ <keyword>class</keyword>
86
+ <keyword>namespace</keyword>
87
+ <keyword>typename</keyword>
88
+ <keyword>template</keyword>
89
+ <keyword>virtual</keyword>
90
+ </context>
91
+
92
+ <context id="types" style-ref="type">
93
+ <keyword>bool</keyword>
94
+ <keyword>char16_t</keyword>
95
+ <keyword>char32_t</keyword>
96
+ <keyword>explicit</keyword>
97
+ <keyword>export</keyword>
98
+ <keyword>inline</keyword>
99
+ <keyword>mutable</keyword>
100
+ <keyword>nullptr_t</keyword>
101
+ <keyword>wchar_t</keyword>
102
+ </context>
103
+
104
+ <context id="common-defines" style-ref="common-defines">
105
+ <keyword>__STDC__</keyword>
106
+ <keyword>__cplusplus</keyword>
107
+ </context>
108
+ </include>
109
+ </context>
110
+
111
+ <!-- actual language definition: C++-specific stuff plus everything from C -->
112
+ <context id="cpp">
113
+ <include>
114
+ <context ref="cpp-proper"/>
115
+ <context ref="c:c"/>
116
+ </include>
117
+ </context>
118
+ </definitions>
119
+ </language>
@@ -0,0 +1,41 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Authors: Marco Barisione, Emanuele Aina
7
+ Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
8
+ Copyright (C) 2005-2007 Emanuele Aina
9
+
10
+ GtkSourceView is free software; you can redistribute it and/or
11
+ modify it under the terms of the GNU Lesser General Public
12
+ License as published by the Free Software Foundation; either
13
+ version 2.1 of the License, or (at your option) any later version.
14
+
15
+ GtkSourceView is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
+ Lesser General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Lesser General Public License
21
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
22
+
23
+ -->
24
+ <language id="cpphdr" _name="C++ Header" version="2.0" _section="Source">
25
+ <metadata>
26
+ <property name="mimetypes">text/x-c++hdr</property>
27
+ <property name="globs">*.hh;*.hp;*.hpp;*.h++</property>
28
+ <property name="line-comment-start">//</property>
29
+ <property name="block-comment-start">/*</property>
30
+ <property name="block-comment-end">*/</property>
31
+ </metadata>
32
+
33
+ <definitions>
34
+ <context id="cpphdr">
35
+ <include>
36
+ <context ref="cpp:cpp-proper"/>
37
+ <context ref="c:c"/>
38
+ </include>
39
+ </context>
40
+ </definitions>
41
+ </language>
@@ -0,0 +1,285 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Author: John Luke <jluke@cfl.rr.com>
7
+ Copyright (C) 2003 John Luke <jluke@cfl.rr.com>
8
+ Copyright (C) 2004 Jeroen Zwartepoorte <jeroen@xs4all.nl>
9
+ Copyright (C) 2004 Alessio Frusciante <algol@firenze.linux.it>
10
+ Copyright (C) 2005 Brion Vibber <brion@pobox.com>
11
+
12
+ GtkSourceView is free software; you can redistribute it and/or
13
+ modify it under the terms of the GNU Lesser General Public
14
+ License as published by the Free Software Foundation; either
15
+ version 2.1 of the License, or (at your option) any later version.
16
+
17
+ GtkSourceView is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
+ Lesser General Public License for more details.
21
+
22
+ You should have received a copy of the GNU Lesser General Public License
23
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
24
+
25
+ -->
26
+ <language id="c-sharp" name="C#" version="2.0" _section="Source">
27
+ <metadata>
28
+ <property name="mimetypes">text/x-csharpsrc;text/x-csharp</property>
29
+ <property name="globs">*.cs</property>
30
+ <property name="line-comment-start">//</property>
31
+ <property name="block-comment-start">/*</property>
32
+ <property name="block-comment-end">*/</property>
33
+ </metadata>
34
+
35
+ <styles>
36
+ <style id="comment" name="Comment" map-to="def:comment"/>
37
+ <style id="error" name="Error" map-to="def:error"/>
38
+ <style id="type" name="Data Type" map-to="def:type"/>
39
+ <style id="string" name="String" map-to="def:string"/>
40
+ <style id="char" name="Character" map-to="def:character"/>
41
+ <style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
42
+ <style id="format" name="String Format" map-to="def:special-char"/>
43
+ <style id="keyword" name="Keyword" map-to="def:keyword"/>
44
+ <style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
45
+ <style id="null-value" name="Null Value" map-to="def:special-constant"/>
46
+ <style id="boolean" name="Boolean value" map-to="def:boolean"/>
47
+ <style id="decimal" name="Decimal number" map-to="def:decimal"/>
48
+ <style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
49
+ <style id="real" name="Real number" map-to="def:floating-point"/>
50
+ </styles>
51
+
52
+ <definitions>
53
+
54
+ <context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
55
+ <start>//</start>
56
+ <include>
57
+ <context ref="def:in-line-comment"/>
58
+ </include>
59
+ </context>
60
+
61
+ <context id="multiline-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
62
+ <start>/\*</start>
63
+ <end>\*/</end>
64
+ <include>
65
+ <context ref="def:in-comment"/>
66
+ </include>
67
+ </context>
68
+
69
+ <context id="close-comment-outside-comment" style-ref="error">
70
+ <match>\*/(?!\*)</match>
71
+ </context>
72
+
73
+ <define-regex id="preproc-start">^\s*#\s*</define-regex>
74
+
75
+ <context id="if-false-comment" style-ref="comment">
76
+ <start>\%{preproc-start}if\s*false\b</start>
77
+ <end>\%{preproc-start}(endif|else|elif)\b</end>
78
+ <include>
79
+ <context id="if-in-if-false">
80
+ <start>\%{preproc-start}if(n?def)?\b</start>
81
+ <end>\%{preproc-start}endif\b</end>
82
+ <include>
83
+ <context ref="if-in-if-false"/>
84
+ <context ref="def:in-comment"/>
85
+ </include>
86
+ </context>
87
+ <context ref="def:in-comment"/>
88
+ </include>
89
+ </context>
90
+
91
+ <context id="preprocessor" style-ref="preprocessor" end-at-line-end="true">
92
+ <start extended="true">
93
+ \%{preproc-start}
94
+ (define|undef|if(n?def)?|else|elif|endif|line|error|warning|region|endregion)
95
+ \b
96
+ </start>
97
+ <include>
98
+ <context ref="line-comment"/>
99
+ <context ref="multiline-comment"/>
100
+ </include>
101
+ </context>
102
+
103
+ <context id="multiline-string" style-ref="string" class="string" class-disabled="no-spell-check">
104
+ <start>@"</start>
105
+ <end>"</end>
106
+ </context>
107
+
108
+ <context id="keywords" style-ref="keyword">
109
+ <keyword>async</keyword>
110
+ <keyword>await</keyword>
111
+ <keyword>class</keyword>
112
+ <keyword>delegate</keyword>
113
+ <keyword>enum</keyword>
114
+ <keyword>event</keyword>
115
+ <keyword>interface</keyword>
116
+ <keyword>namespace</keyword>
117
+ <keyword>struct</keyword>
118
+ <keyword>using</keyword>
119
+ <keyword>abstract</keyword>
120
+ <keyword>const</keyword>
121
+ <keyword>explicit</keyword>
122
+ <keyword>extern</keyword>
123
+ <keyword>fixed</keyword>
124
+ <keyword>implicit</keyword>
125
+ <keyword>internal</keyword>
126
+ <keyword>lock</keyword>
127
+ <keyword>out</keyword>
128
+ <keyword>override</keyword>
129
+ <keyword>params</keyword>
130
+ <keyword>partial</keyword>
131
+ <keyword>private</keyword>
132
+ <keyword>protected</keyword>
133
+ <keyword>public</keyword>
134
+ <keyword>ref</keyword>
135
+ <keyword>sealed</keyword>
136
+ <keyword>static</keyword>
137
+ <keyword>readonly</keyword>
138
+ <keyword>unsafe</keyword>
139
+ <keyword>virtual</keyword>
140
+ <keyword>volatile</keyword>
141
+ <keyword>add</keyword>
142
+ <keyword>as</keyword>
143
+ <keyword>assembly</keyword>
144
+ <keyword>base</keyword>
145
+ <keyword>break</keyword>
146
+ <keyword>case</keyword>
147
+ <keyword>catch</keyword>
148
+ <keyword>checked</keyword>
149
+ <keyword>continue</keyword>
150
+ <keyword>default</keyword>
151
+ <keyword>do</keyword>
152
+ <keyword>else</keyword>
153
+ <keyword>finally</keyword>
154
+ <keyword>for</keyword>
155
+ <keyword>foreach</keyword>
156
+ <keyword>get</keyword>
157
+ <keyword>goto</keyword>
158
+ <keyword>if</keyword>
159
+ <keyword>in</keyword>
160
+ <keyword>is</keyword>
161
+ <keyword>nameof</keyword>
162
+ <keyword>new</keyword>
163
+ <keyword>remove</keyword>
164
+ <keyword>return</keyword>
165
+ <keyword>set</keyword>
166
+ <keyword>sizeof</keyword>
167
+ <keyword>stackalloc</keyword>
168
+ <keyword>super</keyword>
169
+ <keyword>switch</keyword>
170
+ <keyword>this</keyword>
171
+ <keyword>throw</keyword>
172
+ <keyword>try</keyword>
173
+ <keyword>typeof</keyword>
174
+ <keyword>unchecked</keyword>
175
+ <keyword>value</keyword>
176
+ <keyword>var</keyword>
177
+ <keyword>void</keyword>
178
+ <keyword>while</keyword>
179
+ <keyword>yield</keyword>
180
+ </context>
181
+
182
+ <context id="primitives" style-ref="type">
183
+ <keyword>bool</keyword>
184
+ <keyword>byte</keyword>
185
+ <keyword>char</keyword>
186
+ <keyword>decimal</keyword>
187
+ <keyword>double</keyword>
188
+ <keyword>dynamic</keyword>
189
+ <keyword>float</keyword>
190
+ <keyword>int</keyword>
191
+ <keyword>long</keyword>
192
+ <keyword>object</keyword>
193
+ <keyword>operator</keyword>
194
+ <keyword>sbyte</keyword>
195
+ <keyword>short</keyword>
196
+ <keyword>string</keyword>
197
+ <keyword>uint</keyword>
198
+ <keyword>ulong</keyword>
199
+ <keyword>ushort</keyword>
200
+ </context>
201
+
202
+ <context id="null-value" style-ref="null-value">
203
+ <keyword>null</keyword>
204
+ </context>
205
+
206
+ <context id="boolean" style-ref="boolean">
207
+ <keyword>false</keyword>
208
+ <keyword>true</keyword>
209
+ </context>
210
+
211
+ <context id="decimal" style-ref="decimal">
212
+ <match extended="true">
213
+ (?&lt;![\w\.])
214
+ [0-9]+[uUlL]*
215
+ (?![\w\.])
216
+ </match>
217
+ </context>
218
+
219
+ <context id="hexadecimal" style-ref="hexadecimal">
220
+ <match extended="true">
221
+ (?&lt;![\w\.])
222
+ 0[xX][a-fA-F0-9]+[uUlL]*
223
+ (?![\w\.])
224
+ </match>
225
+ </context>
226
+
227
+ <context id="real" style-ref="real">
228
+ <match extended="true">
229
+ (?&lt;![\w\.])
230
+ ((\.[0-9]+|[0-9]+\.[0-9]*)([Ee][+-]?[0-9]*)?[FfDdMm]?|
231
+ ([0-9]+[Ee][+-]?[0-9]*)[FfDdMm]? |
232
+ ([0-9]+)[FfDdMm])
233
+ (?![\w\.])
234
+ </match>
235
+ </context>
236
+
237
+ <!-- FIXME Taken from C, is it right? -->
238
+ <define-regex id="escaped-character" extended="true">
239
+ \\( # leading backslash
240
+ [\\\"\'nrbtfav\?] | # escaped character
241
+ [0-7]{1,3} | # one, two, or three octal digits
242
+ x[0-9A-Fa-f]+ # 'x' followed by hex digits
243
+ )
244
+ </define-regex>
245
+
246
+ <context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
247
+ <start>"</start>
248
+ <end>"</end>
249
+ <include>
250
+ <context id="csharp-format" style-ref="format">
251
+ <match>{[0-9][0-9:\#\%,./cdefgnrxtsuDTFGMY]*}</match>
252
+ </context>
253
+ <context id="escaped-character" style-ref="escaped-character">
254
+ <match>\%{escaped-character}</match>
255
+ </context>
256
+ <context ref="def:line-continue"/>
257
+ </include>
258
+ </context>
259
+
260
+ <context id="char" style-ref="char">
261
+ <!-- FIXME I don't know C# syntax -->
262
+ <match>'(\%{escaped-character}|.)'</match>
263
+ </context>
264
+
265
+ <context id="c-sharp" class="no-spell-check">
266
+ <include>
267
+ <context ref="multiline-string"/>
268
+ <context ref="string"/>
269
+ <context ref="char"/>
270
+ <context ref="line-comment"/>
271
+ <context ref="multiline-comment"/>
272
+ <context ref="close-comment-outside-comment"/>
273
+ <context ref="if-false-comment"/>
274
+ <context ref="preprocessor"/>
275
+ <context ref="keywords"/>
276
+ <context ref="primitives"/>
277
+ <context ref="null-value"/>
278
+ <context ref="boolean"/>
279
+ <context ref="decimal"/>
280
+ <context ref="hexadecimal"/>
281
+ <context ref="real"/>
282
+ </include>
283
+ </context>
284
+ </definitions>
285
+ </language>
@@ -0,0 +1,2411 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Author: Scott Martin <scott@coffeeblack.org>
7
+ Copyright (C) 2004 Scott Martin <scott@coffeeblack.org>
8
+ Copyright (C) 2010 Patryk Zawadzki <patrys@pld-linux.org>
9
+ Copyright (C) 2016 Tobias Schönberg <tobias47n9e@gmail.com>
10
+ Copyright (C) 2018 Jeffery To <jeffery.to@gmail.com>
11
+
12
+ GtkSourceView is free software; you can redistribute it and/or
13
+ modify it under the terms of the GNU Lesser General Public
14
+ License as published by the Free Software Foundation; either
15
+ version 2.1 of the License, or (at your option) any later version.
16
+
17
+ GtkSourceView is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
+ Lesser General Public License for more details.
21
+
22
+ You should have received a copy of the GNU Lesser General Public License
23
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
24
+
25
+ -->
26
+ <language id="css" name="CSS" version="2.0" _section="Other">
27
+ <metadata>
28
+ <property name="mimetypes">text/css</property>
29
+ <property name="globs">*.css;*.CSSL</property>
30
+ <property name="block-comment-start">/*</property>
31
+ <property name="block-comment-end">*/</property>
32
+ </metadata>
33
+
34
+ <styles>
35
+
36
+ <!-- global -->
37
+ <style id="error" name="Error" map-to="def:error"/>
38
+ <style id="vendor-specific" name="Vendor Specific" map-to="def:warning"/>
39
+ <style id="keyword" name="Keyword" map-to="def:constant"/>
40
+ <style id="namespace" name="Namespace" map-to="def:keyword"/>
41
+ <style id="symbol" name="Symbol"/>
42
+ <style id="delimiter" name="Delimiter"/>
43
+ <style id="block-delimiter" name="Block Delimiter" map-to="css:delimiter"/>
44
+ <style id="test-delimiter" name="Test Delimiter" map-to="css:delimiter"/>
45
+
46
+ <!-- data types -->
47
+ <style id="name" name="Name"/>
48
+ <style id="escape" name="Escape Sequence" map-to="def:special-char"/>
49
+ <style id="string" name="String" map-to="def:string"/>
50
+ <style id="color" name="Color" map-to="def:base-n-integer"/>
51
+ <style id="number" name="Number" map-to="def:number"/>
52
+ <style id="integer" name="Integer" map-to="def:decimal"/>
53
+ <style id="dimension" name="Dimension" map-to="def:floating-point"/>
54
+ <style id="expression" name="Expression" map-to="def:complex"/>
55
+ <style id="unicode-range" name="Unicode Range"/>
56
+
57
+ <!-- functions -->
58
+ <style id="function" name="Function" map-to="def:function"/>
59
+
60
+ <!-- style properties -->
61
+ <style id="property-name" name="Property Name" map-to="def:keyword"/>
62
+
63
+ <!-- modifiers -->
64
+ <style id="modifier" name="Modifier" map-to="def:keyword"/>
65
+
66
+ <!-- at-rules -->
67
+ <style id="at-rule" name="At-rule" map-to="def:preprocessor"/>
68
+ <style id="at-rule-operator" name="At-rule Operator" map-to="css:at-rule"/>
69
+ <style id="at-rule-inner-selector" name="At-rule Inner Selector" map-to="def:identifier"/>
70
+
71
+ <!-- media queries -->
72
+ <style id="media-query-operator" name="Media Query Operator" map-to="css:at-rule-operator"/>
73
+ <style id="media-type" name="Media Type" map-to="css:property-name"/>
74
+ <style id="media-feature" name="Media Feature" map-to="css:property-name"/>
75
+ <style id="media-feature-value" name="Media Feature Value" map-to="css:keyword"/>
76
+
77
+ <!-- selectors -->
78
+ <style id="selector-symbol" name="Selector Symbol" map-to="css:symbol"/>
79
+ <style id="namespace-qualifier" name="Namespace Qualifier" map-to="css:selector-symbol"/>
80
+ <style id="id-selector" name="ID Selector" map-to="def:statement"/>
81
+ <style id="class-selector" name="Class Selector" map-to="def:identifier"/>
82
+ <style id="type-selector" name="Type Selector" map-to="def:type"/>
83
+ <style id="universal-selector" name="Universal Selector" map-to="css:selector-symbol"/>
84
+ <style id="attribute-selector" name="Attribute Selector" map-to="css:selector-symbol"/>
85
+ <style id="attribute-selector-operator" name="Attribute Selector Operator" map-to="css:selector-symbol"/>
86
+ <style id="attribute-selector-name" name="Attribute Selector Name" map-to="def:type"/>
87
+ <style id="combinator" name="Combinator" map-to="css:selector-symbol"/>
88
+ <style id="pseudo-element" name="Pseudo-element" map-to="def:function"/>
89
+ <style id="pseudo-class" name="Pseudo-class" map-to="def:function"/>
90
+
91
+ </styles>
92
+
93
+ <default-regex-options case-sensitive="false"/>
94
+
95
+ <keyword-char-class>[a-z0-9_-]</keyword-char-class>
96
+
97
+ <definitions>
98
+
99
+ <!-- global -->
100
+
101
+ <!-- https://drafts.csswg.org/css-syntax/#escaping -->
102
+ <define-regex id="escape-regex" extended="true">
103
+ (?:
104
+ \\ # backslash
105
+ (?:
106
+ [^\n\r\f0-9a-f] | # not newline or hex digit; or
107
+ [0-9a-f]{1,6} \s? # 1-6 hex digits, trailing whitespace (not necessary in some cases)
108
+ )
109
+ )
110
+ </define-regex>
111
+
112
+ <!-- https://drafts.csswg.org/css-syntax/#non-ascii-code-point -->
113
+ <define-regex id="non-ascii-regex">[\x{80}-\x{10ffff}]</define-regex>
114
+
115
+ <!--
116
+ a combination of name-start code point and escape
117
+ https://drafts.csswg.org/css-syntax/#name-start-code-point
118
+ https://www.w3.org/TR/selectors-3/#lex
119
+ -->
120
+ <define-regex id="identifier-start-char-regex" extended="true">
121
+ (?:
122
+ [a-z_] |
123
+ \%{non-ascii-regex} |
124
+ \%{escape-regex}
125
+ )
126
+ </define-regex>
127
+
128
+ <!--
129
+ a combination of name code point and escape
130
+ https://drafts.csswg.org/css-syntax/#name-code-point
131
+ https://www.w3.org/TR/selectors-3/#lex
132
+ -->
133
+ <define-regex id="identifier-chars-regex" extended="true">
134
+ (?&gt;
135
+ (?:
136
+ [a-z0-9_-]+ |
137
+ \%{non-ascii-regex}+ |
138
+ \%{escape-regex}+
139
+ )+
140
+ )
141
+ </define-regex>
142
+
143
+ <!-- for lookbehinds (and lookaheads) -->
144
+ <define-regex id="single-identifier-char-regex" extended="true">
145
+ (?:
146
+ [a-z0-9_-] |
147
+ \%{non-ascii-regex}
148
+ )
149
+ </define-regex>
150
+
151
+ <!-- https://drafts.csswg.org/css-syntax/#ident-token-diagram -->
152
+ <define-regex id="identifier-regex" extended="true">
153
+ (?:
154
+ (?:
155
+ -- |
156
+ -? \%{identifier-start-char-regex}
157
+ )
158
+ \%{identifier-chars-regex}?
159
+ )
160
+ </define-regex>
161
+
162
+ <!--
163
+ https://www.w3.org/TR/CSS21/syndata.html#vendor-keywords
164
+ https://en.wikipedia.org/wiki/CSS_hack#List_of_prefixes
165
+ -->
166
+ <define-regex id="vendor-specific-prefix-regex" extended="true">
167
+ (?:
168
+ (?:
169
+ [_-] \%{identifier-start-char-regex}+ |
170
+ mso |
171
+ prince
172
+ )
173
+ -
174
+ )
175
+ </define-regex>
176
+
177
+ <define-regex id="vendor-specific-identifier-regex" extended="true">
178
+ (?:
179
+ (?&lt;! \%{single-identifier-char-regex} )
180
+ \%{vendor-specific-prefix-regex} \%{identifier-chars-regex}
181
+ )
182
+ </define-regex>
183
+
184
+ <define-regex id="declaration-value-end">(?=[!;}])</define-regex>
185
+
186
+ <define-regex id="test-value-end">(?=\))</define-regex>
187
+
188
+ <context id="comment">
189
+ <include>
190
+ <context ref="def:c-like-comment-multiline"/>
191
+ <context ref="def:c-like-close-comment-outside-comment"/>
192
+ </include>
193
+ </context>
194
+
195
+ <context id="slash" style-ref="symbol">
196
+ <match>/</match>
197
+ </context>
198
+
199
+ <context id="comma" style-ref="delimiter">
200
+ <match>,</match>
201
+ </context>
202
+
203
+ <context id="colon" style-ref="delimiter">
204
+ <match>:</match>
205
+ </context>
206
+
207
+ <context id="semicolon" style-ref="delimiter">
208
+ <match>;</match>
209
+ </context>
210
+
211
+
212
+ <!-- data types -->
213
+
214
+ <!-- custom identifier -->
215
+ <context id="name" style-ref="name">
216
+ <match>\%{identifier-regex}</match>
217
+ </context>
218
+
219
+ <context id="vendor-specific-name" style-ref="vendor-specific">
220
+ <match>\%{vendor-specific-identifier-regex}</match>
221
+ </context>
222
+
223
+ <context id="escape" style-ref="escape">
224
+ <match>\%{escape-regex}</match>
225
+ </context>
226
+
227
+ <context id="string-content">
228
+ <include>
229
+ <context ref="escape"/>
230
+ <context ref="def:line-continue"/>
231
+ </include>
232
+ </context>
233
+
234
+ <context id="double-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
235
+ <start>"</start>
236
+ <end>"</end>
237
+ <include>
238
+ <context ref="string-content"/>
239
+ </include>
240
+ </context>
241
+
242
+ <context id="single-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
243
+ <start>'</start>
244
+ <end>'</end>
245
+ <include>
246
+ <context ref="string-content"/>
247
+ </include>
248
+ </context>
249
+
250
+ <context id="string">
251
+ <include>
252
+ <context ref="double-quoted-string"/>
253
+ <context ref="single-quoted-string"/>
254
+ </include>
255
+ </context>
256
+
257
+ <context id="hexadecimal-color" style-ref="color">
258
+ <match>#([a-f0-9]{8}|[a-f0-9]{6}|[a-f0-9]{4}|[a-f0-9]{3})\%]</match>
259
+ </context>
260
+
261
+ <context id="css3-named-color" style-ref="color">
262
+ <keyword>aliceblue</keyword>
263
+ <keyword>antiquewhite</keyword>
264
+ <keyword>aquamarine</keyword>
265
+ <keyword>azure</keyword>
266
+ <keyword>beige</keyword>
267
+ <keyword>bisque</keyword>
268
+ <keyword>blanchedalmond</keyword>
269
+ <keyword>blueviolet</keyword>
270
+ <keyword>brown</keyword>
271
+ <keyword>burlywood</keyword>
272
+ <keyword>cadetblue</keyword>
273
+ <keyword>chartreuse</keyword>
274
+ <keyword>chocolate</keyword>
275
+ <keyword>coral</keyword>
276
+ <keyword>cornflowerblue</keyword>
277
+ <keyword>cornsilk</keyword>
278
+ <keyword>crimson</keyword>
279
+ <keyword>cyan</keyword>
280
+ <keyword>darkblue</keyword>
281
+ <keyword>darkcyan</keyword>
282
+ <keyword>darkgoldenrod</keyword>
283
+ <keyword>darkgray</keyword>
284
+ <keyword>darkgreen</keyword>
285
+ <keyword>darkgrey</keyword>
286
+ <keyword>darkkhaki</keyword>
287
+ <keyword>darkmagenta</keyword>
288
+ <keyword>darkolivegreen</keyword>
289
+ <keyword>darkorange</keyword>
290
+ <keyword>darkorchid</keyword>
291
+ <keyword>darkred</keyword>
292
+ <keyword>darksalmon</keyword>
293
+ <keyword>darkseagreen</keyword>
294
+ <keyword>darkslateblue</keyword>
295
+ <keyword>darkslategray</keyword>
296
+ <keyword>darkslategrey</keyword>
297
+ <keyword>darkturquoise</keyword>
298
+ <keyword>darkviolet</keyword>
299
+ <keyword>deeppink</keyword>
300
+ <keyword>deepskyblue</keyword>
301
+ <keyword>dimgray</keyword>
302
+ <keyword>dimgrey</keyword>
303
+ <keyword>dodgerblue</keyword>
304
+ <keyword>firebrick</keyword>
305
+ <keyword>floralwhite</keyword>
306
+ <keyword>forestgreen</keyword>
307
+ <keyword>gainsboro</keyword>
308
+ <keyword>ghostwhite</keyword>
309
+ <keyword>goldenrod</keyword>
310
+ <keyword>gold</keyword>
311
+ <keyword>greenyellow</keyword>
312
+ <keyword>grey</keyword>
313
+ <keyword>honeydew</keyword>
314
+ <keyword>hotpink</keyword>
315
+ <keyword>indianred</keyword>
316
+ <keyword>indigo</keyword>
317
+ <keyword>ivory</keyword>
318
+ <keyword>khaki</keyword>
319
+ <keyword>lavenderblush</keyword>
320
+ <keyword>lavender</keyword>
321
+ <keyword>lawngreen</keyword>
322
+ <keyword>lemonchiffon</keyword>
323
+ <keyword>lightblue</keyword>
324
+ <keyword>lightcoral</keyword>
325
+ <keyword>lightcyan</keyword>
326
+ <keyword>lightgoldenrodyellow</keyword>
327
+ <keyword>lightgray</keyword>
328
+ <keyword>lightgreen</keyword>
329
+ <keyword>lightgrey</keyword>
330
+ <keyword>lightpink</keyword>
331
+ <keyword>lightsalmon</keyword>
332
+ <keyword>lightseagreen</keyword>
333
+ <keyword>lightskyblue</keyword>
334
+ <keyword>lightslategray</keyword>
335
+ <keyword>lightslategrey</keyword>
336
+ <keyword>lightsteelblue</keyword>
337
+ <keyword>lightyellow</keyword>
338
+ <keyword>limegreen</keyword>
339
+ <keyword>linen</keyword>
340
+ <keyword>magenta</keyword>
341
+ <keyword>mediumaquamarine</keyword>
342
+ <keyword>mediumblue</keyword>
343
+ <keyword>mediumorchid</keyword>
344
+ <keyword>mediumpurple</keyword>
345
+ <keyword>mediumseagreen</keyword>
346
+ <keyword>mediumslateblue</keyword>
347
+ <keyword>mediumspringgreen</keyword>
348
+ <keyword>mediumturquoise</keyword>
349
+ <keyword>mediumvioletred</keyword>
350
+ <keyword>midnightblue</keyword>
351
+ <keyword>mintcream</keyword>
352
+ <keyword>mistyrose</keyword>
353
+ <keyword>moccasin</keyword>
354
+ <keyword>navajowhite</keyword>
355
+ <keyword>oldlace</keyword>
356
+ <keyword>olivedrab</keyword>
357
+ <keyword>orangered</keyword>
358
+ <keyword>orchid</keyword>
359
+ <keyword>palegoldenrod</keyword>
360
+ <keyword>palegreen</keyword>
361
+ <keyword>paleturquoise</keyword>
362
+ <keyword>palevioletred</keyword>
363
+ <keyword>papayawhip</keyword>
364
+ <keyword>peachpuff</keyword>
365
+ <keyword>peru</keyword>
366
+ <keyword>pink</keyword>
367
+ <keyword>plum</keyword>
368
+ <keyword>powderblue</keyword>
369
+ <keyword>rebeccapurple</keyword>
370
+ <keyword>rosybrown</keyword>
371
+ <keyword>royalblue</keyword>
372
+ <keyword>saddlebrown</keyword>
373
+ <keyword>salmon</keyword>
374
+ <keyword>sandybrown</keyword>
375
+ <keyword>seagreen</keyword>
376
+ <keyword>seashell</keyword>
377
+ <keyword>sienna</keyword>
378
+ <keyword>skyblue</keyword>
379
+ <keyword>slateblue</keyword>
380
+ <keyword>slategray</keyword>
381
+ <keyword>slategrey</keyword>
382
+ <keyword>snow</keyword>
383
+ <keyword>springgreen</keyword>
384
+ <keyword>steelblue</keyword>
385
+ <keyword>tan</keyword>
386
+ <keyword>thistle</keyword>
387
+ <keyword>tomato</keyword>
388
+ <keyword>turquoise</keyword>
389
+ <keyword>violet</keyword>
390
+ <keyword>wheat</keyword>
391
+ <keyword>whitesmoke</keyword>
392
+ <keyword>yellowgreen</keyword>
393
+ </context>
394
+
395
+ <context id="named-color" style-ref="color">
396
+ <keyword>aqua</keyword>
397
+ <keyword>black</keyword>
398
+ <keyword>blue</keyword>
399
+ <keyword>fuchsia</keyword>
400
+ <keyword>gray</keyword>
401
+ <keyword>green</keyword>
402
+ <keyword>lime</keyword>
403
+ <keyword>maroon</keyword>
404
+ <keyword>navy</keyword>
405
+ <keyword>olive</keyword>
406
+ <keyword>orange</keyword>
407
+ <keyword>purple</keyword>
408
+ <keyword>red</keyword>
409
+ <keyword>silver</keyword>
410
+ <keyword>teal</keyword>
411
+ <keyword>white</keyword>
412
+ <keyword>yellow</keyword>
413
+ </context>
414
+
415
+ <define-regex id="number-magnitude-regex" extended="true">
416
+ (?: (?> \d* \. \d+ | \d+ ) (?: e [+-]? \d+ )? )
417
+ </define-regex>
418
+
419
+ <define-regex id="number-regex" extended="true">
420
+ (?: [+-]? \%{number-magnitude-regex} )
421
+ </define-regex>
422
+
423
+ <define-regex id="positive-number-regex" extended="true">
424
+ (?: \+? \%{number-magnitude-regex} )
425
+ </define-regex>
426
+
427
+ <define-regex id="integer-magnitude-regex" extended="true">
428
+ (?> \d+ )
429
+ </define-regex>
430
+
431
+ <define-regex id="integer-regex" extended="true">
432
+ (?: [+-]? \%{integer-magnitude-regex} )
433
+ </define-regex>
434
+
435
+ <define-regex id="positive-integer-regex" extended="true">
436
+ (?: \+? \%{integer-magnitude-regex} )
437
+ </define-regex>
438
+
439
+ <define-regex id="non-number-char-regex" extended="true">
440
+ (?:
441
+ \%{single-identifier-char-regex} |
442
+ \.
443
+ )
444
+ </define-regex>
445
+
446
+ <context id="dimension" style-ref="dimension">
447
+ <prefix>(?&lt;!\%{non-number-char-regex})\%{number-regex}</prefix>
448
+ <keyword>ch</keyword>
449
+ <keyword>cm</keyword>
450
+ <keyword>deg</keyword>
451
+ <keyword>em</keyword>
452
+ <keyword>ex</keyword>
453
+ <keyword>fr</keyword>
454
+ <keyword>ft</keyword>
455
+ <keyword>grad</keyword>
456
+ <keyword>hz</keyword>
457
+ <keyword>in</keyword>
458
+ <keyword>khz</keyword>
459
+ <keyword>mm</keyword>
460
+ <keyword>ms</keyword>
461
+ <keyword>pc</keyword>
462
+ <keyword>pt</keyword>
463
+ <keyword>px</keyword>
464
+ <keyword>rad</keyword>
465
+ <keyword>rem</keyword>
466
+ <keyword>s</keyword>
467
+ <keyword>turn</keyword>
468
+ <keyword>vh</keyword>
469
+ <keyword>vmax</keyword>
470
+ <keyword>vmin</keyword>
471
+ <keyword>vw</keyword>
472
+ </context>
473
+
474
+ <context id="percentage" style-ref="dimension">
475
+ <match extended="true">
476
+ (?&lt;! \%{non-number-char-regex} )
477
+ \%{number-regex}%
478
+ </match>
479
+ </context>
480
+
481
+ <context id="resolution" style-ref="dimension">
482
+ <prefix>(?&lt;!\%{non-number-char-regex})\%{positive-number-regex}</prefix>
483
+ <keyword>dpcm</keyword>
484
+ <keyword>dpi</keyword>
485
+ <keyword>dppx</keyword>
486
+ </context>
487
+
488
+ <context id="ratio" style-ref="expression">
489
+ <match extended="true">
490
+ (?&lt;! \%{non-number-char-regex} )
491
+ \%{positive-integer-regex} \s* / \s* \%{positive-integer-regex}
492
+ (?! \%{non-number-char-regex} )
493
+ </match>
494
+ </context>
495
+
496
+ <context id="number" style-ref="number">
497
+ <match extended="true">
498
+ (?&lt;! \%{non-number-char-regex} )
499
+ \%{number-regex}
500
+ (?! \%{non-number-char-regex} )
501
+ </match>
502
+ </context>
503
+
504
+ <context id="positive-integer" style-ref="integer">
505
+ <match extended="true">
506
+ (?&lt;! \%{non-number-char-regex} )
507
+ \%{positive-integer-regex}
508
+ (?! \%{non-number-char-regex} )
509
+ </match>
510
+ </context>
511
+
512
+ <context id="unicode-range" style-ref="unicode-range">
513
+ <match extended="true">
514
+ \%[ u \+ (?> [a-f0-9?]{1,6} ) (?> - [a-f0-9]{1,6} )?
515
+ (?! \%{single-identifier-char-regex} )
516
+ </match>
517
+ </context>
518
+
519
+
520
+ <!-- functions -->
521
+
522
+ <context id="css3-function-arguments" style-ref="keyword">
523
+ <keyword>at</keyword>
524
+ <keyword>auto-fill</keyword>
525
+ <keyword>auto-fit</keyword>
526
+ <keyword>auto</keyword>
527
+ <keyword>bottom</keyword>
528
+ <keyword>center</keyword>
529
+ <keyword>circle</keyword>
530
+ <keyword>closest-corner</keyword>
531
+ <keyword>closest-side</keyword>
532
+ <keyword>ellipse</keyword>
533
+ <keyword>end</keyword>
534
+ <keyword>farthest-corner</keyword>
535
+ <keyword>farthest-side</keyword>
536
+ <keyword>left</keyword>
537
+ <keyword>max-content</keyword>
538
+ <keyword>min-content</keyword>
539
+ <keyword>right</keyword>
540
+ <keyword>start</keyword>
541
+ <keyword>top</keyword>
542
+ <keyword>to</keyword>
543
+ </context>
544
+
545
+ <context id="url">
546
+ <start>url\(</start>
547
+ <end>\)</end>
548
+ <include>
549
+ <context sub-pattern="0" where="start" style-ref="function"/>
550
+ <context sub-pattern="0" where="end" style-ref="function"/>
551
+ <context ref="comment"/>
552
+ <context ref="string-value"/>
553
+ </include>
554
+ </context>
555
+
556
+ <context id="function-content">
557
+ <include>
558
+ <context ref="css3-function-arguments"/>
559
+ <context ref="any-value"/>
560
+ </include>
561
+ </context>
562
+
563
+ <context id="vendor-specific-function">
564
+ <start>\%{vendor-specific-identifier-regex}\(</start>
565
+ <end>\)</end>
566
+ <include>
567
+ <context sub-pattern="0" where="start" style-ref="vendor-specific"/>
568
+ <context sub-pattern="0" where="end" style-ref="vendor-specific"/>
569
+ <context ref="comment"/>
570
+ <context ref="function-content"/>
571
+ </include>
572
+ </context>
573
+
574
+ <context id="function">
575
+ <start>\%{identifier-regex}\(</start>
576
+ <end>\)</end>
577
+ <include>
578
+ <context sub-pattern="0" where="start" style-ref="function"/>
579
+ <context sub-pattern="0" where="end" style-ref="function"/>
580
+ <context ref="comment"/>
581
+ <context ref="function-content"/>
582
+ </include>
583
+ </context>
584
+
585
+ <context id="function-call">
586
+ <include>
587
+ <context ref="vendor-specific-function"/>
588
+ <context ref="url"/>
589
+ <context ref="function"/>
590
+ </include>
591
+ </context>
592
+
593
+
594
+ <!-- data values (interface between types and users) -->
595
+
596
+ <context id="name-value">
597
+ <include>
598
+ <context ref="name"/>
599
+ </include>
600
+ </context>
601
+
602
+ <context id="string-value">
603
+ <include>
604
+ <context ref="string"/>
605
+ </include>
606
+ </context>
607
+
608
+ <context id="color-value">
609
+ <include>
610
+ <context ref="hexadecimal-color"/>
611
+ <context ref="css3-named-color"/>
612
+ <context ref="named-color"/>
613
+ </include>
614
+ </context>
615
+
616
+ <!-- resolution and ratio are used in media queries only -->
617
+ <context id="number-value">
618
+ <include>
619
+ <context ref="dimension"/>
620
+ <context ref="percentage"/>
621
+ <context ref="resolution"/>
622
+ <context ref="ratio"/>
623
+ <context ref="number"/>
624
+ </include>
625
+ </context>
626
+
627
+ <context id="unicode-range-value">
628
+ <include>
629
+ <context ref="unicode-range"/>
630
+ </include>
631
+ </context>
632
+
633
+ <!-- unicode-range is used for the unicode-range (@font-face) property only -->
634
+ <context id="data-value">
635
+ <include>
636
+ <context ref="string-value"/>
637
+ <context ref="color-value"/>
638
+ <context ref="number-value"/>
639
+ <context ref="unicode-range"/>
640
+ </include>
641
+ </context>
642
+
643
+
644
+ <!-- style properties -->
645
+
646
+ <context id="svg-property-names" style-ref="property-name">
647
+ <keyword>clip-path</keyword>
648
+ <keyword>clip-rule</keyword>
649
+ <keyword>color-interpolatation-filters</keyword>
650
+ <keyword>color-interpolatation</keyword>
651
+ <keyword>dominant-baseline</keyword>
652
+ <keyword>fill-rule</keyword>
653
+ <keyword>fill-opacity</keyword>
654
+ <keyword>fill</keyword>
655
+ <keyword>flood-color</keyword>
656
+ <keyword>flood-opacity</keyword>
657
+ <keyword>lighting-color</keyword>
658
+ <keyword>marker-end</keyword>
659
+ <keyword>marker-mid</keyword>
660
+ <keyword>marker-start</keyword>
661
+ <keyword>shape-rendering</keyword>
662
+ <keyword>stop-color</keyword>
663
+ <keyword>stop-opacity</keyword>
664
+ <keyword>stroke-dasharray</keyword>
665
+ <keyword>stroke-dashoffset</keyword>
666
+ <keyword>stroke-linecap</keyword>
667
+ <keyword>stroke-linejoin</keyword>
668
+ <keyword>stroke-miterlimit</keyword>
669
+ <keyword>stroke-opacity</keyword>
670
+ <keyword>stroke-width</keyword>
671
+ <keyword>stroke</keyword>
672
+ <keyword>text-anchor</keyword>
673
+ <keyword>text-rendering</keyword>
674
+ </context>
675
+
676
+ <context id="css3-property-names" style-ref="property-name">
677
+ <keyword>align-content</keyword>
678
+ <keyword>align-items</keyword>
679
+ <keyword>align-self</keyword>
680
+ <keyword>animation-delay</keyword>
681
+ <keyword>animation-direction</keyword>
682
+ <keyword>animation-duration</keyword>
683
+ <keyword>animation-fill-mode</keyword>
684
+ <keyword>animation-iteration-count</keyword>
685
+ <keyword>animation-name</keyword>
686
+ <keyword>animation-play-state</keyword>
687
+ <keyword>animation-timing-function</keyword>
688
+ <keyword>animation</keyword>
689
+ <keyword>appearance</keyword>
690
+ <keyword>backface-visibility</keyword>
691
+ <keyword>background-blend-mode</keyword>
692
+ <keyword>background-clip</keyword>
693
+ <keyword>background-origin</keyword>
694
+ <keyword>background-size</keyword>
695
+ <keyword>bleed</keyword>
696
+ <keyword>border-image-outset</keyword>
697
+ <keyword>border-image-repeat</keyword>
698
+ <keyword>border-image-slice</keyword>
699
+ <keyword>border-image-source</keyword>
700
+ <keyword>border-image-width</keyword>
701
+ <keyword>border-image</keyword>
702
+ <keyword>box-decoration-break</keyword>
703
+ <keyword>box-sizing</keyword>
704
+ <keyword>break-after</keyword>
705
+ <keyword>break-before</keyword>
706
+ <keyword>break-inside</keyword>
707
+ <keyword>column-count</keyword>
708
+ <keyword>column-fill</keyword>
709
+ <keyword>column-gap</keyword>
710
+ <keyword>column-rule-color</keyword>
711
+ <keyword>column-rule-style</keyword>
712
+ <keyword>column-rule-width</keyword>
713
+ <keyword>column-rule</keyword>
714
+ <keyword>column-span</keyword>
715
+ <keyword>column-width</keyword>
716
+ <keyword>columns</keyword>
717
+ <keyword>filter</keyword>
718
+ <keyword>flex-basis</keyword>
719
+ <keyword>flex-direction</keyword>
720
+ <keyword>flex-flow</keyword>
721
+ <keyword>flex-grow</keyword>
722
+ <keyword>flex-shrink</keyword>
723
+ <keyword>flex-wrap</keyword>
724
+ <keyword>flex</keyword>
725
+ <keyword>font-feature-settings</keyword>
726
+ <keyword>font-kerning</keyword>
727
+ <keyword>font-language-override</keyword>
728
+ <keyword>font-stretch</keyword>
729
+ <keyword>font-synthesis</keyword>
730
+ <keyword>font-variant-alternates</keyword>
731
+ <keyword>font-variant-caps</keyword>
732
+ <keyword>font-variant-east-asian</keyword>
733
+ <keyword>font-variant-ligatures</keyword>
734
+ <keyword>font-variant-numeric</keyword>
735
+ <keyword>font-variant-position</keyword>
736
+ <keyword>grid-area</keyword>
737
+ <keyword>grid-gap</keyword>
738
+ <keyword>grid-auto-columns</keyword>
739
+ <keyword>grid-auto-flow</keyword>
740
+ <keyword>grid-auto-rows</keyword>
741
+ <keyword>grid-column-end</keyword>
742
+ <keyword>grid-column-gap</keyword>
743
+ <keyword>grid-column-start</keyword>
744
+ <keyword>grid-column</keyword>
745
+ <keyword>grid-row-end</keyword>
746
+ <keyword>grid-row-gap</keyword>
747
+ <keyword>grid-row-start</keyword>
748
+ <keyword>grid-row</keyword>
749
+ <keyword>grid-template-areas</keyword>
750
+ <keyword>grid-template-columns</keyword>
751
+ <keyword>grid-template-rows</keyword>
752
+ <keyword>grid-template</keyword>
753
+ <keyword>grid</keyword>
754
+ <keyword>hanging-punctuation</keyword>
755
+ <keyword>hyphens</keyword>
756
+ <keyword>image-orientation</keyword>
757
+ <keyword>image-rendering</keyword>
758
+ <keyword>image-resolution</keyword>
759
+ <keyword>ime-mode</keyword>
760
+ <keyword>isolation</keyword>
761
+ <keyword>justify-content</keyword>
762
+ <keyword>justify-self</keyword>
763
+ <keyword>line-break</keyword>
764
+ <keyword>mask-type</keyword>
765
+ <keyword>mask</keyword>
766
+ <keyword>mix-blend-mode</keyword>
767
+ <keyword>nav-down</keyword>
768
+ <keyword>nav-index</keyword>
769
+ <keyword>nav-left</keyword>
770
+ <keyword>nav-right</keyword>
771
+ <keyword>nav-up</keyword>
772
+ <keyword>object-fit</keyword>
773
+ <keyword>object-position</keyword>
774
+ <keyword>opacity</keyword>
775
+ <keyword>order</keyword>
776
+ <keyword>outline-offset</keyword>
777
+ <keyword>overflow-wrap</keyword>
778
+ <keyword>overflow-x</keyword>
779
+ <keyword>overflow-y</keyword>
780
+ <keyword>perspective-origin</keyword>
781
+ <keyword>perspective</keyword>
782
+ <keyword>pointer-events</keyword>
783
+ <keyword>resize</keyword>
784
+ <keyword>src</keyword>
785
+ <keyword>tab-size</keyword>
786
+ <keyword>text-align-last</keyword>
787
+ <keyword>text-combine-upright</keyword>
788
+ <keyword>text-decoration-color</keyword>
789
+ <keyword>text-decoration-line</keyword>
790
+ <keyword>text-decoration-style</keyword>
791
+ <keyword>text-justify</keyword>
792
+ <keyword>text-orientation</keyword>
793
+ <keyword>text-overflow</keyword>
794
+ <keyword>text-underline-position</keyword>
795
+ <keyword>transform-origin</keyword>
796
+ <keyword>transform-style</keyword>
797
+ <keyword>transform</keyword>
798
+ <keyword>transition-delay</keyword>
799
+ <keyword>transition-duration</keyword>
800
+ <keyword>transition-property</keyword>
801
+ <keyword>transition-timing-function</keyword>
802
+ <keyword>transition</keyword>
803
+ <keyword>unicode-range</keyword>
804
+ <keyword>will-change</keyword>
805
+ <keyword>word-break</keyword>
806
+ <keyword>word-wrap</keyword>
807
+ <keyword>writing-mode</keyword>
808
+ </context>
809
+
810
+ <context id="property-names" style-ref="property-name">
811
+ <keyword>azimuth</keyword>
812
+ <keyword>background-attachment</keyword>
813
+ <keyword>background-color</keyword>
814
+ <keyword>background-image</keyword>
815
+ <keyword>background-position</keyword>
816
+ <keyword>background-repeat</keyword>
817
+ <keyword>background</keyword>
818
+ <keyword>border-bottom-color</keyword>
819
+ <keyword>border-bottom-left-radius</keyword>
820
+ <keyword>border-bottom-right-radius</keyword>
821
+ <keyword>border-bottom-style</keyword>
822
+ <keyword>border-bottom-width</keyword>
823
+ <keyword>border-bottom</keyword>
824
+ <keyword>border-collapse</keyword>
825
+ <keyword>border-color</keyword>
826
+ <keyword>border-left-color</keyword>
827
+ <keyword>border-left-style</keyword>
828
+ <keyword>border-left-width</keyword>
829
+ <keyword>border-left</keyword>
830
+ <keyword>border-radius</keyword>
831
+ <keyword>border-right-color</keyword>
832
+ <keyword>border-right-style</keyword>
833
+ <keyword>border-right-width</keyword>
834
+ <keyword>border-right</keyword>
835
+ <keyword>border-spacing</keyword>
836
+ <keyword>border-style</keyword>
837
+ <keyword>border-top-color</keyword>
838
+ <keyword>border-top-left-radius</keyword>
839
+ <keyword>border-top-right-radius</keyword>
840
+ <keyword>border-top-style</keyword>
841
+ <keyword>border-top-width</keyword>
842
+ <keyword>border-top</keyword>
843
+ <keyword>border-width</keyword>
844
+ <keyword>border</keyword>
845
+ <keyword>bottom</keyword>
846
+ <keyword>box-shadow</keyword>
847
+ <keyword>caption-side</keyword>
848
+ <keyword>clear</keyword>
849
+ <keyword>clip</keyword>
850
+ <keyword>color</keyword>
851
+ <keyword>content</keyword>
852
+ <keyword>counter-increment</keyword>
853
+ <keyword>counter-reset</keyword>
854
+ <keyword>cue-after</keyword>
855
+ <keyword>cue-before</keyword>
856
+ <keyword>cue</keyword>
857
+ <keyword>cursor</keyword>
858
+ <keyword>direction</keyword>
859
+ <keyword>display</keyword>
860
+ <keyword>elevation</keyword>
861
+ <keyword>empty-cells</keyword>
862
+ <keyword>float</keyword>
863
+ <keyword>font-family</keyword>
864
+ <keyword>font-size-adjust</keyword>
865
+ <keyword>font-size</keyword>
866
+ <keyword>font-style</keyword>
867
+ <keyword>font-variant</keyword>
868
+ <keyword>font-weight</keyword>
869
+ <keyword>font</keyword>
870
+ <keyword>height</keyword>
871
+ <keyword>left</keyword>
872
+ <keyword>letter-spacing</keyword>
873
+ <keyword>line-height</keyword>
874
+ <keyword>list-style-image</keyword>
875
+ <keyword>list-style-position</keyword>
876
+ <keyword>list-style-type</keyword>
877
+ <keyword>list-style</keyword>
878
+ <keyword>margin-bottom</keyword>
879
+ <keyword>margin-left</keyword>
880
+ <keyword>margin-right</keyword>
881
+ <keyword>margin-top</keyword>
882
+ <keyword>margin</keyword>
883
+ <keyword>marker-offset</keyword>
884
+ <keyword>marks</keyword>
885
+ <keyword>max-height</keyword>
886
+ <keyword>max-width</keyword>
887
+ <keyword>min-height</keyword>
888
+ <keyword>min-width</keyword>
889
+ <keyword>orphans</keyword>
890
+ <keyword>outline-color</keyword>
891
+ <keyword>outline-style</keyword>
892
+ <keyword>outline-width</keyword>
893
+ <keyword>outline</keyword>
894
+ <keyword>overflow</keyword>
895
+ <keyword>padding-bottom</keyword>
896
+ <keyword>padding-left</keyword>
897
+ <keyword>padding-right</keyword>
898
+ <keyword>padding-top</keyword>
899
+ <keyword>padding</keyword>
900
+ <keyword>page-break-after</keyword>
901
+ <keyword>page-break-before</keyword>
902
+ <keyword>page-break-inside</keyword>
903
+ <keyword>page</keyword>
904
+ <keyword>pause-after</keyword>
905
+ <keyword>pause-before</keyword>
906
+ <keyword>pause</keyword>
907
+ <keyword>pitch-range</keyword>
908
+ <keyword>pitch</keyword>
909
+ <keyword>play-during</keyword>
910
+ <keyword>position</keyword>
911
+ <keyword>quotes</keyword>
912
+ <keyword>richness</keyword>
913
+ <keyword>right</keyword>
914
+ <keyword>size</keyword>
915
+ <keyword>speak-header</keyword>
916
+ <keyword>speak-numeral</keyword>
917
+ <keyword>speak-punctuation</keyword>
918
+ <keyword>speak</keyword>
919
+ <keyword>speech-rate</keyword>
920
+ <keyword>stress</keyword>
921
+ <keyword>table-layout</keyword>
922
+ <keyword>text-align</keyword>
923
+ <keyword>text-decoration</keyword>
924
+ <keyword>text-indent</keyword>
925
+ <keyword>text-shadow</keyword>
926
+ <keyword>text-transform</keyword>
927
+ <keyword>top</keyword>
928
+ <keyword>unicode-bidi</keyword>
929
+ <keyword>vertical-align</keyword>
930
+ <keyword>visibility</keyword>
931
+ <keyword>voice-family</keyword>
932
+ <keyword>volume</keyword>
933
+ <keyword>white-space</keyword>
934
+ <keyword>widows</keyword>
935
+ <keyword>width</keyword>
936
+ <keyword>word-spacing</keyword>
937
+ <keyword>z-index</keyword>
938
+ </context>
939
+
940
+ <context id="animatable-properties" style-ref="keyword">
941
+ <keyword>background-color</keyword>
942
+ <keyword>background-position</keyword>
943
+ <keyword>background-size</keyword>
944
+ <keyword>background</keyword>
945
+ <keyword>border-bottom-color</keyword>
946
+ <keyword>border-bottom-left-radius</keyword>
947
+ <keyword>border-bottom-right-radius</keyword>
948
+ <keyword>border-bottom-width</keyword>
949
+ <keyword>border-bottom</keyword>
950
+ <keyword>border-color</keyword>
951
+ <keyword>border-left-color</keyword>
952
+ <keyword>border-left-width</keyword>
953
+ <keyword>border-left</keyword>
954
+ <keyword>border-radius</keyword>
955
+ <keyword>border-right-color</keyword>
956
+ <keyword>border-right-width</keyword>
957
+ <keyword>border-right</keyword>
958
+ <keyword>border-top-color</keyword>
959
+ <keyword>border-top-left-radius</keyword>
960
+ <keyword>border-top-right-radius</keyword>
961
+ <keyword>border-top-width</keyword>
962
+ <keyword>border-top</keyword>
963
+ <keyword>border-width</keyword>
964
+ <keyword>border</keyword>
965
+ <keyword>bottom</keyword>
966
+ <keyword>box-shadow</keyword>
967
+ <keyword>clip-path</keyword>
968
+ <keyword>clip</keyword>
969
+ <keyword>color</keyword>
970
+ <keyword>column-count</keyword>
971
+ <keyword>column-gap</keyword>
972
+ <keyword>column-rule-color</keyword>
973
+ <keyword>column-rule-width</keyword>
974
+ <keyword>column-rule</keyword>
975
+ <keyword>column-width</keyword>
976
+ <keyword>columns</keyword>
977
+ <keyword>filter</keyword>
978
+ <keyword>flex-basis</keyword>
979
+ <keyword>flex-grow</keyword>
980
+ <keyword>flex-shrink</keyword>
981
+ <keyword>flex</keyword>
982
+ <keyword>font-size-adjust</keyword>
983
+ <keyword>font-size</keyword>
984
+ <keyword>font-stretch</keyword>
985
+ <keyword>font-weight</keyword>
986
+ <keyword>font</keyword>
987
+ <keyword>grid-column-gap</keyword>
988
+ <keyword>grid-gap</keyword>
989
+ <keyword>grid-row-gap</keyword>
990
+ <keyword>height</keyword>
991
+ <keyword>left</keyword>
992
+ <keyword>letter-spacing</keyword>
993
+ <keyword>line-height</keyword>
994
+ <keyword>margin-bottom</keyword>
995
+ <keyword>margin-left</keyword>
996
+ <keyword>margin-right</keyword>
997
+ <keyword>margin-top</keyword>
998
+ <keyword>margin</keyword>
999
+ <keyword>mask</keyword>
1000
+ <keyword>max-height</keyword>
1001
+ <keyword>max-width</keyword>
1002
+ <keyword>min-height</keyword>
1003
+ <keyword>min-width</keyword>
1004
+ <keyword>object-position</keyword>
1005
+ <keyword>opacity</keyword>
1006
+ <keyword>order</keyword>
1007
+ <keyword>outline-color</keyword>
1008
+ <keyword>outline-offset</keyword>
1009
+ <keyword>outline-width</keyword>
1010
+ <keyword>outline</keyword>
1011
+ <keyword>padding-bottom</keyword>
1012
+ <keyword>padding-left</keyword>
1013
+ <keyword>padding-right</keyword>
1014
+ <keyword>padding-top</keyword>
1015
+ <keyword>padding</keyword>
1016
+ <keyword>perspective-origin</keyword>
1017
+ <keyword>perspective</keyword>
1018
+ <keyword>right</keyword>
1019
+ <keyword>tab-size</keyword>
1020
+ <keyword>text-decoration-color</keyword>
1021
+ <keyword>text-decoration</keyword>
1022
+ <keyword>text-indent</keyword>
1023
+ <keyword>text-shadow</keyword>
1024
+ <keyword>top</keyword>
1025
+ <keyword>transform-origin</keyword>
1026
+ <keyword>transform</keyword>
1027
+ <keyword>vertical-align</keyword>
1028
+ <keyword>visibility</keyword>
1029
+ <keyword>width</keyword>
1030
+ <keyword>word-spacing</keyword>
1031
+ <keyword>z-index</keyword>
1032
+ </context>
1033
+
1034
+ <context id="svg-property-values" style-ref="keyword">
1035
+ <keyword>alphabetic</keyword>
1036
+ <keyword>bevel</keyword>
1037
+ <keyword>butt</keyword>
1038
+ <keyword>central</keyword>
1039
+ <keyword>crispedges</keyword>
1040
+ <keyword>evenodd</keyword>
1041
+ <keyword>geometricprecision</keyword>
1042
+ <keyword>hanging</keyword>
1043
+ <keyword>ideographic</keyword>
1044
+ <keyword>lr-tb</keyword>
1045
+ <keyword>lr</keyword>
1046
+ <keyword>mathematical</keyword>
1047
+ <keyword>miter</keyword>
1048
+ <keyword>no-change</keyword>
1049
+ <keyword>nonzero</keyword>
1050
+ <keyword>optimizelegibility</keyword>
1051
+ <keyword>optimizespeed</keyword>
1052
+ <keyword>painted</keyword>
1053
+ <keyword>reset-size</keyword>
1054
+ <keyword>rl-tb</keyword>
1055
+ <keyword>rl</keyword>
1056
+ <keyword>stroke</keyword>
1057
+ <keyword>tb-rl</keyword>
1058
+ <keyword>tb</keyword>
1059
+ <keyword>text-after-edge</keyword>
1060
+ <keyword>text-before-edge</keyword>
1061
+ <keyword>use-script</keyword>
1062
+ <keyword>visiblefill</keyword>
1063
+ <keyword>visiblepainted</keyword>
1064
+ <keyword>visiblestroke</keyword>
1065
+ </context>
1066
+
1067
+ <context id="east-asian-variant-values" style-ref="keyword">
1068
+ <keyword>jis04</keyword>
1069
+ <keyword>jis78</keyword>
1070
+ <keyword>jis83</keyword>
1071
+ <keyword>jis90</keyword>
1072
+ <keyword>simplified</keyword>
1073
+ <keyword>traditional</keyword>
1074
+ </context>
1075
+
1076
+ <context id="page-sizes" style-ref="keyword">
1077
+ <keyword>A3</keyword>
1078
+ <keyword>A4</keyword>
1079
+ <keyword>A5</keyword>
1080
+ <keyword>B4</keyword>
1081
+ <keyword>B5</keyword>
1082
+ <keyword>JIS-B4</keyword>
1083
+ <keyword>JIS-B5</keyword>
1084
+ <keyword>ledger</keyword>
1085
+ <keyword>legal</keyword>
1086
+ <keyword>letter</keyword>
1087
+ </context>
1088
+
1089
+ <context id="css3-property-values" style-ref="keyword">
1090
+ <keyword>active</keyword>
1091
+ <keyword>add</keyword>
1092
+ <keyword>allow-end</keyword>
1093
+ <keyword>all-petite-caps</keyword>
1094
+ <keyword>all-small-caps</keyword>
1095
+ <keyword>all-scroll</keyword> <!-- css2, but needed for regex -->
1096
+ <keyword>all</keyword>
1097
+ <keyword>alpha</keyword>
1098
+ <keyword>alternate-reverse</keyword>
1099
+ <keyword>alternate</keyword>
1100
+ <keyword>avoid-page</keyword>
1101
+ <keyword>auto-flow</keyword>
1102
+ <keyword>backwards</keyword>
1103
+ <keyword>balance</keyword>
1104
+ <keyword>border-box</keyword>
1105
+ <keyword>break-all</keyword>
1106
+ <keyword>break-word</keyword>
1107
+ <keyword>clip</keyword>
1108
+ <keyword>clone</keyword>
1109
+ <keyword>color-burn</keyword>
1110
+ <keyword>color-dodge</keyword>
1111
+ <keyword>color</keyword>
1112
+ <keyword>column-reverse</keyword>
1113
+ <keyword>column</keyword>
1114
+ <keyword>common-ligatures</keyword>
1115
+ <keyword>contain</keyword>
1116
+ <keyword>content-box</keyword>
1117
+ <keyword>contents</keyword>
1118
+ <keyword>contextual</keyword>
1119
+ <keyword>cover</keyword>
1120
+ <keyword>crisp-edges</keyword>
1121
+ <keyword>currentcolor</keyword>
1122
+ <keyword>darken</keyword>
1123
+ <keyword>dense</keyword>
1124
+ <keyword>diagonal-fractions</keyword>
1125
+ <keyword>difference</keyword>
1126
+ <keyword>disabled</keyword>
1127
+ <keyword>discretionary-ligatures</keyword>
1128
+ <keyword>distribute</keyword>
1129
+ <keyword>ease-in-out</keyword>
1130
+ <keyword>ease-in</keyword>
1131
+ <keyword>ease-out</keyword>
1132
+ <keyword>ease</keyword>
1133
+ <keyword>ellipsis</keyword>
1134
+ <keyword>end</keyword>
1135
+ <keyword>exclude</keyword>
1136
+ <keyword>exclusion</keyword>
1137
+ <keyword>fill-box</keyword>
1138
+ <keyword>fill</keyword>
1139
+ <keyword>first</keyword>
1140
+ <keyword>flat</keyword>
1141
+ <keyword>flex-end</keyword>
1142
+ <keyword>flex-start</keyword>
1143
+ <keyword>flex</keyword>
1144
+ <keyword>flip</keyword>
1145
+ <keyword>force-end</keyword>
1146
+ <keyword>forwards</keyword>
1147
+ <keyword>from-image</keyword>
1148
+ <keyword>full-width</keyword>
1149
+ <keyword>grid</keyword>
1150
+ <keyword>hard-light</keyword>
1151
+ <keyword>historical-forms</keyword>
1152
+ <keyword>historical-ligatures</keyword>
1153
+ <keyword>horizontal-tb</keyword>
1154
+ <keyword>horizontal</keyword>
1155
+ <keyword>hue</keyword>
1156
+ <keyword>inactive</keyword>
1157
+ <keyword>infinite</keyword>
1158
+ <keyword>initial</keyword>
1159
+ <keyword>inline-flex</keyword>
1160
+ <keyword>inline-grid</keyword>
1161
+ <keyword>inter-cluster</keyword>
1162
+ <keyword>inter-ideograph</keyword>
1163
+ <keyword>inter-word</keyword>
1164
+ <keyword>intersect</keyword>
1165
+ <keyword>isolate</keyword>
1166
+ <keyword>kashida</keyword>
1167
+ <keyword>keep-all</keyword>
1168
+ <keyword>last</keyword>
1169
+ <keyword>left-side</keyword> <!-- css2, but needed for regex -->
1170
+ <keyword>left</keyword>
1171
+ <keyword>lighten</keyword>
1172
+ <keyword>linear</keyword>
1173
+ <keyword>lining-nums</keyword>
1174
+ <keyword>local</keyword>
1175
+ <keyword>loose</keyword>
1176
+ <keyword>luminance</keyword>
1177
+ <keyword>luminosity</keyword>
1178
+ <keyword>manual</keyword>
1179
+ <keyword>mixed</keyword>
1180
+ <keyword>multiply</keyword>
1181
+ <keyword>no-clip</keyword>
1182
+ <keyword>no-common-ligatures</keyword>
1183
+ <keyword>no-contextual</keyword>
1184
+ <keyword>no-discretionary-ligatures</keyword>
1185
+ <keyword>no-historical-ligatures</keyword>
1186
+ <keyword>oldstyle-nums</keyword>
1187
+ <keyword>ordinal</keyword>
1188
+ <keyword>overlay</keyword>
1189
+ <keyword>padding-box</keyword>
1190
+ <keyword>page</keyword>
1191
+ <keyword>paused</keyword>
1192
+ <keyword>petite-caps</keyword>
1193
+ <keyword>pixelated</keyword>
1194
+ <keyword>preserve-3d</keyword>
1195
+ <keyword>proportional-nums</keyword>
1196
+ <keyword>proportional-width</keyword>
1197
+ <keyword>reverse</keyword>
1198
+ <keyword>round</keyword>
1199
+ <keyword>row-reverse</keyword>
1200
+ <keyword>row</keyword>
1201
+ <keyword>ruby</keyword>
1202
+ <keyword>running</keyword>
1203
+ <keyword>saturation</keyword>
1204
+ <keyword>scale-down</keyword>
1205
+ <keyword>screen</keyword>
1206
+ <keyword>scroll-position</keyword>
1207
+ <keyword>sideways-left</keyword>
1208
+ <keyword>sideways-right</keyword>
1209
+ <keyword>sideways</keyword>
1210
+ <keyword>slashed-zero</keyword>
1211
+ <keyword>slice</keyword>
1212
+ <keyword>soft-light</keyword>
1213
+ <keyword>space-around</keyword>
1214
+ <keyword>space-between</keyword>
1215
+ <keyword>space-evenly</keyword>
1216
+ <keyword>space</keyword>
1217
+ <keyword>stacked-fractions</keyword>
1218
+ <keyword>start</keyword>
1219
+ <keyword>step-end</keyword>
1220
+ <keyword>step-start</keyword>
1221
+ <keyword>stretch</keyword>
1222
+ <keyword>strict</keyword>
1223
+ <keyword>stroke-box</keyword>
1224
+ <keyword>style</keyword>
1225
+ <keyword>stylistic</keyword>
1226
+ <keyword>subtract</keyword>
1227
+ <keyword>tabular-nums</keyword>
1228
+ <keyword>titling-caps</keyword>
1229
+ <keyword>trim</keyword>
1230
+ <keyword>under</keyword>
1231
+ <keyword>unicase</keyword>
1232
+ <keyword>unset</keyword>
1233
+ <keyword>upright</keyword>
1234
+ <keyword>use-glyph-orientation</keyword>
1235
+ <keyword>vertical-lr</keyword>
1236
+ <keyword>vertical-rl</keyword>
1237
+ <keyword>vertical</keyword>
1238
+ <keyword>view-box</keyword>
1239
+ <keyword>wavy</keyword>
1240
+ <keyword>weight</keyword>
1241
+ <keyword>wrap-reverse</keyword>
1242
+ <keyword>wrap</keyword>
1243
+ </context>
1244
+
1245
+ <context id="property-values" style-ref="keyword">
1246
+ <keyword>above</keyword>
1247
+ <keyword>absolute</keyword>
1248
+ <keyword>alias</keyword>
1249
+ <keyword>all-scroll</keyword>
1250
+ <keyword>always</keyword>
1251
+ <keyword>armenian</keyword>
1252
+ <keyword>auto</keyword>
1253
+ <keyword>avoid</keyword>
1254
+ <keyword>baseline</keyword>
1255
+ <keyword>behind</keyword>
1256
+ <keyword>below</keyword>
1257
+ <keyword>bidi-override</keyword>
1258
+ <keyword>blink</keyword>
1259
+ <keyword>block</keyword>
1260
+ <keyword>bolder</keyword>
1261
+ <keyword>bold</keyword>
1262
+ <keyword>both</keyword>
1263
+ <keyword>bottom</keyword>
1264
+ <keyword>capitalize</keyword>
1265
+ <keyword>caption</keyword>
1266
+ <keyword>cell</keyword>
1267
+ <keyword>center-left</keyword>
1268
+ <keyword>center-right</keyword>
1269
+ <keyword>center</keyword>
1270
+ <keyword>circle</keyword>
1271
+ <keyword>cjk-ideographic</keyword>
1272
+ <keyword>close-quote</keyword>
1273
+ <keyword>code</keyword>
1274
+ <keyword>collapse</keyword>
1275
+ <keyword>col-resize</keyword>
1276
+ <keyword>compact</keyword>
1277
+ <keyword>condensed</keyword>
1278
+ <keyword>continuous</keyword>
1279
+ <keyword>context-menu</keyword>
1280
+ <keyword>copy</keyword>
1281
+ <keyword>crop</keyword>
1282
+ <keyword>crosshair</keyword>
1283
+ <keyword>cross</keyword>
1284
+ <keyword>cue-after</keyword>
1285
+ <keyword>cue-before</keyword>
1286
+ <keyword>cursive</keyword>
1287
+ <keyword>dashed</keyword>
1288
+ <keyword>decimal</keyword>
1289
+ <keyword>decimal-leading-zero</keyword>
1290
+ <keyword>default</keyword>
1291
+ <keyword>digits</keyword>
1292
+ <keyword>disc</keyword>
1293
+ <keyword>dotted</keyword>
1294
+ <keyword>double</keyword>
1295
+ <keyword>embed</keyword>
1296
+ <keyword>e-resize</keyword>
1297
+ <keyword>ew-resize</keyword>
1298
+ <keyword>expanded</keyword>
1299
+ <keyword>extra-condensed</keyword>
1300
+ <keyword>extra-expanded</keyword>
1301
+ <keyword>fantasy</keyword>
1302
+ <keyword>far-left</keyword>
1303
+ <keyword>far-right</keyword>
1304
+ <keyword>faster</keyword>
1305
+ <keyword>fast</keyword>
1306
+ <keyword>fixed</keyword>
1307
+ <keyword>flow-root</keyword>
1308
+ <keyword>georgian</keyword>
1309
+ <keyword>grabbing</keyword>
1310
+ <keyword>grab</keyword>
1311
+ <keyword>groove</keyword>
1312
+ <keyword>hebrew</keyword>
1313
+ <keyword>help</keyword>
1314
+ <keyword>hidden</keyword>
1315
+ <keyword>hide</keyword>
1316
+ <keyword>higher</keyword>
1317
+ <keyword>high</keyword>
1318
+ <keyword>hiragana-iroha</keyword>
1319
+ <keyword>hiragana</keyword>
1320
+ <keyword>icon</keyword>
1321
+ <keyword>inherit</keyword>
1322
+ <keyword>inline-block</keyword>
1323
+ <keyword>inline-table</keyword>
1324
+ <keyword>inline</keyword>
1325
+ <keyword>inset</keyword>
1326
+ <keyword>inside</keyword>
1327
+ <keyword>invert</keyword>
1328
+ <keyword>italic</keyword>
1329
+ <keyword>justify</keyword>
1330
+ <keyword>katakana-iroha</keyword>
1331
+ <keyword>katakana</keyword>
1332
+ <keyword>landscape</keyword>
1333
+ <keyword>large</keyword>
1334
+ <keyword>larger</keyword>
1335
+ <keyword>left-side</keyword>
1336
+ <keyword>leftwards</keyword>
1337
+ <keyword>level</keyword>
1338
+ <keyword>lighter</keyword>
1339
+ <keyword>line-through</keyword>
1340
+ <keyword>list-item</keyword>
1341
+ <keyword>loud</keyword>
1342
+ <keyword>lower-alpha</keyword>
1343
+ <keyword>lowercase</keyword>
1344
+ <keyword>lower-greek</keyword>
1345
+ <keyword>lower-latin</keyword>
1346
+ <keyword>lower-roman</keyword>
1347
+ <keyword>lower</keyword>
1348
+ <keyword>low</keyword>
1349
+ <keyword>ltr</keyword>
1350
+ <keyword>marker</keyword>
1351
+ <keyword>medium</keyword>
1352
+ <keyword>menu</keyword>
1353
+ <keyword>message-box</keyword>
1354
+ <keyword>middle</keyword>
1355
+ <keyword>mix</keyword>
1356
+ <keyword>monospace</keyword>
1357
+ <keyword>move</keyword>
1358
+ <keyword>narrower</keyword>
1359
+ <keyword>ne-resize</keyword>
1360
+ <keyword>nesw-resize</keyword>
1361
+ <keyword>no-close-quote</keyword>
1362
+ <keyword>no-drop</keyword>
1363
+ <keyword>no-open-quote</keyword>
1364
+ <keyword>no-repeat</keyword>
1365
+ <keyword>none</keyword>
1366
+ <keyword>normal</keyword>
1367
+ <keyword>not-allowed</keyword>
1368
+ <keyword>nowrap</keyword>
1369
+ <keyword>ns-resize</keyword>
1370
+ <keyword>nw-resize</keyword>
1371
+ <keyword>nwse-resize</keyword>
1372
+ <keyword>n-resize</keyword>
1373
+ <keyword>oblique</keyword>
1374
+ <keyword>once</keyword>
1375
+ <keyword>open-quote</keyword>
1376
+ <keyword>outset</keyword>
1377
+ <keyword>outside</keyword>
1378
+ <keyword>overline</keyword>
1379
+ <keyword>pointer</keyword>
1380
+ <keyword>portrait</keyword>
1381
+ <keyword>pre-line</keyword>
1382
+ <keyword>pre-wrap</keyword>
1383
+ <keyword>pre</keyword>
1384
+ <keyword>progress</keyword>
1385
+ <keyword>relative</keyword>
1386
+ <keyword>repeat-x</keyword>
1387
+ <keyword>repeat-y</keyword>
1388
+ <keyword>repeat</keyword>
1389
+ <keyword>ridge</keyword>
1390
+ <keyword>right-side</keyword>
1391
+ <keyword>right</keyword>
1392
+ <keyword>rightwards</keyword>
1393
+ <keyword>row-resize</keyword>
1394
+ <keyword>rtl</keyword>
1395
+ <keyword>run-in</keyword>
1396
+ <keyword>sans-serif</keyword>
1397
+ <keyword>scroll</keyword>
1398
+ <keyword>semi-condensed</keyword>
1399
+ <keyword>semi-expanded</keyword>
1400
+ <keyword>separate</keyword>
1401
+ <keyword>se-resize</keyword>
1402
+ <keyword>serif</keyword>
1403
+ <keyword>show</keyword>
1404
+ <keyword>silent</keyword>
1405
+ <keyword>slower</keyword>
1406
+ <keyword>slow</keyword>
1407
+ <keyword>small-caps</keyword>
1408
+ <keyword>smaller</keyword>
1409
+ <keyword>small-caption</keyword>
1410
+ <keyword>small</keyword>
1411
+ <keyword>soft</keyword>
1412
+ <keyword>solid</keyword>
1413
+ <keyword>spell-out</keyword>
1414
+ <keyword>square</keyword>
1415
+ <keyword>se-resize</keyword>
1416
+ <keyword>sw-resize</keyword>
1417
+ <keyword>s-resize</keyword>
1418
+ <keyword>static</keyword>
1419
+ <keyword>status-bar</keyword>
1420
+ <keyword>sub</keyword>
1421
+ <keyword>super</keyword>
1422
+ <keyword>sw-resize</keyword>
1423
+ <keyword>table-caption</keyword>
1424
+ <keyword>table-cell</keyword>
1425
+ <keyword>table-column-group</keyword>
1426
+ <keyword>table-column</keyword>
1427
+ <keyword>table-footer-group</keyword>
1428
+ <keyword>table-header-group</keyword>
1429
+ <keyword>table-row-group</keyword>
1430
+ <keyword>table-row</keyword>
1431
+ <keyword>table</keyword>
1432
+ <keyword>text-bottom</keyword>
1433
+ <keyword>text</keyword>
1434
+ <keyword>text-top</keyword>
1435
+ <keyword>thick</keyword>
1436
+ <keyword>thin</keyword>
1437
+ <keyword>top</keyword>
1438
+ <keyword>transparent</keyword>
1439
+ <keyword>ultra-condensed</keyword>
1440
+ <keyword>ultra-expanded</keyword>
1441
+ <keyword>underline</keyword>
1442
+ <keyword>upper-alpha</keyword>
1443
+ <keyword>uppercase</keyword>
1444
+ <keyword>upper-latin</keyword>
1445
+ <keyword>upper-roman</keyword>
1446
+ <keyword>vertical-text</keyword>
1447
+ <keyword>visible</keyword>
1448
+ <keyword>wait</keyword>
1449
+ <keyword>wider</keyword>
1450
+ <keyword>w-resize</keyword>
1451
+ <keyword>x-fast</keyword>
1452
+ <keyword>x-high</keyword>
1453
+ <keyword>x-large</keyword>
1454
+ <keyword>x-loud</keyword>
1455
+ <keyword>x-low</keyword>
1456
+ <keyword>x-slow</keyword>
1457
+ <keyword>x-small</keyword>
1458
+ <keyword>x-soft</keyword>
1459
+ <keyword>xx-large</keyword>
1460
+ <keyword>xx-small</keyword>
1461
+ <keyword>zoom-in</keyword>
1462
+ <keyword>zoom-out</keyword>
1463
+ </context>
1464
+
1465
+ <context id="property-name">
1466
+ <include>
1467
+ <context ref="vendor-specific-name"/>
1468
+ <context ref="svg-property-names"/>
1469
+ <context ref="css3-property-names"/>
1470
+ <context ref="property-names"/>
1471
+ </include>
1472
+ </context>
1473
+
1474
+ <context id="property-value-keyword">
1475
+ <include>
1476
+ <context ref="vendor-specific-name"/>
1477
+ <context ref="animatable-properties"/>
1478
+ <context ref="svg-property-values"/>
1479
+ <context ref="east-asian-variant-values"/>
1480
+ <context ref="page-sizes"/>
1481
+ <context ref="css3-property-values"/>
1482
+ <context ref="property-values"/>
1483
+ </include>
1484
+ </context>
1485
+
1486
+
1487
+ <!-- any assignable value -->
1488
+
1489
+ <context id="any-value">
1490
+ <include>
1491
+ <context ref="function-call"/>
1492
+ <context ref="property-value-keyword"/>
1493
+ <context ref="data-value"/>
1494
+ <context ref="slash"/>
1495
+ <context ref="comma"/> <!-- for lists -->
1496
+ </include>
1497
+ </context>
1498
+
1499
+
1500
+ <!-- modifiers -->
1501
+
1502
+ <context id="modifiers" end-parent="true" style-ref="modifier">
1503
+ <keyword>important</keyword>
1504
+ </context>
1505
+
1506
+ <context id="modifier-content">
1507
+ <include>
1508
+ <context ref="modifiers"/>
1509
+ </include>
1510
+ </context>
1511
+
1512
+ <context id="modifier">
1513
+ <start>!</start>
1514
+ <end>\%{declaration-value-end}</end>
1515
+ <include>
1516
+ <context sub-pattern="0" where="start" style-ref="modifier"/>
1517
+ <context ref="comment"/>
1518
+ <context ref="modifier-content"/>
1519
+ </include>
1520
+ </context>
1521
+
1522
+
1523
+ <!-- style block -->
1524
+
1525
+ <context id="declaration-property">
1526
+ <include>
1527
+ <context ref="property-name"/>
1528
+ </include>
1529
+ </context>
1530
+
1531
+ <context id="declaration-value-content">
1532
+ <include>
1533
+ <context ref="any-value"/>
1534
+ </include>
1535
+ </context>
1536
+
1537
+ <context id="declaration-value">
1538
+ <start>:</start>
1539
+ <end>\%{declaration-value-end}</end>
1540
+ <include>
1541
+ <context sub-pattern="0" where="start" style-ref="delimiter"/>
1542
+ <context ref="comment"/>
1543
+ <context ref="declaration-value-content"/>
1544
+ </include>
1545
+ </context>
1546
+
1547
+ <context id="declaration">
1548
+ <include>
1549
+ <context ref="declaration-property"/>
1550
+ <context ref="declaration-value"/>
1551
+ <context ref="modifier"/>
1552
+ <context ref="semicolon"/>
1553
+ </include>
1554
+ </context>
1555
+
1556
+ <context id="style-block-content">
1557
+ <include>
1558
+ <context ref="declaration"/>
1559
+ </include>
1560
+ </context>
1561
+
1562
+ <context id="style-block">
1563
+ <start>\{</start>
1564
+ <end>\}</end>
1565
+ <include>
1566
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
1567
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
1568
+ <context ref="comment"/>
1569
+ <context ref="style-block-content"/>
1570
+ </include>
1571
+ </context>
1572
+
1573
+
1574
+ <!-- media queries -->
1575
+
1576
+ <context id="media-query-operators" style-ref="media-query-operator">
1577
+ <keyword>and</keyword>
1578
+ <keyword>not</keyword>
1579
+ <keyword>only</keyword>
1580
+ </context>
1581
+
1582
+ <context id="media-types" style-ref="media-type">
1583
+ <keyword>all</keyword>
1584
+ <keyword>print</keyword>
1585
+ <keyword>screen</keyword>
1586
+ <keyword>speech</keyword>
1587
+ </context>
1588
+
1589
+ <context id="css3-media-features" style-ref="media-feature">
1590
+ <keyword>any-hover</keyword>
1591
+ <keyword>any-pointer</keyword>
1592
+ <keyword>aspect-ratio</keyword>
1593
+ <keyword>color-gamut</keyword>
1594
+ <keyword>color-index</keyword>
1595
+ <keyword>color</keyword>
1596
+ <keyword>display-mode</keyword>
1597
+ <keyword>grid</keyword>
1598
+ <keyword>height</keyword>
1599
+ <keyword>hover</keyword>
1600
+ <keyword>max-aspect-ratio</keyword>
1601
+ <keyword>max-color-index</keyword>
1602
+ <keyword>max-color</keyword>
1603
+ <keyword>max-height</keyword>
1604
+ <keyword>max-monochrome</keyword>
1605
+ <keyword>max-resolution</keyword>
1606
+ <keyword>max-width</keyword>
1607
+ <keyword>min-aspect-ratio</keyword>
1608
+ <keyword>min-color-index</keyword>
1609
+ <keyword>min-color</keyword>
1610
+ <keyword>min-height</keyword>
1611
+ <keyword>min-monochrome</keyword>
1612
+ <keyword>min-resolution</keyword>
1613
+ <keyword>min-width</keyword>
1614
+ <keyword>monochrome</keyword>
1615
+ <keyword>orientation</keyword>
1616
+ <keyword>overflow-block</keyword>
1617
+ <keyword>overflow-inline</keyword>
1618
+ <keyword>pointer</keyword>
1619
+ <keyword>resolution</keyword>
1620
+ <keyword>scan</keyword>
1621
+ <keyword>update</keyword>
1622
+ <keyword>width</keyword>
1623
+ </context>
1624
+
1625
+ <context id="css3-media-feature-values" style-ref="media-feature-value">
1626
+ <keyword>browser</keyword>
1627
+ <keyword>coarse</keyword>
1628
+ <keyword>fast</keyword>
1629
+ <keyword>fine</keyword>
1630
+ <keyword>fullscreen</keyword>
1631
+ <keyword>hover</keyword>
1632
+ <keyword>interlace</keyword>
1633
+ <keyword>landscape</keyword>
1634
+ <keyword>minimal-ui</keyword>
1635
+ <keyword>none</keyword>
1636
+ <keyword>optional-paged</keyword>
1637
+ <keyword>p3</keyword>
1638
+ <keyword>paged</keyword>
1639
+ <keyword>portrait</keyword>
1640
+ <keyword>progressive</keyword>
1641
+ <keyword>rec2020</keyword>
1642
+ <keyword>scroll</keyword>
1643
+ <keyword>slow</keyword>
1644
+ <keyword>srgb</keyword>
1645
+ <keyword>standalone</keyword>
1646
+ </context>
1647
+
1648
+ <context id="media-type-value">
1649
+ <include>
1650
+ <context ref="media-types"/>
1651
+ </include>
1652
+ </context>
1653
+
1654
+ <context id="media-feature-test-name">
1655
+ <include>
1656
+ <context ref="css3-media-features"/>
1657
+ </include>
1658
+ </context>
1659
+
1660
+ <context id="media-feature-test-value-content">
1661
+ <include>
1662
+ <context ref="css3-media-feature-values"/>
1663
+ <context ref="data-value"/>
1664
+ </include>
1665
+ </context>
1666
+
1667
+ <context id="media-feature-test-value">
1668
+ <start>:</start>
1669
+ <end>\%{test-value-end}</end>
1670
+ <include>
1671
+ <context sub-pattern="0" where="start" style-ref="delimiter"/>
1672
+ <context ref="comment"/>
1673
+ <context ref="media-feature-test-value-content"/>
1674
+ </include>
1675
+ </context>
1676
+
1677
+ <context id="media-feature-test-content">
1678
+ <include>
1679
+ <context ref="media-queries"/>
1680
+ <context ref="media-feature-test-name"/>
1681
+ <context ref="media-feature-test-value"/>
1682
+ </include>
1683
+ </context>
1684
+
1685
+ <context id="media-feature-test">
1686
+ <start>\(</start>
1687
+ <end>\)</end>
1688
+ <include>
1689
+ <context sub-pattern="0" where="start" style-ref="test-delimiter"/>
1690
+ <context sub-pattern="0" where="end" style-ref="test-delimiter"/>
1691
+ <context ref="comment"/>
1692
+ <context ref="media-feature-test-content"/>
1693
+ </include>
1694
+ </context>
1695
+
1696
+ <context id="media-queries">
1697
+ <include>
1698
+ <context ref="media-query-operators"/>
1699
+ <context ref="media-type-value"/>
1700
+ <context ref="media-feature-test"/>
1701
+ <context ref="comma"/>
1702
+ </include>
1703
+ </context>
1704
+
1705
+
1706
+ <!-- at-rules -->
1707
+
1708
+ <context id="at-rule-style-block-content">
1709
+ <include>
1710
+ <context ref="declaration"/>
1711
+ </include>
1712
+ </context>
1713
+
1714
+ <context id="at-rule-style-block" end-parent="true">
1715
+ <start>\{</start>
1716
+ <end>\}</end>
1717
+ <include>
1718
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
1719
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
1720
+ <context ref="comment"/>
1721
+ <context ref="at-rule-style-block-content"/>
1722
+ </include>
1723
+ </context>
1724
+
1725
+ <context id="at-rule-css-block-content">
1726
+ <include>
1727
+ <context ref="at-rule"/>
1728
+ <context ref="selector"/>
1729
+ <context ref="style-block"/>
1730
+ </include>
1731
+ </context>
1732
+
1733
+ <context id="at-rule-css-block" end-parent="true">
1734
+ <start>\{</start>
1735
+ <end>\}</end>
1736
+ <include>
1737
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
1738
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
1739
+ <context ref="comment"/>
1740
+ <context ref="at-rule-css-block-content"/>
1741
+ </include>
1742
+ </context>
1743
+
1744
+ <!--
1745
+ if this was a simple context (<match>), then in a case like this:
1746
+ @supports {
1747
+ @import url();
1748
+ @media screen {}
1749
+ }
1750
+ the @media rule would not be highlighted correctly
1751
+ (seems like a bug?)
1752
+ -->
1753
+ <context id="at-rule-delimiter" end-parent="true" style-ref="delimiter">
1754
+ <start>(?=;)</start>
1755
+ <end>;</end>
1756
+ </context>
1757
+
1758
+ <context id="vendor-specific-at-rule">
1759
+ <start>@\%{vendor-specific-identifier-regex}</start>
1760
+ <include>
1761
+ <context sub-pattern="0" where="start" style-ref="vendor-specific"/>
1762
+ <context ref="at-rule-css-block"/>
1763
+ <context ref="at-rule-delimiter"/>
1764
+ </include>
1765
+ </context>
1766
+
1767
+ <!--
1768
+ @charset "encoding";
1769
+ -->
1770
+
1771
+ <context id="at-charset" first-line-only="true">
1772
+ <start case-sensitive="true">^@charset(?= "[^"]*";)</start>
1773
+ <include>
1774
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1775
+ <context ref="def:string"/>
1776
+ <context ref="at-rule-delimiter"/>
1777
+ </include>
1778
+ </context>
1779
+
1780
+ <context id="at-charset-error" style-ref="error">
1781
+ <start>@charset\%]</start>
1782
+ <include>
1783
+ <context ref="at-rule-delimiter"/>
1784
+ </include>
1785
+ </context>
1786
+
1787
+ <!--
1788
+ @font-face <style-block>
1789
+ -->
1790
+
1791
+ <context id="at-font-face">
1792
+ <start>@font-face\%]</start>
1793
+ <include>
1794
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1795
+ <context ref="comment"/>
1796
+ <context ref="at-rule-style-block"/>
1797
+ </include>
1798
+ </context>
1799
+
1800
+ <!--
1801
+ @font-feature-values <font name|"font name"> {
1802
+ @<font-feature-type> {
1803
+ <custom-name>: <positive-integer>+;
1804
+ }
1805
+ }
1806
+ -->
1807
+
1808
+ <context id="font-feature-types" style-ref="at-rule-inner-selector">
1809
+ <prefix>@</prefix>
1810
+ <keyword>annotation</keyword>
1811
+ <keyword>character-variant</keyword>
1812
+ <keyword>ornaments</keyword>
1813
+ <keyword>styleset</keyword>
1814
+ <keyword>stylistic</keyword>
1815
+ <keyword>swash</keyword>
1816
+ </context>
1817
+
1818
+ <context id="font-feature-type-value">
1819
+ <include>
1820
+ <context ref="font-feature-types"/>
1821
+ </include>
1822
+ </context>
1823
+
1824
+ <context id="font-feature-value-declaration-name">
1825
+ <include>
1826
+ <context ref="name-value"/>
1827
+ </include>
1828
+ </context>
1829
+
1830
+ <context id="font-feature-value-declaration-value-content">
1831
+ <include>
1832
+ <context ref="positive-integer"/>
1833
+ </include>
1834
+ </context>
1835
+
1836
+ <context id="font-feature-value-declaration-value">
1837
+ <start>:</start>
1838
+ <end>\%{declaration-value-end}</end>
1839
+ <include>
1840
+ <context sub-pattern="0" where="start" style-ref="delimiter"/>
1841
+ <context ref="comment"/>
1842
+ <context ref="font-feature-value-declaration-value-content"/>
1843
+ </include>
1844
+ </context>
1845
+
1846
+ <context id="at-font-feature-values-feature-value-block">
1847
+ <start>\{</start>
1848
+ <end>\}</end>
1849
+ <include>
1850
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
1851
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
1852
+ <context ref="comment"/>
1853
+ <context ref="font-feature-value-declaration-name"/>
1854
+ <context ref="font-feature-value-declaration-value"/>
1855
+ <context ref="semicolon"/>
1856
+ </include>
1857
+ </context>
1858
+
1859
+ <context id="at-font-feature-values-block" end-parent="true">
1860
+ <start>\{</start>
1861
+ <end>\}</end>
1862
+ <include>
1863
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
1864
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
1865
+ <context ref="comment"/>
1866
+ <context ref="font-feature-type-value"/>
1867
+ <context ref="at-font-feature-values-feature-value-block"/>
1868
+ </include>
1869
+ </context>
1870
+
1871
+ <context id="at-font-feature-values">
1872
+ <start>@font-feature-values\%]</start>
1873
+ <include>
1874
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1875
+ <context ref="comment"/>
1876
+ <context ref="string-value"/>
1877
+ <context ref="name-value"/>
1878
+ <context ref="at-font-feature-values-block"/>
1879
+ </include>
1880
+ </context>
1881
+
1882
+ <!--
1883
+ @import <url(...)|"url"> <media-queries>?;
1884
+ -->
1885
+
1886
+ <context id="at-import">
1887
+ <start>@import\%]</start>
1888
+ <include>
1889
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1890
+ <context ref="comment"/>
1891
+ <context ref="url"/>
1892
+ <context ref="media-queries"/>
1893
+ <context ref="string-value"/>
1894
+ <context ref="at-rule-delimiter"/>
1895
+ </include>
1896
+ </context>
1897
+
1898
+ <!--
1899
+ @keyframes <custom name|"custom name"> {
1900
+ <from|to|%> <style-block>
1901
+ }
1902
+ -->
1903
+
1904
+ <context id="keyframe-selector" style-ref="at-rule-inner-selector">
1905
+ <keyword>from</keyword>
1906
+ <keyword>to</keyword>
1907
+ </context>
1908
+
1909
+ <context id="keyframe-selector-value">
1910
+ <include>
1911
+ <context ref="percentage" style-ref="at-rule-inner-selector"/>
1912
+ <context ref="keyframe-selector"/>
1913
+ </include>
1914
+ </context>
1915
+
1916
+ <context id="at-keyframes-block" end-parent="true">
1917
+ <start>\{</start>
1918
+ <end>\}</end>
1919
+ <include>
1920
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
1921
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
1922
+ <context ref="comment"/>
1923
+ <context ref="keyframe-selector-value"/>
1924
+ <context ref="style-block"/>
1925
+ </include>
1926
+ </context>
1927
+
1928
+ <context id="vendor-specific-at-keyframes">
1929
+ <start>@\%{vendor-specific-prefix-regex}keyframes\%]</start>
1930
+ <include>
1931
+ <context sub-pattern="0" where="start" style-ref="vendor-specific"/>
1932
+ <context ref="comment"/>
1933
+ <context ref="string-value"/>
1934
+ <context ref="name-value"/>
1935
+ <context ref="at-keyframes-block"/>
1936
+ </include>
1937
+ </context>
1938
+
1939
+ <context id="at-keyframes">
1940
+ <start>@keyframes\%]</start>
1941
+ <include>
1942
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1943
+ <context ref="comment"/>
1944
+ <context ref="string-value"/>
1945
+ <context ref="name-value"/>
1946
+ <context ref="at-keyframes-block"/>
1947
+ </include>
1948
+ </context>
1949
+
1950
+ <!--
1951
+ @media <media-queries> <css-block>
1952
+ -->
1953
+
1954
+ <context id="at-media">
1955
+ <start>@media\%]</start>
1956
+ <include>
1957
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1958
+ <context ref="comment"/>
1959
+ <context ref="media-queries"/>
1960
+ <context ref="at-rule-css-block"/>
1961
+ </include>
1962
+ </context>
1963
+
1964
+ <!--
1965
+ @namespace <namespace>? <url(...)|"url">;
1966
+ -->
1967
+
1968
+ <context id="namespace-value">
1969
+ <include>
1970
+ <context ref="name" style-ref="namespace"/>
1971
+ </include>
1972
+ </context>
1973
+
1974
+ <context id="at-namespace">
1975
+ <start>@namespace\%]</start>
1976
+ <include>
1977
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
1978
+ <context ref="comment"/>
1979
+ <context ref="url"/>
1980
+ <context ref="string-value"/>
1981
+ <context ref="namespace-value"/>
1982
+ <context ref="at-rule-delimiter"/>
1983
+ </include>
1984
+ </context>
1985
+
1986
+ <!--
1987
+ @page <custom name>?<pseudo-page>* (, <custom name>?<pseudo-page>*)* {
1988
+ <declaration>*
1989
+ (@<page-margin-box-type> <style-block>)*
1990
+ }
1991
+ -->
1992
+
1993
+ <context id="pseudo-pages" style-ref="pseudo-class">
1994
+ <prefix>:</prefix>
1995
+ <keyword>blank</keyword>
1996
+ <keyword>first</keyword>
1997
+ <keyword>left</keyword>
1998
+ <keyword>right</keyword>
1999
+ </context>
2000
+
2001
+ <context id="page-margin-box-types" style-ref="at-rule-inner-selector">
2002
+ <prefix>@</prefix>
2003
+ <keyword>bottom-center</keyword>
2004
+ <keyword>bottom-left-corner</keyword>
2005
+ <keyword>bottom-left</keyword>
2006
+ <keyword>bottom-right-corner</keyword>
2007
+ <keyword>bottom-right</keyword>
2008
+ <keyword>left-bottom</keyword>
2009
+ <keyword>left-middle</keyword>
2010
+ <keyword>left-top</keyword>
2011
+ <keyword>right-bottom</keyword>
2012
+ <keyword>right-middle</keyword>
2013
+ <keyword>right-top</keyword>
2014
+ <keyword>top-center</keyword>
2015
+ <keyword>top-left-corner</keyword>
2016
+ <keyword>top-left</keyword>
2017
+ <keyword>top-right-corner</keyword>
2018
+ <keyword>top-right</keyword>
2019
+ </context>
2020
+
2021
+ <context id="at-page-block" end-parent="true">
2022
+ <start>\{</start>
2023
+ <end>\}</end>
2024
+ <include>
2025
+ <context sub-pattern="0" where="start" style-ref="block-delimiter"/>
2026
+ <context sub-pattern="0" where="end" style-ref="block-delimiter"/>
2027
+ <context ref="comment"/>
2028
+ <context ref="declaration"/>
2029
+ <context ref="page-margin-box-types"/>
2030
+ <context ref="style-block"/>
2031
+ </include>
2032
+ </context>
2033
+
2034
+ <context id="at-page">
2035
+ <start>@page\%]</start>
2036
+ <include>
2037
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
2038
+ <context ref="comment"/>
2039
+ <context ref="pseudo-pages"/>
2040
+ <context ref="name-value"/>
2041
+ <context ref="comma"/>
2042
+ <context ref="at-page-block"/>
2043
+ </include>
2044
+ </context>
2045
+
2046
+ <!--
2047
+ @supports <test> <css-block>
2048
+ -->
2049
+
2050
+ <context id="at-supports-operators" style-ref="at-rule-operator">
2051
+ <keyword>and</keyword>
2052
+ <keyword>not</keyword>
2053
+ <keyword>or</keyword>
2054
+ </context>
2055
+
2056
+ <define-regex id="at-supports-declaration-value-end" extended="true">
2057
+ (?:
2058
+ \%{test-value-end} |
2059
+ (?= ! )
2060
+ )
2061
+ </define-regex>
2062
+
2063
+ <context id="at-supports-declaration-value">
2064
+ <start>:</start>
2065
+ <end>\%{at-supports-declaration-value-end}</end>
2066
+ <include>
2067
+ <context sub-pattern="0" where="start" style-ref="delimiter"/>
2068
+ <context ref="comment"/>
2069
+ <context ref="declaration-value-content"/>
2070
+ </include>
2071
+ </context>
2072
+
2073
+ <context id="at-supports-modifier">
2074
+ <start>!</start>
2075
+ <end>\%{at-supports-declaration-value-end}</end>
2076
+ <include>
2077
+ <context sub-pattern="0" where="start" style-ref="modifier"/>
2078
+ <context ref="comment"/>
2079
+ <context ref="modifier-content"/>
2080
+ </include>
2081
+ </context>
2082
+
2083
+ <context id="at-supports-test">
2084
+ <start>\(</start>
2085
+ <end>\)</end>
2086
+ <include>
2087
+ <context sub-pattern="0" where="start" style-ref="test-delimiter"/>
2088
+ <context sub-pattern="0" where="end" style-ref="test-delimiter"/>
2089
+ <context ref="comment"/>
2090
+ <context ref="at-supports-test"/>
2091
+ <context ref="at-supports-operators"/>
2092
+ <context ref="declaration-property"/>
2093
+ <context ref="at-supports-declaration-value"/>
2094
+ <context ref="at-supports-modifier"/> <!-- allowed here but has no effect -->
2095
+ </include>
2096
+ </context>
2097
+
2098
+ <context id="at-supports">
2099
+ <start>@supports\%]</start>
2100
+ <include>
2101
+ <context sub-pattern="0" where="start" style-ref="at-rule"/>
2102
+ <context ref="comment"/>
2103
+ <context ref="at-supports-test"/>
2104
+ <context ref="at-supports-operators"/>
2105
+ <context ref="at-rule-css-block"/>
2106
+ </include>
2107
+ </context>
2108
+
2109
+ <!-- all at-rules -->
2110
+
2111
+ <context id="at-rule">
2112
+ <include>
2113
+ <context ref="vendor-specific-at-keyframes"/>
2114
+ <context ref="vendor-specific-at-rule"/>
2115
+ <context ref="at-charset"/>
2116
+ <context ref="at-charset-error"/>
2117
+ <context ref="at-font-face"/>
2118
+ <context ref="at-font-feature-values"/>
2119
+ <context ref="at-import"/>
2120
+ <context ref="at-keyframes"/>
2121
+ <context ref="at-media"/>
2122
+ <context ref="at-namespace"/>
2123
+ <context ref="at-page"/>
2124
+ <context ref="at-supports"/>
2125
+ </include>
2126
+ </context>
2127
+
2128
+
2129
+ <!-- selectors -->
2130
+
2131
+ <!-- namespace qualifier -->
2132
+
2133
+ <context id="namespace-qualifier">
2134
+ <match>(\%{identifier-regex}|\*)?(\|)</match>
2135
+ <include>
2136
+ <context sub-pattern="1" style-ref="namespace"/>
2137
+ <context sub-pattern="2" style-ref="namespace-qualifier"/>
2138
+ </include>
2139
+ </context>
2140
+
2141
+ <!-- simple selectors -->
2142
+
2143
+ <context id="id-selector" style-ref="id-selector">
2144
+ <match>#\%{identifier-regex}</match>
2145
+ </context>
2146
+
2147
+ <context id="class-selector" style-ref="class-selector">
2148
+ <match>\.\%{identifier-regex}</match>
2149
+ </context>
2150
+
2151
+ <context id="type-selector" style-ref="type-selector">
2152
+ <match>\%{identifier-regex}</match>
2153
+ </context>
2154
+
2155
+ <context id="universal-selector" style-ref="universal-selector">
2156
+ <match>\*</match>
2157
+ </context>
2158
+
2159
+ <context id="attribute-selector-attribute-name">
2160
+ <match>(?&lt;=\[)\s*(\%{identifier-regex})</match>
2161
+ <include>
2162
+ <context sub-pattern="1" style-ref="attribute-selector-name"/>
2163
+ </include>
2164
+ </context>
2165
+
2166
+ <context id="attribute-selector-operator" style-ref="attribute-selector-operator">
2167
+ <match>[~|^$*]?=</match>
2168
+ </context>
2169
+
2170
+ <context id="attribute-selector-content">
2171
+ <include>
2172
+ <context ref="string-value"/>
2173
+ <context ref="attribute-selector-attribute-name"/>
2174
+ <context ref="attribute-selector-operator"/>
2175
+ </include>
2176
+ </context>
2177
+
2178
+ <context id="attribute-selector">
2179
+ <start>\[</start>
2180
+ <end>\]</end>
2181
+ <include>
2182
+ <context sub-pattern="0" where="start" style-ref="attribute-selector"/>
2183
+ <context sub-pattern="0" where="end" style-ref="attribute-selector"/>
2184
+ <context ref="comment"/>
2185
+ <context ref="attribute-selector-content"/>
2186
+ </include>
2187
+ </context>
2188
+
2189
+ <context id="simple-selector">
2190
+ <include>
2191
+ <context ref="id-selector"/>
2192
+ <context ref="class-selector"/>
2193
+ <context ref="type-selector"/>
2194
+ <context ref="universal-selector"/>
2195
+ <context ref="attribute-selector"/>
2196
+ </include>
2197
+ </context>
2198
+
2199
+ <!-- combinators -->
2200
+
2201
+ <!-- technically, this should include the space character (descendant combinator) -->
2202
+ <context id="combinator" style-ref="combinator">
2203
+ <match>[&gt;+~]</match>
2204
+ </context>
2205
+
2206
+ <!-- pseudo-elements -->
2207
+
2208
+ <context id="vendor-specific-pseudo-element" style-ref="vendor-specific">
2209
+ <match>::\%{vendor-specific-identifier-regex}</match>
2210
+ </context>
2211
+
2212
+ <context id="single-colon-pseudo-elements" style-ref="pseudo-element">
2213
+ <prefix>::?</prefix>
2214
+ <keyword>after</keyword>
2215
+ <keyword>before</keyword>
2216
+ <keyword>first-letter</keyword>
2217
+ <keyword>first-line</keyword>
2218
+ </context>
2219
+
2220
+ <context id="pseudo-elements" style-ref="pseudo-element">
2221
+ <prefix>::</prefix>
2222
+ <keyword>placeholder</keyword>
2223
+ <keyword>selection</keyword>
2224
+ </context>
2225
+
2226
+ <context id="pseudo-element">
2227
+ <include>
2228
+ <context ref="vendor-specific-pseudo-element"/>
2229
+ <context ref="single-colon-pseudo-elements"/>
2230
+ <context ref="pseudo-elements"/>
2231
+ </include>
2232
+ </context>
2233
+
2234
+ <!-- pseudo-classes -->
2235
+
2236
+ <context id="vendor-specific-pseudo-class" style-ref="vendor-specific">
2237
+ <match>:\%{vendor-specific-identifier-regex}</match>
2238
+ </context>
2239
+
2240
+ <context id="pseudo-classes" style-ref="pseudo-class">
2241
+ <prefix>:</prefix>
2242
+ <keyword>active</keyword>
2243
+ <keyword>checked</keyword>
2244
+ <keyword>default</keyword>
2245
+ <keyword>disabled</keyword>
2246
+ <keyword>empty</keyword>
2247
+ <keyword>enabled</keyword>
2248
+ <keyword>first-child</keyword>
2249
+ <keyword>first-of-type</keyword>
2250
+ <keyword>focus</keyword>
2251
+ <keyword>hover</keyword>
2252
+ <keyword>in-range</keyword>
2253
+ <keyword>indeterminate</keyword>
2254
+ <keyword>invalid</keyword>
2255
+ <keyword>lang</keyword>
2256
+ <keyword>last-child</keyword>
2257
+ <keyword>last-of-type</keyword>
2258
+ <keyword>link</keyword>
2259
+ <keyword>not</keyword>
2260
+ <keyword>nth-child</keyword>
2261
+ <keyword>nth-last-child</keyword>
2262
+ <keyword>nth-last-of-type</keyword>
2263
+ <keyword>nth-of-type</keyword>
2264
+ <keyword>only-child</keyword>
2265
+ <keyword>only-of-type</keyword>
2266
+ <keyword>optional</keyword>
2267
+ <keyword>out-of-range</keyword>
2268
+ <keyword>read-only</keyword>
2269
+ <keyword>read-write</keyword>
2270
+ <keyword>required</keyword>
2271
+ <keyword>root</keyword>
2272
+ <keyword>target</keyword>
2273
+ <keyword>valid</keyword>
2274
+ <keyword>visited</keyword>
2275
+ </context>
2276
+
2277
+ <context id="pseudo-class">
2278
+ <include>
2279
+ <context ref="vendor-specific-pseudo-class"/>
2280
+ <context ref="pseudo-classes"/>
2281
+ </include>
2282
+ </context>
2283
+
2284
+ <!-- pseudo-class arguments -->
2285
+
2286
+ <context id="lang-pseudo-class-argument-content">
2287
+ <include>
2288
+ <context ref="name-value"/>
2289
+ </include>
2290
+ </context>
2291
+
2292
+ <context id="lang-pseudo-class-argument">
2293
+ <start>(?&lt;=:lang)\(</start>
2294
+ <end>\)</end>
2295
+ <include>
2296
+ <context sub-pattern="0" where="start" style-ref="pseudo-class"/>
2297
+ <context sub-pattern="0" where="end" style-ref="pseudo-class"/>
2298
+ <context ref="comment"/>
2299
+ <context ref="lang-pseudo-class-argument-content"/>
2300
+ </include>
2301
+ </context>
2302
+
2303
+ <context id="not-pseudo-class-nested-not-error" style-ref="error">
2304
+ <start>:not\(</start>
2305
+ <end>\)</end>
2306
+ <include>
2307
+ <context ref="pseudo-class-argument"/>
2308
+ </include>
2309
+ </context>
2310
+
2311
+ <context id="not-pseudo-class-nested-pseudo-element-error">
2312
+ <include>
2313
+ <context ref="vendor-specific-pseudo-element" style-ref="error"/>
2314
+ <context ref="single-colon-pseudo-elements" style-ref="error"/>
2315
+ <context ref="pseudo-elements" style-ref="error"/>
2316
+ </include>
2317
+ </context>
2318
+
2319
+ <context id="not-pseudo-class-argument">
2320
+ <start>(?&lt;=:not)\(</start>
2321
+ <end>\)</end>
2322
+ <include>
2323
+ <context sub-pattern="0" where="start" style-ref="pseudo-class"/>
2324
+ <context sub-pattern="0" where="end" style-ref="pseudo-class"/>
2325
+ <context ref="comment"/>
2326
+ <context ref="not-pseudo-class-nested-not-error"/>
2327
+ <context ref="not-pseudo-class-nested-pseudo-element-error"/>
2328
+ <context ref="simple-selector"/>
2329
+ <context ref="combinator"/>
2330
+ <context ref="pseudo-class"/>
2331
+ <context ref="pseudo-class-argument"/>
2332
+ <context ref="comma"/>
2333
+ </include>
2334
+ </context>
2335
+
2336
+ <context id="nth-pseudo-class-argument-keywords" once-only="true" style-ref="keyword">
2337
+ <keyword>even</keyword>
2338
+ <keyword>odd</keyword>
2339
+ </context>
2340
+
2341
+ <context id="nth-pseudo-class-argument-expression" once-only="true" style-ref="expression">
2342
+ <match extended="true">
2343
+ (
2344
+ \%{integer-regex}? n ( \s* [+-] \s* \%{integer-magnitude-regex} )? |
2345
+ \%{integer-regex}
2346
+ )
2347
+ </match>
2348
+ </context>
2349
+
2350
+ <context id="nth-pseudo-class-argument-content">
2351
+ <include>
2352
+ <context ref="nth-pseudo-class-argument-keywords"/>
2353
+ <context ref="nth-pseudo-class-argument-expression"/>
2354
+ </include>
2355
+ </context>
2356
+
2357
+ <context id="nth-pseudo-class-argument">
2358
+ <start extended="true">
2359
+ (?&lt;=
2360
+ :nth-child |
2361
+ :nth-last-child |
2362
+ :nth-of-type |
2363
+ :nth-last-of-type
2364
+ )
2365
+ \(
2366
+ </start>
2367
+ <end>\)</end>
2368
+ <include>
2369
+ <context sub-pattern="0" where="start" style-ref="pseudo-class"/>
2370
+ <context sub-pattern="0" where="end" style-ref="pseudo-class"/>
2371
+ <context ref="comment"/>
2372
+ <context ref="nth-pseudo-class-argument-content"/>
2373
+ </include>
2374
+ </context>
2375
+
2376
+ <context id="pseudo-class-argument">
2377
+ <include>
2378
+ <context ref="lang-pseudo-class-argument"/>
2379
+ <context ref="not-pseudo-class-argument"/>
2380
+ <context ref="nth-pseudo-class-argument"/>
2381
+ </include>
2382
+ </context>
2383
+
2384
+ <!-- all selectors -->
2385
+
2386
+ <context id="selector">
2387
+ <include>
2388
+ <context ref="namespace-qualifier"/>
2389
+ <context ref="simple-selector"/>
2390
+ <context ref="combinator"/>
2391
+ <context ref="pseudo-element"/>
2392
+ <context ref="pseudo-class"/>
2393
+ <context ref="pseudo-class-argument"/>
2394
+ <context ref="comma"/>
2395
+ </include>
2396
+ </context>
2397
+
2398
+
2399
+ <!-- main context -->
2400
+
2401
+ <context id="css" class="no-spell-check">
2402
+ <include>
2403
+ <context ref="comment"/>
2404
+ <context ref="at-rule"/>
2405
+ <context ref="selector"/>
2406
+ <context ref="style-block"/>
2407
+ </include>
2408
+ </context>
2409
+
2410
+ </definitions>
2411
+ </language>