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,267 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Author: Andrew Johnson <acjgenius@earthlink.net>
7
+ Copyright (C) 2004 Andrew Johnson <acjgenius@earthlink.net>
8
+ Copyright (C) 2005 Thierry Moisan <thierry.moisan@gmail.com>
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="pascal" name="Pascal" version="2.0" _section="Source">
25
+ <metadata>
26
+ <property name="mimetypes">text/x-pascal</property>
27
+ <property name="globs">*.p;*.pas</property>
28
+ <property name="line-comment-start">//</property>
29
+ </metadata>
30
+
31
+ <styles>
32
+ <style id="comment" name="Comment" map-to="def:comment"/>
33
+ <style id="string" name="String" map-to="def:string"/>
34
+ <style id="keyword" name="Keyword" map-to="def:keyword"/>
35
+ <style id="decimal" name="Decimal" map-to="def:decimal"/>
36
+ <style id="type" name="Data Type" map-to="def:type"/>
37
+ <style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
38
+ </styles>
39
+
40
+ <default-regex-options case-sensitive="false"/>
41
+
42
+ <definitions>
43
+
44
+ <context id="string" style-ref="string" class="string" class-disabled="no-spell-check">
45
+ <start>[uUrR]?'</start>
46
+ <end>'</end>
47
+ </context>
48
+
49
+ <context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
50
+ <start>//</start>
51
+ <include>
52
+ <context ref="def:in-comment"/>
53
+ </include>
54
+ </context>
55
+
56
+ <context id="block-comment-1" style-ref="comment" class="comment" class-disabled="no-spell-check">
57
+ <start>\(\*</start>
58
+ <end>\*\)</end>
59
+ <include>
60
+ <context ref="def:in-comment"/>
61
+ </include>
62
+ </context>
63
+
64
+ <context id="block-comment-2" style-ref="comment" class="comment" class-disabled="no-spell-check">
65
+ <start>\{</start>
66
+ <end>\}</end>
67
+ <include>
68
+ <context ref="def:in-comment"/>
69
+ </include>
70
+ </context>
71
+
72
+ <context id="preprocessor-defines" style-ref="preprocessor" end-at-line-end="true">
73
+ <start>\{\$</start>
74
+ <end>\}</end>
75
+ </context>
76
+
77
+ <context id="general-format" style-ref="keyword">
78
+ <keyword>Program</keyword>
79
+ <keyword>Library</keyword>
80
+ <keyword>Unit</keyword>
81
+ <keyword>Uses</keyword>
82
+ <keyword>Interface</keyword>
83
+ <keyword>Implementation</keyword>
84
+ <keyword>Initialization</keyword>
85
+ <keyword>Finalization</keyword>
86
+ <keyword>Begin</keyword>
87
+ <keyword>End</keyword>
88
+ <keyword>Var</keyword>
89
+ <keyword>Const</keyword>
90
+ </context>
91
+
92
+ <context id="functions-and-function-modifiers" style-ref="keyword">
93
+ <keyword>Function</keyword>
94
+ <keyword>Procedure</keyword>
95
+ <keyword>Overload</keyword>
96
+ <keyword>cdecl</keyword>
97
+ </context>
98
+
99
+ <context id="boolean-bitwise-operators" style-ref="keyword">
100
+ <keyword>if</keyword>
101
+ <keyword>then</keyword>
102
+ <keyword>else</keyword>
103
+ <keyword>is</keyword>
104
+ <keyword>and</keyword>
105
+ <keyword>and_then</keyword>
106
+ <keyword>not</keyword>
107
+ <keyword>or</keyword>
108
+ <keyword>or_else</keyword>
109
+ <keyword>xor</keyword>
110
+ <keyword>shr</keyword>
111
+ <keyword>shl</keyword>
112
+ <keyword>otherwise</keyword>
113
+ </context>
114
+
115
+ <context id="math-operators" style-ref="keyword">
116
+ <keyword>div</keyword>
117
+ <keyword>mod</keyword>
118
+ </context>
119
+
120
+ <context id="loop-flow-and-exceptions-keywords" style-ref="keyword">
121
+ <keyword>while</keyword>
122
+ <keyword>do</keyword>
123
+ <keyword>for</keyword>
124
+ <keyword>to</keyword>
125
+ <keyword>case</keyword>
126
+ <keyword>of</keyword>
127
+ <keyword>repeat</keyword>
128
+ <keyword>until</keyword>
129
+ <keyword>break</keyword>
130
+ <keyword>continue</keyword>
131
+ <keyword>try</keyword>
132
+ <keyword>except</keyword>
133
+ <keyword>finally</keyword>
134
+ <keyword>raise</keyword>
135
+ <keyword>downto</keyword>
136
+ <keyword>in</keyword>
137
+ </context>
138
+
139
+ <context id="type-class-and-object-keywords" style-ref="keyword">
140
+ <keyword>Type</keyword>
141
+ <keyword>Packed</keyword>
142
+ <keyword>Array</keyword>
143
+ <keyword>Record</keyword>
144
+ <keyword>Object</keyword>
145
+ <keyword>Class</keyword>
146
+ <keyword>Interface</keyword>
147
+ <keyword>Public</keyword>
148
+ <keyword>Private</keyword>
149
+ <keyword>Protected</keyword>
150
+ <keyword>Constructor</keyword>
151
+ <keyword>Destructor</keyword>
152
+ <keyword>Virtual</keyword>
153
+ <keyword>Abstract</keyword>
154
+ <keyword>Override</keyword>
155
+ <keyword>Property</keyword>
156
+ <keyword>ReadLn</keyword>
157
+ <keyword>Read</keyword>
158
+ <keyword>WriteLn</keyword>
159
+ <keyword>Write</keyword>
160
+ <keyword>default</keyword>
161
+ <keyword>With</keyword>
162
+ <keyword>As</keyword>
163
+ <keyword>self</keyword>
164
+ <keyword>Inherited</keyword>
165
+ <keyword>Forward</keyword>
166
+ <keyword>Implements</keyword>
167
+ <keyword>varargs</keyword>
168
+ <keyword>far</keyword>
169
+ <keyword>near</keyword>
170
+ <keyword>absolute</keyword>
171
+ <keyword>all</keyword>
172
+ <keyword>asm</keyword>
173
+ <keyword>attribute</keyword>
174
+ <keyword>bindable</keyword>
175
+ <keyword>export</keyword>
176
+ <keyword>exports</keyword>
177
+ <keyword>external</keyword>
178
+ <keyword>file</keyword>
179
+ <keyword>goto</keyword>
180
+ <keyword>import</keyword>
181
+ <keyword>interrupt</keyword>
182
+ <keyword>published</keyword>
183
+ <keyword>qualified</keyword>
184
+ <keyword>resident</keyword>
185
+ <keyword>restricted</keyword>
186
+ <keyword>segment</keyword>
187
+ <keyword>set</keyword>
188
+ <keyword>value</keyword>
189
+ </context>
190
+
191
+ <context id="builtin-types" style-ref="type">
192
+ <keyword>Char</keyword>
193
+ <keyword>String</keyword>
194
+ <keyword>Integer</keyword>
195
+ <keyword>Real</keyword>
196
+ <keyword>Boolean</keyword>
197
+ <keyword>Pointer</keyword>
198
+ <keyword>Byte</keyword>
199
+ <keyword>LongInt</keyword>
200
+ </context>
201
+
202
+ <context id="builtin-functions" style-ref="keyword">
203
+ <keyword>chr</keyword>
204
+ <keyword>ord</keyword>
205
+ <keyword>succ</keyword>
206
+ <keyword>pred</keyword>
207
+ <keyword>abs</keyword>
208
+ <keyword>round</keyword>
209
+ <keyword>trunc</keyword>
210
+ <keyword>sqr</keyword>
211
+ <keyword>sqrt</keyword>
212
+ <keyword>arctan</keyword>
213
+ <keyword>cos</keyword>
214
+ <keyword>sin</keyword>
215
+ <keyword>exp</keyword>
216
+ <keyword>ln</keyword>
217
+ <keyword>odd</keyword>
218
+ <keyword>eof</keyword>
219
+ <keyword>eoln</keyword>
220
+ <keyword>pow</keyword>
221
+ </context>
222
+
223
+ <context id="builtin-values" style-ref="keyword">
224
+ <keyword>nil</keyword>
225
+ <keyword>False</keyword>
226
+ <keyword>True</keyword>
227
+ </context>
228
+
229
+ <context id="number" style-ref="decimal">
230
+ <match extended="true">
231
+ (?&lt;![\w\.])
232
+ (([0-9]+)|([0-9]+\.[0-9]+([Ee][-]?[0-9]+)?))
233
+ (?![\w\.])
234
+ </match>
235
+ </context>
236
+
237
+ <context id="hex-number" style-ref="decimal">
238
+ <match extended="true">
239
+ (?&lt;![\w\.])
240
+ \$[0-9a-fA-F]*
241
+ (?![\w\.])
242
+ </match>
243
+ </context>
244
+
245
+ <context id="pascal" class="no-spell-check">
246
+ <include>
247
+ <context ref="string"/>
248
+ <context ref="line-comment"/>
249
+ <context ref="preprocessor-defines"/>
250
+ <context ref="block-comment-1"/>
251
+ <context ref="block-comment-2"/>
252
+ <context ref="general-format"/>
253
+ <context ref="functions-and-function-modifiers"/>
254
+ <context ref="boolean-bitwise-operators"/>
255
+ <context ref="math-operators"/>
256
+ <context ref="loop-flow-and-exceptions-keywords"/>
257
+ <context ref="type-class-and-object-keywords"/>
258
+ <context ref="builtin-types"/>
259
+ <context ref="builtin-functions"/>
260
+ <context ref="builtin-values"/>
261
+ <context ref="number"/>
262
+ <context ref="hex-number"/>
263
+ </include>
264
+ </context>
265
+
266
+ </definitions>
267
+ </language>
@@ -0,0 +1,1044 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- ex:set ts=2 et:
3
+
4
+ This file is part of GtkSourceView
5
+
6
+ Copyright (C) 2006, 2007 Steve Frécinaux <code@istique.net>
7
+
8
+ GtkSourceView is free software; you can redistribute it and/or
9
+ modify it under the terms of the GNU Lesser General Public
10
+ License as published by the Free Software Foundation; either
11
+ version 2.1 of the License, or (at your option) any later version.
12
+
13
+ GtkSourceView is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ Lesser General Public License for more details.
17
+
18
+ You should have received a copy of the GNU Lesser General Public License
19
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
20
+
21
+ TODO: extended regex support
22
+ FIXME: =pod should require an empty line before/after, as written in perlpod
23
+
24
+ -->
25
+ <language id="perl" name="Perl" version="2.0" _section="Script">
26
+ <metadata>
27
+ <property name="mimetypes">text/x-perl;application/x-perl</property>
28
+ <property name="globs">*.pl;*.pm;*.al;*.perl;*.t</property>
29
+ <property name="line-comment-start">#</property>
30
+ </metadata>
31
+
32
+ <styles>
33
+ <style id="comment" name="Comment" map-to="def:comment"/>
34
+ <style id="line-directive" name="Line Directive" map-to="def:preprocessor"/>
35
+ <style id="include-statement" name="Include Statement" map-to="def:preprocessor"/>
36
+ <style id="string" name="String" map-to="def:string"/>
37
+ <style id="keyword" name="Keyword" map-to="def:keyword"/>
38
+ <style id="builtin" name="Builtin Function" map-to="def:builtin"/>
39
+ <style id="here-doc" name="Heredoc" map-to="def:string" />
40
+ <style id="here-doc-bound" name="Heredoc Bound" map-to="def:string"/>
41
+ <style id="system-command" name="System Command" map-to="def:string"/>
42
+ <style id="operator" name="Operator" map-to="def:keyword"/>
43
+ <style id="variable" name="Variable" map-to="def:type"/>
44
+ <style id="file-descriptor" name="File Descriptor" map-to="def:special-constant"/>
45
+ <style id="control" name="Control" map-to="def:preprocessor"/>
46
+ <style id="regex" name="Regular Expression" map-to="def:string"/>
47
+ <style id="error" name="Error" map-to="def:error"/>
48
+ <style id="pod" name="POD" map-to="def:comment"/>
49
+ <style id="pod-escape" name="POD Escape" map-to="def:special-char"/>
50
+ <style id="pod-keyword" name="POD keyword" map-to="def:keyword"/>
51
+ <style id="pod-heading" name="POD heading" map-to="def:doc-comment-element"/>
52
+ </styles>
53
+
54
+ <definitions>
55
+ <context id="perl" class="no-spell-check">
56
+ <include>
57
+ <context ref="def:shebang"/>
58
+ <context ref="line-directive"/>
59
+ <context ref="def:shell-like-comment"/>
60
+ <context ref="pod"/>
61
+ <context ref="data"/>
62
+
63
+ <context ref="double-quoted-string"/>
64
+ <context ref="single-quoted-string"/>
65
+ <context ref="system-command"/>
66
+ <context ref="word-list"/>
67
+ <context ref="regular-expression"/>
68
+ <context ref="match"/>
69
+ <context ref="substitution"/>
70
+ <context ref="transliteration"/>
71
+
72
+ <context ref="match-slashslash"/>
73
+
74
+ <context ref="here-doc-no-ve"/>
75
+ <context ref="here-doc"/>
76
+
77
+ <context ref="sub"/>
78
+ <context ref="variable"/>
79
+ <context ref="include-statement"/>
80
+ <context ref="operator"/>
81
+ <context ref="keyword"/>
82
+ <context ref="control"/>
83
+ <context ref="file-descriptor"/>
84
+ <context ref="builtin"/>
85
+ </include>
86
+ </context>
87
+
88
+ <!-- in case we have an obviously wrong piece of code to highlight.
89
+ We put it last so it can highlight everything not handled yet. -->
90
+ <context id="error" style-ref="error" extend-parent="false">
91
+ <match>\S</match>
92
+ </context>
93
+
94
+ <define-regex id="operator" extended="true">
95
+ \-[rwxoRWXOezsfdlpSbctugkTBMAC](?=\s) |
96
+ \-&gt; |
97
+ \+\+ | \-\- |
98
+ \*\* |
99
+ \! | \~ | \\ | \+ | \- |
100
+ [!=]\~ |
101
+ \* | / | % |
102
+ &lt;&lt; | &gt;&gt; |
103
+ &lt; | &gt; | [&lt;&gt;=!]= | &lt;=&gt; |
104
+ &amp; | \| | \^ |
105
+ &amp;&amp; |
106
+ \.\.\.? |
107
+ \? | : |
108
+ = | \*\*= | \+= | \*= | &amp;= | &lt;&lt;= | &amp;&amp;= | \-= | /= |
109
+ \|= | &gt;&gt;= | \|\|= | \.= | %= | \^= | \bx= |
110
+ =&gt; |
111
+ \b(x|lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b
112
+ </define-regex>
113
+
114
+ <context id="operator" style-ref="operator"><!-- see `man perlop` -->
115
+ <match>\%{operator}</match>
116
+ </context>
117
+
118
+ <!-- #### VARIABLES ################################################### -->
119
+
120
+ <!-- $ is not defined in this regexp because it would conflict with
121
+ \%{plain-variable}. $ is the current module. -->
122
+ <define-regex id="special-variable" extended="true">
123
+ \$\^[ADEFHILMOPSTWX]? | # ($^A, ...)
124
+ \$[\\\&quot;\[\]'&amp;`+*.,;=%~?@$&gt;&lt;\(|/!-] | # ($|, $', ...)
125
+ \$:[^:] | # avoid confusion with $::foo (equiv. to $main::foo)
126
+ \$(0|[1-9][0-9]*) | # numbered variables (regex matches)
127
+ @[+-] | # special array variables
128
+ %[!+-] | %\^H # special hash variables
129
+ </define-regex>
130
+
131
+ <define-regex id="plain-variable" extended="true">
132
+ ([$@%]|\$\#)\$*[a-zA-Z_][a-zA-Z0-9_]*
133
+ </define-regex>
134
+
135
+ <context id="plain-variable">
136
+ <include>
137
+ <context style-ref="variable">
138
+ <start>[$@%]{</start>
139
+ <end>}</end>
140
+ </context>
141
+ <context style-ref="variable">
142
+ <match>\%{plain-variable}</match>
143
+ </context>
144
+ </include>
145
+ </context>
146
+
147
+ <context id="special-variable" style-ref="variable">
148
+ <match>\%{special-variable}</match>
149
+ </context>
150
+
151
+ <context id="variable">
152
+ <include>
153
+ <context ref="plain-variable"/>
154
+ <context ref="special-variable"/>
155
+ </include>
156
+ </context>
157
+
158
+ <!-- #### PATTERNS / STRINGS / REGEX ################################## -->
159
+ <!-- see `man perlop` -->
160
+
161
+ <!-- available delimiters for m// or s///-style patterns (probably not
162
+ complete yet). -->
163
+ <define-regex id="pattern-delimiter" extended="true">
164
+ [&amp;+|!/@#\^\-=:;,.?*\\%`"']
165
+ </define-regex>
166
+
167
+ <!-- this assertion is shared by all the regex contexts to avoid wrong
168
+ highlighing of function calls, etc.
169
+ \b can't be used because of $var, @var, &func, %func. -->
170
+ <!-- FIXME I added { and ( to the list to fix #507075 and #535703. Someone
171
+ please look at it, it seems wrong. It probably should be a positive
172
+ look-behind. -->
173
+ <define-regex id="pattern-before" extended="true">
174
+ (?&lt;![a-zA-Z0-9@%{(])
175
+ </define-regex>
176
+
177
+ <context id="in-pattern">
178
+ <include>
179
+ <context ref="def:escape"/>
180
+ <context ref="plain-variable"/>
181
+ <context extend-parent="false">
182
+ <start>(?=\$)</start>
183
+ <include>
184
+ <!-- some variables are not recognized in patterns -->
185
+ <context><match>\$(?=[|)])</match></context>
186
+ <context ref="special-variable"/>
187
+ </include>
188
+ </context>
189
+ </include>
190
+ </context>
191
+
192
+
193
+ <!-- The following context definitions are there to handle nesting of
194
+ brackets in bracket-delimited regexes. -->
195
+
196
+ <context id="in-pattern-curly-no-ve">
197
+ <include>
198
+ <context>
199
+ <start>{</start><end>}</end>
200
+ <include><context ref="in-pattern-curly-no-ve"/></include>
201
+ </context>
202
+ </include>
203
+ </context>
204
+
205
+ <context id="in-pattern-curly">
206
+ <include>
207
+ <context>
208
+ <start>{</start><end>}</end>
209
+ <include><context ref="in-pattern-curly"/></include>
210
+ </context>
211
+ <context ref="in-pattern"/>
212
+ </include>
213
+ </context>
214
+
215
+ <context id="in-pattern-square-no-ve">
216
+ <include>
217
+ <context>
218
+ <start>\[</start><end>\]</end>
219
+ <include><context ref="in-pattern-square-no-ve"/></include>
220
+ </context>
221
+ </include>
222
+ </context>
223
+
224
+ <context id="in-pattern-square">
225
+ <include>
226
+ <context>
227
+ <start>\[</start><end>\]</end>
228
+ <include><context ref="in-pattern-square"/></include>
229
+ </context>
230
+ <context ref="in-pattern"/>
231
+ </include>
232
+ </context>
233
+
234
+ <context id="in-pattern-round-no-ve">
235
+ <include>
236
+ <context>
237
+ <start>\(</start><end>}</end>
238
+ <include><context ref="in-pattern-round-no-ve"/></include>
239
+ </context>
240
+ </include>
241
+ </context>
242
+
243
+ <context id="in-pattern-round">
244
+ <include>
245
+ <context>
246
+ <start>\(</start><end>\)</end>
247
+ <include><context ref="in-pattern-round"/></include>
248
+ </context>
249
+ <context ref="in-pattern"/>
250
+ </include>
251
+ </context>
252
+
253
+ <context id="in-pattern-angle-no-ve">
254
+ <include>
255
+ <context>
256
+ <start>&lt;</start><end>&gt;</end>
257
+ <include><context ref="in-pattern-angle-no-ve"/></include>
258
+ </context>
259
+ </include>
260
+ </context>
261
+
262
+ <context id="in-pattern-angle">
263
+ <include>
264
+ <context>
265
+ <start>&lt;</start><end>&gt;</end>
266
+ <include><context ref="in-pattern-angle"/></include>
267
+ </context>
268
+ <context ref="in-pattern"/>
269
+ </include>
270
+ </context>
271
+
272
+ <!-- One level higher: the following contexts define single and double
273
+ patterns in general, in ve and no-ve version. -->
274
+
275
+ <define-regex id="end-of-pattern" extended="true">
276
+ (?&lt;=
277
+ [}\]\)&gt;]|
278
+ \%{pattern-delimiter}
279
+ )
280
+ </define-regex>
281
+
282
+ <context id="simple-pattern" once-only="true">
283
+ <start/>
284
+ <include>
285
+ <context ref="asserted-comment"/>
286
+ <context end-parent="true">
287
+ <start>{</start><end>}</end>
288
+ <include><context ref="in-pattern-curly"/></include>
289
+ </context>
290
+ <context end-parent="true">
291
+ <start>\[</start><end>\]</end>
292
+ <include><context ref="in-pattern-square"/></include>
293
+ </context>
294
+ <context end-parent="true">
295
+ <start>\(</start><end>\)</end>
296
+ <include><context ref="in-pattern-round"/></include>
297
+ </context>
298
+ <context end-parent="true">
299
+ <start>&lt;</start><end>&gt;</end>
300
+ <include><context ref="in-pattern-angle"/></include>
301
+ </context>
302
+ <context end-parent="true">
303
+ <!-- '' doesn't usually have var expansion. -->
304
+ <start>'</start><end>'</end>
305
+ <include>
306
+ <context style-ref="def:special-char">
307
+ <match>\\\\|\\'</match>
308
+ </context>
309
+ </include>
310
+ </context>
311
+ <context end-parent="true">
312
+ <start>(?P&lt;RD&gt;\%{pattern-delimiter})</start>
313
+ <end>\%{RD@start}</end>
314
+ <include><context ref="in-pattern"/></include>
315
+ </context>
316
+ <context ref="asserted-comment"/>
317
+ <context ref="error"/>
318
+ </include>
319
+ </context>
320
+
321
+ <context id="simple-pattern-no-ve" once-only="true">
322
+ <start/>
323
+ <include>
324
+ <context end-parent="true">
325
+ <start>{</start><end>}</end>
326
+ <include><context ref="in-pattern-curly-no-ve"/></include>
327
+ </context>
328
+ <context end-parent="true">
329
+ <start>\[</start><end>\]</end>
330
+ <include><context ref="in-pattern-square-no-ve"/></include>
331
+ </context>
332
+ <context end-parent="true">
333
+ <start>\(</start><end>\)</end>
334
+ <include><context ref="in-pattern-round-no-ve"/></include>
335
+ </context>
336
+ <context end-parent="true">
337
+ <start>&lt;</start><end>&gt;</end>
338
+ <include><context ref="in-pattern-angle-no-ve"/></include>
339
+ </context>
340
+ <context end-parent="true">
341
+ <start>(?P&lt;RD&gt;\%{pattern-delimiter})</start>
342
+ <end>\%{RD@start}</end>
343
+ </context>
344
+ <context ref="asserted-comment"/>
345
+ <context ref="error"/>
346
+ </include>
347
+ </context>
348
+
349
+ <context id="double-pattern" once-only="true">
350
+ <start/>
351
+ <include>
352
+ <context end-parent="true">
353
+ <start>'</start>
354
+ <end>'</end>
355
+ <include>
356
+ <context once-only="true">
357
+ <start>(?&lt;=(?P&lt;RD&gt;.))</start>
358
+ <end>\%{RD@start}</end>
359
+ </context>
360
+ </include>
361
+ </context>
362
+ <context end-parent="true">
363
+ <start>(?P&lt;RD&gt;\%{pattern-delimiter})</start>
364
+ <end>\%{RD@start}</end>
365
+ <include>
366
+ <context once-only="true">
367
+ <start>(?&lt;=(?P&lt;RD&gt;.))</start>
368
+ <end>\%{RD@start}</end>
369
+ <include><context ref="in-pattern"/></include>
370
+ </context>
371
+ <context ref="in-pattern"/>
372
+ </include>
373
+ </context>
374
+ <context end-parent="true">
375
+ <start/>
376
+ <include>
377
+ <context ref="simple-pattern"/>
378
+ <!-- quick hack to include the same pattern twice: we surround it
379
+ with a house-keeping context -->
380
+ <context once-only="true" end-parent="true">
381
+ <start>\%{end-of-pattern}</start>
382
+ <end>\%{end-of-pattern}</end>
383
+ <include><context ref="simple-pattern"/></include>
384
+ </context>
385
+ </include>
386
+ </context>
387
+ </include>
388
+ </context>
389
+
390
+ <context id="double-pattern-no-ve" once-only="true">
391
+ <start/>
392
+ <include>
393
+ <context end-parent="true">
394
+ <start>(?P&lt;RD&gt;\%{pattern-delimiter})</start>
395
+ <end>\%{RD@start}</end>
396
+ <include>
397
+ <context once-only="true">
398
+ <start>(?&lt;=(?P&lt;RD&gt;.))</start>
399
+ <end>\%{RD@start}</end>
400
+ </context>
401
+ </include>
402
+ </context>
403
+ <context end-parent="true">
404
+ <start/>
405
+ <include>
406
+ <context ref="simple-pattern-no-ve"/>
407
+ <context once-only="true" end-parent="true">
408
+ <start>\%{end-of-pattern}</start>
409
+ <end>\%{end-of-pattern}</end>
410
+ <include><context ref="simple-pattern-no-ve"/></include>
411
+ </context>
412
+ </include>
413
+ </context>
414
+ </include>
415
+ </context>
416
+
417
+ <context id="single-quoted-string" class="string" class-disabled="no-spell-check">
418
+ <include>
419
+ <context style-ref="string">
420
+ <start>'</start><end>'</end>
421
+ <include>
422
+ <context style-ref="def:special-char">
423
+ <match>\\\\|\\'</match>
424
+ </context>
425
+ </include>
426
+ </context>
427
+ <context style-ref="string">
428
+ <start>\%{pattern-before}q\b</start>
429
+ <end>\%{end-of-pattern}</end>
430
+ <include><context ref="simple-pattern-no-ve"/></include>
431
+ </context>
432
+ </include>
433
+ </context>
434
+
435
+ <context id="double-quoted-string" class="string" class-disabled="no-spell-check">
436
+ <include>
437
+ <context style-ref="string">
438
+ <start>"</start><end>"</end>
439
+ <include><context ref="in-pattern"/></include>
440
+ </context>
441
+ <context style-ref="string">
442
+ <start>\%{pattern-before}qq\b</start>
443
+ <end>\%{end-of-pattern}</end>
444
+ <include>
445
+ <context ref="asserted-comment"/>
446
+ <!-- qq'' *has* var expansion, so we can't just use
447
+ <context ref="single-pattern"/>. -->
448
+ <context end-parent="true">
449
+ <start>{</start><end>}</end>
450
+ <include><context ref="in-pattern-curly"/></include>
451
+ </context>
452
+ <context end-parent="true">
453
+ <start>\[</start><end>\]</end>
454
+ <include><context ref="in-pattern-square"/></include>
455
+ </context>
456
+ <context end-parent="true">
457
+ <start>\(</start><end>\)</end>
458
+ <include><context ref="in-pattern-round"/></include>
459
+ </context>
460
+ <context end-parent="true">
461
+ <start>&lt;</start><end>&gt;</end>
462
+ <include><context ref="in-pattern-angle"/></include>
463
+ </context>
464
+ <context end-parent="true">
465
+ <start>(?P&lt;RD&gt;\%{pattern-delimiter})</start>
466
+ <end>\%{RD@start}</end>
467
+ <include><context ref="in-pattern"/></include>
468
+ </context>
469
+ <context ref="error"/>
470
+ </include>
471
+ </context>
472
+ </include>
473
+ </context>
474
+
475
+ <context id="word-list" style-ref="string">
476
+ <start>\%{pattern-before}qw\b</start>
477
+ <end>\%{end-of-pattern}</end>
478
+ <include><context ref="simple-pattern-no-ve"/></include>
479
+ </context>
480
+
481
+ <context id="regular-expression" style-ref="regex">
482
+ <start>\%{pattern-before}qr\b</start>
483
+ <end>\%{end-of-pattern}[imosx]*</end>
484
+ <include><context ref="simple-pattern"/></include>
485
+ </context>
486
+
487
+ <context id="system-command">
488
+ <include>
489
+ <context style-ref="system-command">
490
+ <start>`</start><end>`</end>
491
+ <include><context ref="in-pattern"/></include>
492
+ </context>
493
+ <context style-ref="system-command">
494
+ <start>\%{pattern-before}qx\b</start>
495
+ <end>\%{end-of-pattern}</end>
496
+ <include><context ref="simple-pattern"/></include>
497
+ </context>
498
+ </include>
499
+ </context>
500
+
501
+ <context id="match" style-ref="regex">
502
+ <start>\%{pattern-before}m\b</start>
503
+ <end>\%{end-of-pattern}[cgimosx]*</end>
504
+ <include><context ref="simple-pattern"/></include>
505
+ </context>
506
+
507
+ <context id="substitution" style-ref="regex">
508
+ <start>\%{pattern-before}s\b</start>
509
+ <end>\%{end-of-pattern}[ecgimosx]*</end>
510
+ <include><context ref="double-pattern"/></include>
511
+ </context>
512
+
513
+ <context id="transliteration" style-ref="regex">
514
+ <start>\%{pattern-before}(tr|y)\b</start>
515
+ <end>\%{end-of-pattern}[cds]*</end>
516
+ <include><context ref="double-pattern-no-ve"/></include>
517
+ </context>
518
+
519
+ <!-- hacks, mostly taken from vim's perl.vim. As they say:
520
+ “Below some hacks to recognise the // variant. This is virtually
521
+ impossible to catch in all cases as the / is used in so many other
522
+ ways, but these should be the most obvious ones.” -->
523
+ <context id="match-slashslash">
524
+ <include>
525
+ <context style-inside="true" style-ref="regex">
526
+ <start>(^|[^$@%&amp;])(split|while|if)\s+(/)</start>
527
+ <end>/[cgimosx]*</end>
528
+ <include>
529
+ <context sub-pattern="2" where="start" style-ref="builtin"/>
530
+ <context sub-pattern="3" where="start" style-ref="regex"/>
531
+ <context sub-pattern="0" where="end" style-ref="regex"/>
532
+ <context ref="in-pattern"/>
533
+ </include>
534
+ </context>
535
+ <context style-inside="true" style-ref="regex">
536
+ <start>(^|(?&lt;=[\(\{]))\s*(/)</start>
537
+ <end>/[cgimosx]*</end>
538
+ <include>
539
+ <context sub-pattern="2" where="start" style-ref="regex"/>
540
+ <context sub-pattern="0" where="end" style-ref="regex"/>
541
+ <context ref="in-pattern"/>
542
+ </include>
543
+ </context>
544
+ <context style-inside="true" style-ref="regex">
545
+ <start>([!=]\~)\s*(/)</start>
546
+ <end>/[cgimosx]*</end>
547
+ <include>
548
+ <context sub-pattern="1" where="start" style-ref="operator"/>
549
+ <context sub-pattern="2" where="start" style-ref="regex"/>
550
+ <context sub-pattern="0" where="end" style-ref="regex"/>
551
+ <context ref="in-pattern"/>
552
+ </include>
553
+ </context>
554
+ </include>
555
+ </context>
556
+
557
+ <!-- #### HEREDOC STRINGS ############################################# -->
558
+ <!--
559
+ There may not be a space between the << and the identifier, unless the
560
+ identifier is explicitly quoted (hence the \s* when using quotes.
561
+
562
+ This also means that usage of null identifier <<"" is only valid
563
+ when using quotes (hence \%{here-doc-bound-char}* when using quotes
564
+ and \%{here-doc-bound-char}+ when not).
565
+ -->
566
+
567
+ <define-regex id="here-doc-bound-char">[^\s'"=;)&lt;&gt;]</define-regex>
568
+
569
+ <context id="here-doc-no-ve">
570
+ <start extended="true" dupnames="true">
571
+ &lt;&lt;
572
+ (
573
+ \s*\'(?P&lt;HDB&gt;\%{here-doc-bound-char}*)\'| # 'EOF'
574
+ \\(?P&lt;HDB&gt;\%{here-doc-bound-char}+) # \EOF
575
+ )
576
+ </start>
577
+ <end>^\%{HDB@start}$</end>
578
+ <include>
579
+ <context sub-pattern="0" where="start" style-ref="here-doc-bound"/>
580
+ <context sub-pattern="0" where="end" style-ref="here-doc-bound"/>
581
+ <context once-only="true" end-at-line-end="true">
582
+ <start/><include><context ref="perl"/></include>
583
+ </context>
584
+ <context style-ref="here-doc" extend-parent="false"><start/></context>
585
+ </include>
586
+ </context>
587
+
588
+ <context id="here-doc">
589
+ <start extended="true" dupnames="true">
590
+ &lt;&lt;
591
+ (
592
+ \s*\"(?P&lt;HDB&gt;\%{here-doc-bound-char}*)\"| # "EOF"
593
+ (?P&lt;HDB&gt;\%{here-doc-bound-char}+) # EOF
594
+ )
595
+ </start>
596
+ <end>^\%{HDB@start}$</end>
597
+ <include>
598
+ <context sub-pattern="0" where="start" style-ref="here-doc-bound"/>
599
+ <context sub-pattern="0" where="end" style-ref="here-doc-bound"/>
600
+ <context once-only="true" end-at-line-end="true">
601
+ <start/><include><context ref="perl"/></include>
602
+ </context>
603
+ <context style-ref="here-doc" extend-parent="false">
604
+ <start/>
605
+ <include>
606
+ <context ref="def:escape"/>
607
+ <context ref="variable"/>
608
+ </include>
609
+ </context>
610
+ </include>
611
+ </context>
612
+
613
+ <!-- #### KEYWORDS / BUILTINS / ETC ################################### -->
614
+
615
+ <define-regex id="function">[a-zA-Z_][a-zA-Z0-9_]*</define-regex>
616
+
617
+ <!-- in sub context, everything is a function -->
618
+ <context id="sub">
619
+ <match>(sub)\s+\%{function}\b</match>
620
+ <include><context sub-pattern="1" style-ref="keyword"/></include>
621
+ </context>
622
+
623
+ <context id="file-descriptor" style-ref="file-descriptor">
624
+ <keyword>STDIN</keyword>
625
+ <keyword>STDOUT</keyword>
626
+ <keyword>STDERR</keyword>
627
+ </context>
628
+
629
+ <context id="control" style-ref="control">
630
+ <keyword>BEGIN</keyword>
631
+ <keyword>END</keyword>
632
+ <keyword>CHECK</keyword>
633
+ <keyword>INIT</keyword>
634
+ </context>
635
+
636
+ <context id="include-statement">
637
+ <include>
638
+ <context style-ref="include-statement">
639
+ <keyword>require</keyword>
640
+ </context>
641
+ <context>
642
+ <!-- 'use' and 'no' can be used with special flags, so we try to
643
+ highlight them as well. -->
644
+ <start>(use|no)\s</start>
645
+ <end>;</end>
646
+ <include>
647
+ <context sub-pattern="0" where="start" style-ref="include-statement"/>
648
+ <context once-only="true" style-ref="include-statement">
649
+ <keyword>attributes</keyword>
650
+ <keyword>autodie</keyword>
651
+ <keyword>autouse</keyword>
652
+ <keyword>base</keyword>
653
+ <keyword>bigint</keyword>
654
+ <keyword>bignum</keyword>
655
+ <keyword>bigrat</keyword>
656
+ <keyword>blib</keyword>
657
+ <keyword>bytes</keyword>
658
+ <keyword>charnames</keyword>
659
+ <keyword>constant</keyword>
660
+ <keyword>diagnostics</keyword>
661
+ <keyword>encoding</keyword>
662
+ <keyword>feature</keyword>
663
+ <keyword>fields</keyword>
664
+ <keyword>fileset</keyword>
665
+ <keyword>if</keyword>
666
+ <keyword>integer</keyword>
667
+ <keyword>less</keyword>
668
+ <keyword>lib</keyword>
669
+ <keyword>locale</keyword>
670
+ <keyword>mro</keyword>
671
+ <keyword>open</keyword>
672
+ <keyword>ops</keyword>
673
+ <keyword>overload</keyword>
674
+ <keyword>overloading</keyword>
675
+ <keyword>parent</keyword>
676
+ <keyword>re</keyword>
677
+ <keyword>sigtrap</keyword>
678
+ <keyword>sort</keyword>
679
+ <keyword>strict</keyword>
680
+ <keyword>subs</keyword>
681
+ <keyword>threads</keyword>
682
+ <keyword>threads::shared</keyword>
683
+ <keyword>utf8</keyword>
684
+ <keyword>vars</keyword>
685
+ <keyword>vmish</keyword>
686
+ <keyword>warnings</keyword>
687
+ <keyword>warnings::register</keyword>
688
+ </context>
689
+ <context ref="perl"/>
690
+ </include>
691
+ </context>
692
+ </include>
693
+ </context>
694
+
695
+ <context id="keyword" style-ref="keyword">
696
+ <keyword>break</keyword>
697
+ <keyword>continue</keyword>
698
+ <keyword>do</keyword>
699
+ <keyword>default</keyword>
700
+ <keyword>each</keyword>
701
+ <keyword>else</keyword>
702
+ <keyword>elsif</keyword>
703
+ <keyword>foreach</keyword>
704
+ <keyword>for</keyword>
705
+ <keyword>given</keyword>
706
+ <keyword>if</keyword>
707
+ <keyword>last</keyword>
708
+ <keyword>local</keyword>
709
+ <keyword>my</keyword>
710
+ <keyword>next</keyword>
711
+ <keyword>our</keyword>
712
+ <keyword>package</keyword>
713
+ <keyword>return</keyword>
714
+ <keyword>sub</keyword>
715
+ <keyword>state</keyword>
716
+ <keyword>unless</keyword>
717
+ <keyword>until</keyword>
718
+ <keyword>when</keyword>
719
+ <keyword>while</keyword>
720
+ <keyword>__FILE__</keyword>
721
+ <keyword>__LINE__</keyword>
722
+ <keyword>__PACKAGE__</keyword>
723
+ </context>
724
+
725
+ <context id="builtin" style-ref="builtin">
726
+ <!-- see `man perlfunc` -->
727
+ <keyword>abs</keyword>
728
+ <keyword>accept</keyword>
729
+ <keyword>alarm</keyword>
730
+ <keyword>atan2</keyword>
731
+ <keyword>bind</keyword>
732
+ <keyword>binmode</keyword>
733
+ <keyword>bless</keyword>
734
+ <keyword>caller</keyword>
735
+ <keyword>chdir</keyword>
736
+ <keyword>chmod</keyword>
737
+ <keyword>chomp</keyword>
738
+ <keyword>chop</keyword>
739
+ <keyword>chown</keyword>
740
+ <keyword>chr</keyword>
741
+ <keyword>chroot</keyword>
742
+ <keyword>closedir</keyword>
743
+ <keyword>close</keyword>
744
+ <keyword>connect</keyword>
745
+ <keyword>cos</keyword>
746
+ <keyword>crypt</keyword>
747
+ <keyword>dbmclose</keyword>
748
+ <keyword>dbmopen</keyword>
749
+ <keyword>defined</keyword>
750
+ <keyword>delete</keyword>
751
+ <keyword>die</keyword>
752
+ <keyword>dump</keyword>
753
+ <keyword>each</keyword>
754
+ <keyword>endgrent</keyword>
755
+ <keyword>endhostent</keyword>
756
+ <keyword>endnetent</keyword>
757
+ <keyword>endprotoent</keyword>
758
+ <keyword>endpwent</keyword>
759
+ <keyword>endservent</keyword>
760
+ <keyword>eof</keyword>
761
+ <keyword>eval</keyword>
762
+ <keyword>exec</keyword>
763
+ <keyword>exists</keyword>
764
+ <keyword>exit</keyword>
765
+ <keyword>exp</keyword>
766
+ <keyword>fcntl</keyword>
767
+ <keyword>fileno</keyword>
768
+ <keyword>flock</keyword>
769
+ <keyword>fork</keyword>
770
+ <keyword>format</keyword>
771
+ <keyword>formline</keyword>
772
+ <keyword>getc</keyword>
773
+ <keyword>getgrent</keyword>
774
+ <keyword>getgrgid</keyword>
775
+ <keyword>getgrnam</keyword>
776
+ <keyword>gethostbyaddr</keyword>
777
+ <keyword>gethostbyname</keyword>
778
+ <keyword>gethostent</keyword>
779
+ <keyword>getlogin</keyword>
780
+ <keyword>getnetbyaddr</keyword>
781
+ <keyword>getnetbyname</keyword>
782
+ <keyword>getnetent</keyword>
783
+ <keyword>getpeername</keyword>
784
+ <keyword>getpgrp</keyword>
785
+ <keyword>getppid</keyword>
786
+ <keyword>getpriority</keyword>
787
+ <keyword>getprotobyname</keyword>
788
+ <keyword>getprotobynumber</keyword>
789
+ <keyword>getprotoent</keyword>
790
+ <keyword>getpwent</keyword>
791
+ <keyword>getpwnam</keyword>
792
+ <keyword>getpwuid</keyword>
793
+ <keyword>getservbyname</keyword>
794
+ <keyword>getservbyport</keyword>
795
+ <keyword>getservent</keyword>
796
+ <keyword>getsockname</keyword>
797
+ <keyword>getsockopt</keyword>
798
+ <keyword>glob</keyword>
799
+ <keyword>gmtime</keyword>
800
+ <keyword>goto</keyword>
801
+ <keyword>grep</keyword>
802
+ <keyword>hex</keyword>
803
+ <keyword>import</keyword>
804
+ <keyword>index</keyword>
805
+ <keyword>int</keyword>
806
+ <keyword>ioctl</keyword>
807
+ <keyword>join</keyword>
808
+ <keyword>keys</keyword>
809
+ <keyword>kill</keyword>
810
+ <keyword>lcfirst</keyword>
811
+ <keyword>lc</keyword>
812
+ <keyword>length</keyword>
813
+ <keyword>link</keyword>
814
+ <keyword>listen</keyword>
815
+ <keyword>localtime</keyword>
816
+ <keyword>log</keyword>
817
+ <keyword>lstat</keyword>
818
+ <keyword>map</keyword>
819
+ <keyword>mkdir</keyword>
820
+ <keyword>msgctl</keyword>
821
+ <keyword>msgget</keyword>
822
+ <keyword>msgrcv</keyword>
823
+ <keyword>msgsnd</keyword>
824
+ <keyword>new</keyword>
825
+ <keyword>oct</keyword>
826
+ <keyword>opendir</keyword>
827
+ <keyword>open</keyword>
828
+ <keyword>ord</keyword>
829
+ <keyword>pack</keyword>
830
+ <keyword>pipe</keyword>
831
+ <keyword>pop</keyword>
832
+ <keyword>pos</keyword>
833
+ <keyword>printf</keyword>
834
+ <keyword>print</keyword>
835
+ <keyword>prototype</keyword>
836
+ <keyword>push</keyword>
837
+ <keyword>quotemeta</keyword>
838
+ <keyword>rand</keyword>
839
+ <keyword>readdir</keyword>
840
+ <keyword>read</keyword>
841
+ <keyword>readlink</keyword>
842
+ <keyword>recv</keyword>
843
+ <keyword>redo</keyword>
844
+ <keyword>ref</keyword>
845
+ <keyword>rename</keyword>
846
+ <keyword>reset</keyword>
847
+ <keyword>reverse</keyword>
848
+ <keyword>rewinddir</keyword>
849
+ <keyword>rindex</keyword>
850
+ <keyword>rmdir</keyword>
851
+ <keyword>say</keyword>
852
+ <keyword>scalar</keyword>
853
+ <keyword>seekdir</keyword>
854
+ <keyword>seek</keyword>
855
+ <keyword>select</keyword>
856
+ <keyword>semctl</keyword>
857
+ <keyword>semget</keyword>
858
+ <keyword>semop</keyword>
859
+ <keyword>send</keyword>
860
+ <keyword>setgrent</keyword>
861
+ <keyword>sethostent</keyword>
862
+ <keyword>setnetent</keyword>
863
+ <keyword>setpgrp</keyword>
864
+ <keyword>setpriority</keyword>
865
+ <keyword>setprotoent</keyword>
866
+ <keyword>setpwent</keyword>
867
+ <keyword>setservent</keyword>
868
+ <keyword>setsockopt</keyword>
869
+ <keyword>shift</keyword>
870
+ <keyword>shmctl</keyword>
871
+ <keyword>shmget</keyword>
872
+ <keyword>shmread</keyword>
873
+ <keyword>shmwrite</keyword>
874
+ <keyword>shutdown</keyword>
875
+ <keyword>sin</keyword>
876
+ <keyword>sleep</keyword>
877
+ <keyword>socket</keyword>
878
+ <keyword>socketpair</keyword>
879
+ <keyword>sort</keyword>
880
+ <keyword>splice</keyword>
881
+ <keyword>split</keyword>
882
+ <keyword>sprintf</keyword>
883
+ <keyword>sqrt</keyword>
884
+ <keyword>srand</keyword>
885
+ <keyword>stat</keyword>
886
+ <keyword>study</keyword>
887
+ <keyword>substr</keyword>
888
+ <keyword>symlink</keyword>
889
+ <keyword>syscall</keyword>
890
+ <keyword>sysread</keyword>
891
+ <keyword>sysseek</keyword>
892
+ <keyword>system</keyword>
893
+ <keyword>syswrite</keyword>
894
+ <keyword>telldir</keyword>
895
+ <keyword>tell</keyword>
896
+ <keyword>tied</keyword>
897
+ <keyword>tie</keyword>
898
+ <keyword>time</keyword>
899
+ <keyword>times</keyword>
900
+ <keyword>truncate</keyword>
901
+ <keyword>ucfirst</keyword>
902
+ <keyword>uc</keyword>
903
+ <keyword>umask</keyword>
904
+ <keyword>undef</keyword>
905
+ <keyword>unlink</keyword>
906
+ <keyword>unpack</keyword>
907
+ <keyword>unshift</keyword>
908
+ <keyword>untie</keyword>
909
+ <keyword>utime</keyword>
910
+ <keyword>values</keyword>
911
+ <keyword>vec</keyword>
912
+ <keyword>wait</keyword>
913
+ <keyword>waitpid</keyword>
914
+ <keyword>wantarray</keyword>
915
+ <keyword>warn</keyword>
916
+ <keyword>write</keyword>
917
+ </context>
918
+
919
+ <!-- #### COMMENTS / POD / DATA ####################################### -->
920
+
921
+ <!-- usual comments for perl are def:shell-style-comment -->
922
+ <!-- comment that must have a whitespace before (used in s{}{}, because
923
+ perl bugs if there is no space between '}' and '#') -->
924
+ <context id="asserted-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
925
+ <start>(?&lt;![^\s])#</start>
926
+ <include><context ref="def:in-comment"/></include>
927
+ </context>
928
+
929
+ <context id="line-directive" style-ref="line-directive">
930
+ <!-- see `man perlsyn` line 676 -->
931
+ <match extended="true">
932
+ ^\# \s*
933
+ (line \s+ (\d+)) \s*
934
+ (?:(\s"([^"]+)"|[^"]+))? \s*
935
+ $
936
+ </match>
937
+ <include>
938
+ <context sub-pattern="3" style-ref="string"/>
939
+ </include>
940
+ </context>
941
+
942
+ <context id="in-pod">
943
+ <include>
944
+ <context ref="def:in-comment"/>
945
+ <context ref="pod-escape"/>
946
+ </include>
947
+ </context>
948
+
949
+ <context id="pod-escape">
950
+ <include>
951
+ <context>
952
+ <start>[IBCLEFSXZ]&lt;(?!&lt;)</start><end>(?&lt;!&gt;)&gt;</end>
953
+ <include>
954
+ <context sub-pattern="0" where="start" style-ref="pod-escape"/>
955
+ <context sub-pattern="0" where="end" style-ref="pod-escape"/>
956
+ <context ref="in-pod"/>
957
+ </include>
958
+ </context>
959
+ <!-- doubled angle brackets ("<<" and ">>") may be used if and only if
960
+ there is whitespace right after the opening delimiter and
961
+ whitespace right before the closing delimiter! (`man perlpod`) -->
962
+ <context>
963
+ <start>[IBCLEFSXZ]&lt;{2}\s</start><end>\s&gt;{2}</end>
964
+ <include>
965
+ <context sub-pattern="0" where="start" style-ref="pod-escape"/>
966
+ <context sub-pattern="0" where="end" style-ref="pod-escape"/>
967
+ <context ref="in-pod"/>
968
+ </include>
969
+ </context>
970
+ <context>
971
+ <start>[IBCLEFSXZ]&lt;{3}\s</start><end>\s&gt;{3}</end>
972
+ <include>
973
+ <context sub-pattern="0" where="start" style-ref="pod-escape"/>
974
+ <context sub-pattern="0" where="end" style-ref="pod-escape"/>
975
+ <context ref="in-pod"/>
976
+ </include>
977
+ </context>
978
+ <context>
979
+ <start>[IBCLEFSXZ]&lt;{4}\s</start><end>\s&gt;{4}</end>
980
+ <include>
981
+ <context sub-pattern="0" where="start" style-ref="pod-escape"/>
982
+ <context sub-pattern="0" where="end" style-ref="pod-escape"/>
983
+ <context ref="in-pod"/>
984
+ </include>
985
+ </context>
986
+ <context>
987
+ <start>[IBCLEFSXZ]&lt;{5}\s</start><end>\s&gt;{5}</end>
988
+ <include>
989
+ <context sub-pattern="0" where="start" style-ref="pod-escape"/>
990
+ <context sub-pattern="0" where="end" style-ref="pod-escape"/>
991
+ <context ref="in-pod"/>
992
+ </include>
993
+ </context>
994
+ <context>
995
+ <start>[IBCLEFSXZ]&lt;{6}\s</start><end>\s&gt;{6}</end>
996
+ <include>
997
+ <context sub-pattern="0" where="start" style-ref="pod-escape"/>
998
+ <context sub-pattern="0" where="end" style-ref="pod-escape"/>
999
+ <context ref="in-pod"/>
1000
+ </include>
1001
+ </context>
1002
+ <!-- one should be insane to put there more than 6 brackets -->
1003
+ </include>
1004
+ </context>
1005
+
1006
+ <context id="pod-heading" end-at-line-end="true" style-inside="true" style-ref="pod-heading">
1007
+ <start>^=(head[1-4])</start>
1008
+ <include>
1009
+ <context sub-pattern="1" where="start" style-ref="pod-keyword"/>
1010
+ <context ref="in-pod"/>
1011
+ </include>
1012
+ </context>
1013
+
1014
+ <context id="pod" style-ref="pod" class-disabled="no-spell-check">
1015
+ <start>^(?=(=[a-z]))</start>
1016
+ <end>^=(cut)$</end>
1017
+ <include>
1018
+ <context sub-pattern="1" where="end" style-ref="pod-keyword"/>
1019
+ <context ref="pod-heading"/>
1020
+ <context>
1021
+ <match>^=(pod|encoding|over|item|back)</match>
1022
+ <include><context sub-pattern="1" style-ref="pod-keyword"/></include>
1023
+ </context>
1024
+ <context>
1025
+ <start>^=(begin)\s+(.*)$</start>
1026
+ <end>^=(end)\s+\%{1@start}$</end>
1027
+ <include>
1028
+ <context sub-pattern="1" where="start" style-ref="pod-keyword"/>
1029
+ <context sub-pattern="1" where="end" style-ref="pod-keyword"/>
1030
+ <context ref="pod"/>
1031
+ </include>
1032
+ </context>
1033
+ <context ref="in-pod"/>
1034
+ </include>
1035
+ </context>
1036
+
1037
+ <context id="data" style-ref="comment">
1038
+ <start>__(DATA|END)__</start>
1039
+ <include>
1040
+ <context sub-pattern="0" where="start" style-ref="keyword"/>
1041
+ </include>
1042
+ </context>
1043
+ </definitions>
1044
+ </language>