gtksourceview3 2.2.4-x64-mingw32

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