gtksourceview3 2.2.4-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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>