@sapui5/sap.ui.richtexteditor 1.136.4 → 1.136.6

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 (448) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/richtexteditor/.library +1 -1
  3. package/src/sap/ui/richtexteditor/RTESplitButton.js +1 -1
  4. package/src/sap/ui/richtexteditor/RichTextEditor.js +43 -43
  5. package/src/sap/ui/richtexteditor/ToolbarWrapper.js +1 -1
  6. package/src/sap/ui/richtexteditor/js/tiny_mce7/icons/default/icons.js +234 -0
  7. package/src/sap/ui/richtexteditor/js/tiny_mce7/icons/default/icons.min.js +7 -0
  8. package/src/sap/ui/richtexteditor/js/tiny_mce7/icons/default/index.js +13 -0
  9. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ar.js +7 -0
  10. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/bg_BG.js +7 -0
  11. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ca.js +7 -0
  12. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/cs.js +7 -0
  13. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/cy.js +1 -0
  14. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/da.js +7 -0
  15. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/de.js +7 -0
  16. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/el.js +7 -0
  17. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/en_GB.js +261 -0
  18. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/es.js +7 -0
  19. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/es_MX.js +1 -0
  20. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/eu.js +7 -0
  21. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/fa.js +7 -0
  22. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/fi.js +7 -0
  23. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/fr_FR.js +7 -0
  24. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/he_IL.js +7 -0
  25. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/hi.js +7 -0
  26. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/hr.js +7 -0
  27. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/hu_HU.js +7 -0
  28. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/id.js +7 -0
  29. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/it.js +7 -0
  30. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ja.js +7 -0
  31. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/kk.js +7 -0
  32. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ko_KR.js +7 -0
  33. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/lt.js +1 -0
  34. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/lv.js +1 -0
  35. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ms.js +7 -0
  36. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/nb_NO.js +7 -0
  37. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/nl.js +7 -0
  38. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/pl.js +7 -0
  39. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/pt_BR.js +7 -0
  40. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/pt_PT.js +7 -0
  41. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ro.js +7 -0
  42. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ru.js +7 -0
  43. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sk.js +7 -0
  44. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sl_SI.js +7 -0
  45. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sr.js +1 -0
  46. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sv_SE.js +7 -0
  47. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/th_TH.js +7 -0
  48. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/tr.js +7 -0
  49. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/uk.js +7 -0
  50. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/vi.js +7 -0
  51. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/zh_CN.js +7 -0
  52. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/zh_TW.js +7 -0
  53. package/src/sap/ui/richtexteditor/js/tiny_mce7/license.txt +5 -0
  54. package/src/sap/ui/richtexteditor/js/tiny_mce7/models/dom/index.js +13 -0
  55. package/src/sap/ui/richtexteditor/js/tiny_mce7/models/dom/model.js +8147 -0
  56. package/src/sap/ui/richtexteditor/js/tiny_mce7/models/dom/model.min.js +9 -0
  57. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/accordion/index.js +13 -0
  58. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/accordion/plugin.js +1062 -0
  59. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/accordion/plugin.min.js +9 -0
  60. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/CHANGELOG.md +45 -0
  61. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/codemirror.min.js +13 -0
  62. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/customeditor.js +10 -0
  63. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/customeditor.min.js +10 -0
  64. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/index.js +3 -0
  65. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ar.js +35 -0
  66. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/bg_BG.js +35 -0
  67. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ca.js +35 -0
  68. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/cs.js +35 -0
  69. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/da.js +35 -0
  70. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/de.js +35 -0
  71. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/el.js +35 -0
  72. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/es.js +35 -0
  73. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/eu.js +35 -0
  74. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/fa.js +35 -0
  75. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/fi.js +35 -0
  76. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/fr_FR.js +35 -0
  77. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/he_IL.js +35 -0
  78. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/hi.js +35 -0
  79. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/hr.js +35 -0
  80. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/hu_HU.js +35 -0
  81. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/id.js +35 -0
  82. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/it.js +35 -0
  83. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ja.js +35 -0
  84. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/kk.js +35 -0
  85. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ko_KR.js +35 -0
  86. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ms.js +35 -0
  87. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/nb_NO.js +35 -0
  88. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/nl.js +35 -0
  89. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/pl.js +35 -0
  90. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/pt_BR.js +35 -0
  91. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/pt_PT.js +35 -0
  92. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ro.js +35 -0
  93. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ru.js +35 -0
  94. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/sk.js +35 -0
  95. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/sl_SI.js +35 -0
  96. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/sv_SE.js +35 -0
  97. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/th_TH.js +35 -0
  98. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/tr.js +35 -0
  99. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/uk.js +35 -0
  100. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/vi.js +35 -0
  101. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/zh_CN.js +35 -0
  102. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/zh_TW.js +35 -0
  103. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/license.txt +5 -0
  104. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/plugin.js +10 -0
  105. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/plugin.min.js +10 -0
  106. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/readme.txt +10 -0
  107. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/version.txt +1 -0
  108. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advlist/index.js +13 -0
  109. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advlist/plugin.js +298 -0
  110. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advlist/plugin.min.js +9 -0
  111. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/anchor/index.js +13 -0
  112. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/anchor/plugin.js +219 -0
  113. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/anchor/plugin.min.js +9 -0
  114. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autolink/index.js +13 -0
  115. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autolink/plugin.js +233 -0
  116. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autolink/plugin.min.js +9 -0
  117. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autoresize/index.js +13 -0
  118. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autoresize/plugin.js +184 -0
  119. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autoresize/plugin.min.js +9 -0
  120. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autosave/index.js +13 -0
  121. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autosave/plugin.js +239 -0
  122. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autosave/plugin.min.js +9 -0
  123. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/charmap/index.js +13 -0
  124. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/charmap/plugin.js +1663 -0
  125. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/charmap/plugin.min.js +9 -0
  126. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/code/index.js +13 -0
  127. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/code/plugin.js +90 -0
  128. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/code/plugin.min.js +9 -0
  129. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/codesample/index.js +13 -0
  130. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/codesample/plugin.js +2468 -0
  131. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/codesample/plugin.min.js +9 -0
  132. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/directionality/index.js +13 -0
  133. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/directionality/plugin.js +395 -0
  134. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/directionality/plugin.min.js +9 -0
  135. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/index.js +13 -0
  136. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojiimages.js +7 -0
  137. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojiimages.min.js +9 -0
  138. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojis.js +7 -0
  139. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojis.min.js +8 -0
  140. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/plugin.js +601 -0
  141. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/plugin.min.js +9 -0
  142. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/fullscreen/index.js +13 -0
  143. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/fullscreen/plugin.js +1266 -0
  144. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/fullscreen/plugin.min.js +9 -0
  145. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/index.js +13 -0
  146. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ar.js +99 -0
  147. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/bg_BG.js +99 -0
  148. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ca.js +99 -0
  149. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/cs.js +99 -0
  150. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/da.js +99 -0
  151. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/de.js +99 -0
  152. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/el.js +99 -0
  153. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/en.js +99 -0
  154. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/es.js +99 -0
  155. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/eu.js +99 -0
  156. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/fa.js +99 -0
  157. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/fi.js +99 -0
  158. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/fr_FR.js +99 -0
  159. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/he_IL.js +99 -0
  160. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/hi.js +99 -0
  161. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/hr.js +99 -0
  162. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/hu_HU.js +99 -0
  163. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/id.js +99 -0
  164. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/it.js +99 -0
  165. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ja.js +99 -0
  166. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/kk.js +99 -0
  167. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ko_KR.js +99 -0
  168. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ms.js +99 -0
  169. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/nb_NO.js +99 -0
  170. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/nl.js +99 -0
  171. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/pl.js +99 -0
  172. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/pt_BR.js +99 -0
  173. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/pt_PT.js +99 -0
  174. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ro.js +99 -0
  175. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ru.js +99 -0
  176. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/sk.js +99 -0
  177. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/sl_SI.js +99 -0
  178. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/sv_SE.js +99 -0
  179. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/th_TH.js +99 -0
  180. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/tr.js +99 -0
  181. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/uk.js +99 -0
  182. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/vi.js +99 -0
  183. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/zh_CN.js +93 -0
  184. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/zh_TW.js +99 -0
  185. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/plugin.js +931 -0
  186. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/plugin.min.js +9 -0
  187. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/image/index.js +13 -0
  188. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/image/plugin.js +1513 -0
  189. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/image/plugin.min.js +9 -0
  190. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/importcss/index.js +13 -0
  191. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/importcss/plugin.js +350 -0
  192. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/importcss/plugin.min.js +9 -0
  193. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/insertdatetime/index.js +13 -0
  194. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/insertdatetime/plugin.js +192 -0
  195. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/insertdatetime/plugin.min.js +9 -0
  196. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/link/index.js +13 -0
  197. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/link/plugin.js +1337 -0
  198. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/link/plugin.min.js +9 -0
  199. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/lists/index.js +13 -0
  200. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/lists/plugin.js +2186 -0
  201. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/lists/plugin.min.js +9 -0
  202. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/media/index.js +13 -0
  203. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/media/plugin.js +1229 -0
  204. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/media/plugin.min.js +9 -0
  205. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/index.js +1 -0
  206. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ar.js +12 -0
  207. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/bg_BG.js +12 -0
  208. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ca.js +12 -0
  209. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/cs.js +12 -0
  210. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/da.js +12 -0
  211. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/de.js +12 -0
  212. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/el.js +12 -0
  213. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/es.js +12 -0
  214. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/eu.js +12 -0
  215. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/fa.js +12 -0
  216. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/fi.js +12 -0
  217. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/fr_FR.js +12 -0
  218. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/he_IL.js +12 -0
  219. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/hi.js +12 -0
  220. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/hr.js +12 -0
  221. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/hu_HU.js +12 -0
  222. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/id.js +12 -0
  223. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/it.js +12 -0
  224. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ja.js +12 -0
  225. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/kk.js +12 -0
  226. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ko_KR.js +12 -0
  227. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ms.js +12 -0
  228. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/nb_NO.js +12 -0
  229. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/nl.js +12 -0
  230. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/pl.js +12 -0
  231. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/pt_BR.js +12 -0
  232. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/pt_PT.js +12 -0
  233. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ro.js +12 -0
  234. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ru.js +12 -0
  235. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/sk.js +12 -0
  236. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/sl_SI.js +12 -0
  237. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/sv_SE.js +12 -0
  238. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/th_TH.js +12 -0
  239. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/tr.js +12 -0
  240. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/uk.js +12 -0
  241. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/vi.js +12 -0
  242. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/zh_CN.js +12 -0
  243. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/zh_TW.js +12 -0
  244. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/license.txt +5 -0
  245. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/plugin.js +10 -0
  246. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/plugin.min.js +10 -0
  247. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/readme.txt +10 -0
  248. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/version.txt +1 -0
  249. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/nonbreaking/index.js +13 -0
  250. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/nonbreaking/plugin.js +128 -0
  251. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/nonbreaking/plugin.min.js +9 -0
  252. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/pagebreak/index.js +13 -0
  253. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/pagebreak/plugin.js +122 -0
  254. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/pagebreak/plugin.min.js +9 -0
  255. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/CHANGELOG.md +20 -0
  256. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/index.js +2 -0
  257. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/js/wordimport.js +23102 -0
  258. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ar.js +19 -0
  259. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/bg_BG.js +19 -0
  260. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ca.js +19 -0
  261. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/cs.js +19 -0
  262. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/da.js +19 -0
  263. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/de.js +19 -0
  264. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/el.js +19 -0
  265. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/es.js +19 -0
  266. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/eu.js +19 -0
  267. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/fa.js +19 -0
  268. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/fi.js +19 -0
  269. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/fr_FR.js +19 -0
  270. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/he_IL.js +19 -0
  271. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/hi.js +19 -0
  272. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/hr.js +19 -0
  273. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/hu_HU.js +19 -0
  274. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/id.js +19 -0
  275. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/it.js +19 -0
  276. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ja.js +19 -0
  277. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/kk.js +19 -0
  278. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ko_KR.js +19 -0
  279. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ms.js +19 -0
  280. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/nb_NO.js +19 -0
  281. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/nl.js +19 -0
  282. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/pl.js +19 -0
  283. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/pt_BR.js +19 -0
  284. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/pt_PT.js +19 -0
  285. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ro.js +19 -0
  286. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ru.js +19 -0
  287. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/sk.js +19 -0
  288. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/sl_SI.js +19 -0
  289. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/sv_SE.js +19 -0
  290. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/th_TH.js +19 -0
  291. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/tr.js +19 -0
  292. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/uk.js +19 -0
  293. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/vi.js +19 -0
  294. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/zh_CN.js +19 -0
  295. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/zh_TW.js +19 -0
  296. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/license.txt +5 -0
  297. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/plugin.js +10 -0
  298. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/plugin.min.js +10 -0
  299. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/readme.txt +17 -0
  300. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/version.txt +1 -0
  301. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/preview/index.js +13 -0
  302. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/preview/plugin.js +598 -0
  303. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/preview/plugin.min.js +9 -0
  304. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/quickbars/index.js +13 -0
  305. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/quickbars/plugin.js +463 -0
  306. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/quickbars/plugin.min.js +9 -0
  307. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/save/index.js +13 -0
  308. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/save/plugin.js +124 -0
  309. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/save/plugin.min.js +9 -0
  310. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/searchreplace/index.js +13 -0
  311. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/searchreplace/plugin.js +1103 -0
  312. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/searchreplace/plugin.min.js +9 -0
  313. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/table/index.js +13 -0
  314. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/table/plugin.js +3466 -0
  315. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/table/plugin.min.js +9 -0
  316. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/CHANGELOG.md +56 -0
  317. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/css/tinycomments.css +9 -0
  318. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/css/tinycomments.js +10 -0
  319. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/index.js +3 -0
  320. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/js/tinycomments-sidebar.js +10 -0
  321. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/js/tinycomments-sidebar.min.js +10 -0
  322. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ar.js +58 -0
  323. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/bg_BG.js +58 -0
  324. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ca.js +58 -0
  325. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/cs.js +58 -0
  326. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/da.js +58 -0
  327. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/de.js +58 -0
  328. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/el.js +58 -0
  329. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/es.js +58 -0
  330. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/eu.js +58 -0
  331. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/fa.js +58 -0
  332. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/fi.js +58 -0
  333. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/fr_FR.js +58 -0
  334. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/he_IL.js +58 -0
  335. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/hi.js +58 -0
  336. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/hr.js +58 -0
  337. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/hu_HU.js +58 -0
  338. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/id.js +58 -0
  339. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/it.js +58 -0
  340. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ja.js +58 -0
  341. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/kk.js +58 -0
  342. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ko_KR.js +58 -0
  343. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ms.js +58 -0
  344. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/nb_NO.js +58 -0
  345. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/nl.js +58 -0
  346. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/pl.js +58 -0
  347. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/pt_BR.js +58 -0
  348. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/pt_PT.js +58 -0
  349. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ro.js +58 -0
  350. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ru.js +58 -0
  351. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/sk.js +58 -0
  352. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/sl_SI.js +58 -0
  353. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/sv_SE.js +58 -0
  354. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/th_TH.js +58 -0
  355. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/tr.js +58 -0
  356. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/uk.js +58 -0
  357. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/vi.js +58 -0
  358. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/zh_CN.js +58 -0
  359. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/zh_TW.js +58 -0
  360. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/license.txt +5 -0
  361. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/plugin.js +10 -0
  362. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/plugin.min.js +10 -0
  363. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/readme.txt +10 -0
  364. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/version.txt +1 -0
  365. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualblocks/index.js +13 -0
  366. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualblocks/plugin.js +105 -0
  367. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualblocks/plugin.min.js +9 -0
  368. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualchars/index.js +13 -0
  369. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualchars/plugin.js +567 -0
  370. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualchars/plugin.min.js +9 -0
  371. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/wordcount/index.js +13 -0
  372. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/wordcount/plugin.js +420 -0
  373. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/wordcount/plugin.min.js +9 -0
  374. package/src/sap/ui/richtexteditor/js/tiny_mce7/readme.txt +12 -0
  375. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/dark/content.css +72 -0
  376. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/dark/content.js +7 -0
  377. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/dark/content.min.css +7 -0
  378. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/default/content.css +67 -0
  379. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/default/content.js +7 -0
  380. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/default/content.min.css +7 -0
  381. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/document/content.css +72 -0
  382. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/document/content.js +7 -0
  383. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/document/content.min.css +7 -0
  384. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5/content.css +67 -0
  385. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5/content.js +7 -0
  386. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5/content.min.css +7 -0
  387. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5-dark/content.css +72 -0
  388. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5-dark/content.js +7 -0
  389. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5-dark/content.min.css +7 -0
  390. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/writer/content.css +68 -0
  391. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/writer/content.js +7 -0
  392. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/writer/content.min.css +7 -0
  393. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.css +890 -0
  394. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.inline.css +884 -0
  395. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.inline.js +7 -0
  396. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.inline.min.css +7 -0
  397. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.js +7 -0
  398. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.min.css +7 -0
  399. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.css +4766 -0
  400. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.js +7 -0
  401. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.min.css +7 -0
  402. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.shadowdom.css +36 -0
  403. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.shadowdom.js +7 -0
  404. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  405. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.css +878 -0
  406. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.inline.css +884 -0
  407. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.inline.js +7 -0
  408. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.inline.min.css +7 -0
  409. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.js +7 -0
  410. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.min.css +7 -0
  411. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.css +4769 -0
  412. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.js +7 -0
  413. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.min.css +7 -0
  414. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.shadowdom.css +36 -0
  415. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.shadowdom.js +7 -0
  416. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  417. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.css +890 -0
  418. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.inline.css +884 -0
  419. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.inline.js +7 -0
  420. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.inline.min.css +7 -0
  421. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.js +7 -0
  422. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.min.css +7 -0
  423. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.css +4880 -0
  424. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.js +7 -0
  425. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.min.css +7 -0
  426. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.shadowdom.css +36 -0
  427. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.shadowdom.js +7 -0
  428. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.shadowdom.min.css +7 -0
  429. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.css +878 -0
  430. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.inline.css +884 -0
  431. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.inline.js +7 -0
  432. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.inline.min.css +7 -0
  433. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.js +7 -0
  434. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.min.css +7 -0
  435. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.css +4880 -0
  436. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.js +7 -0
  437. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.min.css +7 -0
  438. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.shadowdom.css +36 -0
  439. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.shadowdom.js +7 -0
  440. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +7 -0
  441. package/src/sap/ui/richtexteditor/js/tiny_mce7/themes/silver/index.js +13 -0
  442. package/src/sap/ui/richtexteditor/js/tiny_mce7/themes/silver/theme.js +31928 -0
  443. package/src/sap/ui/richtexteditor/js/tiny_mce7/themes/silver/theme.min.js +337 -0
  444. package/src/sap/ui/richtexteditor/js/tiny_mce7/tinymce.d.ts +3313 -0
  445. package/src/sap/ui/richtexteditor/js/tiny_mce7/tinymce.js +32267 -0
  446. package/src/sap/ui/richtexteditor/js/tiny_mce7/tinymce.min.js +336 -0
  447. package/src/sap/ui/richtexteditor/js/tiny_mce7/version.txt +1 -0
  448. package/src/sap/ui/richtexteditor/library.js +9 -3
@@ -0,0 +1,2468 @@
1
+ /*!
2
+ * TinyMCE
3
+ *
4
+ * Copyright (c) 2025 Ephox Corporation DBA Tiny Technologies, Inc.
5
+ * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/
6
+ *
7
+ * Version: 7.7.2
8
+ */
9
+
10
+ (function () {
11
+ 'use strict';
12
+
13
+ var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');
14
+
15
+ const isNullable = a => a === null || a === undefined;
16
+ const isNonNullable = a => !isNullable(a);
17
+
18
+ const noop = () => {
19
+ };
20
+ const constant = value => {
21
+ return () => {
22
+ return value;
23
+ };
24
+ };
25
+
26
+ class Optional {
27
+ constructor(tag, value) {
28
+ this.tag = tag;
29
+ this.value = value;
30
+ }
31
+ static some(value) {
32
+ return new Optional(true, value);
33
+ }
34
+ static none() {
35
+ return Optional.singletonNone;
36
+ }
37
+ fold(onNone, onSome) {
38
+ if (this.tag) {
39
+ return onSome(this.value);
40
+ } else {
41
+ return onNone();
42
+ }
43
+ }
44
+ isSome() {
45
+ return this.tag;
46
+ }
47
+ isNone() {
48
+ return !this.tag;
49
+ }
50
+ map(mapper) {
51
+ if (this.tag) {
52
+ return Optional.some(mapper(this.value));
53
+ } else {
54
+ return Optional.none();
55
+ }
56
+ }
57
+ bind(binder) {
58
+ if (this.tag) {
59
+ return binder(this.value);
60
+ } else {
61
+ return Optional.none();
62
+ }
63
+ }
64
+ exists(predicate) {
65
+ return this.tag && predicate(this.value);
66
+ }
67
+ forall(predicate) {
68
+ return !this.tag || predicate(this.value);
69
+ }
70
+ filter(predicate) {
71
+ if (!this.tag || predicate(this.value)) {
72
+ return this;
73
+ } else {
74
+ return Optional.none();
75
+ }
76
+ }
77
+ getOr(replacement) {
78
+ return this.tag ? this.value : replacement;
79
+ }
80
+ or(replacement) {
81
+ return this.tag ? this : replacement;
82
+ }
83
+ getOrThunk(thunk) {
84
+ return this.tag ? this.value : thunk();
85
+ }
86
+ orThunk(thunk) {
87
+ return this.tag ? this : thunk();
88
+ }
89
+ getOrDie(message) {
90
+ if (!this.tag) {
91
+ throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
92
+ } else {
93
+ return this.value;
94
+ }
95
+ }
96
+ static from(value) {
97
+ return isNonNullable(value) ? Optional.some(value) : Optional.none();
98
+ }
99
+ getOrNull() {
100
+ return this.tag ? this.value : null;
101
+ }
102
+ getOrUndefined() {
103
+ return this.value;
104
+ }
105
+ each(worker) {
106
+ if (this.tag) {
107
+ worker(this.value);
108
+ }
109
+ }
110
+ toArray() {
111
+ return this.tag ? [this.value] : [];
112
+ }
113
+ toString() {
114
+ return this.tag ? `some(${ this.value })` : 'none()';
115
+ }
116
+ }
117
+ Optional.singletonNone = new Optional(false);
118
+
119
+ const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();
120
+ const head = xs => get$1(xs, 0);
121
+
122
+ var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
123
+
124
+ const Global = typeof window !== 'undefined' ? window : Function('return this;')();
125
+
126
+ const prismjs = function (global, module, exports) {
127
+ const oldprism = window.Prism;
128
+ window.Prism = { manual: true };
129
+ var _self = typeof window !== 'undefined' ? window : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};
130
+ var Prism = function (_self) {
131
+ var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;
132
+ var uniqueId = 0;
133
+ var plainTextGrammar = {};
134
+ var _ = {
135
+ manual: _self.Prism && _self.Prism.manual,
136
+ disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,
137
+ util: {
138
+ encode: function encode(tokens) {
139
+ if (tokens instanceof Token) {
140
+ return new Token(tokens.type, encode(tokens.content), tokens.alias);
141
+ } else if (Array.isArray(tokens)) {
142
+ return tokens.map(encode);
143
+ } else {
144
+ return tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\u00a0/g, ' ');
145
+ }
146
+ },
147
+ type: function (o) {
148
+ return Object.prototype.toString.call(o).slice(8, -1);
149
+ },
150
+ objId: function (obj) {
151
+ if (!obj['__id']) {
152
+ Object.defineProperty(obj, '__id', { value: ++uniqueId });
153
+ }
154
+ return obj['__id'];
155
+ },
156
+ clone: function deepClone(o, visited) {
157
+ visited = visited || {};
158
+ var clone;
159
+ var id;
160
+ switch (_.util.type(o)) {
161
+ case 'Object':
162
+ id = _.util.objId(o);
163
+ if (visited[id]) {
164
+ return visited[id];
165
+ }
166
+ clone = {};
167
+ visited[id] = clone;
168
+ for (var key in o) {
169
+ if (o.hasOwnProperty(key)) {
170
+ clone[key] = deepClone(o[key], visited);
171
+ }
172
+ }
173
+ return clone;
174
+ case 'Array':
175
+ id = _.util.objId(o);
176
+ if (visited[id]) {
177
+ return visited[id];
178
+ }
179
+ clone = [];
180
+ visited[id] = clone;
181
+ o.forEach(function (v, i) {
182
+ clone[i] = deepClone(v, visited);
183
+ });
184
+ return clone;
185
+ default:
186
+ return o;
187
+ }
188
+ },
189
+ getLanguage: function (element) {
190
+ while (element) {
191
+ var m = lang.exec(element.className);
192
+ if (m) {
193
+ return m[1].toLowerCase();
194
+ }
195
+ element = element.parentElement;
196
+ }
197
+ return 'none';
198
+ },
199
+ setLanguage: function (element, language) {
200
+ element.className = element.className.replace(RegExp(lang, 'gi'), '');
201
+ element.classList.add('language-' + language);
202
+ },
203
+ currentScript: function () {
204
+ if (typeof document === 'undefined') {
205
+ return null;
206
+ }
207
+ if ('currentScript' in document && 1 < 2) {
208
+ return document.currentScript;
209
+ }
210
+ try {
211
+ throw new Error();
212
+ } catch (err) {
213
+ var src = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(err.stack) || [])[1];
214
+ if (src) {
215
+ var scripts = document.getElementsByTagName('script');
216
+ for (var i in scripts) {
217
+ if (scripts[i].src == src) {
218
+ return scripts[i];
219
+ }
220
+ }
221
+ }
222
+ return null;
223
+ }
224
+ },
225
+ isActive: function (element, className, defaultActivation) {
226
+ var no = 'no-' + className;
227
+ while (element) {
228
+ var classList = element.classList;
229
+ if (classList.contains(className)) {
230
+ return true;
231
+ }
232
+ if (classList.contains(no)) {
233
+ return false;
234
+ }
235
+ element = element.parentElement;
236
+ }
237
+ return !!defaultActivation;
238
+ }
239
+ },
240
+ languages: {
241
+ plain: plainTextGrammar,
242
+ plaintext: plainTextGrammar,
243
+ text: plainTextGrammar,
244
+ txt: plainTextGrammar,
245
+ extend: function (id, redef) {
246
+ var lang = _.util.clone(_.languages[id]);
247
+ for (var key in redef) {
248
+ lang[key] = redef[key];
249
+ }
250
+ return lang;
251
+ },
252
+ insertBefore: function (inside, before, insert, root) {
253
+ root = root || _.languages;
254
+ var grammar = root[inside];
255
+ var ret = {};
256
+ for (var token in grammar) {
257
+ if (grammar.hasOwnProperty(token)) {
258
+ if (token == before) {
259
+ for (var newToken in insert) {
260
+ if (insert.hasOwnProperty(newToken)) {
261
+ ret[newToken] = insert[newToken];
262
+ }
263
+ }
264
+ }
265
+ if (!insert.hasOwnProperty(token)) {
266
+ ret[token] = grammar[token];
267
+ }
268
+ }
269
+ }
270
+ var old = root[inside];
271
+ root[inside] = ret;
272
+ _.languages.DFS(_.languages, function (key, value) {
273
+ if (value === old && key != inside) {
274
+ this[key] = ret;
275
+ }
276
+ });
277
+ return ret;
278
+ },
279
+ DFS: function DFS(o, callback, type, visited) {
280
+ visited = visited || {};
281
+ var objId = _.util.objId;
282
+ for (var i in o) {
283
+ if (o.hasOwnProperty(i)) {
284
+ callback.call(o, i, o[i], type || i);
285
+ var property = o[i];
286
+ var propertyType = _.util.type(property);
287
+ if (propertyType === 'Object' && !visited[objId(property)]) {
288
+ visited[objId(property)] = true;
289
+ DFS(property, callback, null, visited);
290
+ } else if (propertyType === 'Array' && !visited[objId(property)]) {
291
+ visited[objId(property)] = true;
292
+ DFS(property, callback, i, visited);
293
+ }
294
+ }
295
+ }
296
+ }
297
+ },
298
+ plugins: {},
299
+ highlightAll: function (async, callback) {
300
+ _.highlightAllUnder(document, async, callback);
301
+ },
302
+ highlightAllUnder: function (container, async, callback) {
303
+ var env = {
304
+ callback: callback,
305
+ container: container,
306
+ selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
307
+ };
308
+ _.hooks.run('before-highlightall', env);
309
+ env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));
310
+ _.hooks.run('before-all-elements-highlight', env);
311
+ for (var i = 0, element; element = env.elements[i++];) {
312
+ _.highlightElement(element, async === true, env.callback);
313
+ }
314
+ },
315
+ highlightElement: function (element, async, callback) {
316
+ var language = _.util.getLanguage(element);
317
+ var grammar = _.languages[language];
318
+ _.util.setLanguage(element, language);
319
+ var parent = element.parentElement;
320
+ if (parent && parent.nodeName.toLowerCase() === 'pre') {
321
+ _.util.setLanguage(parent, language);
322
+ }
323
+ var code = element.textContent;
324
+ var env = {
325
+ element: element,
326
+ language: language,
327
+ grammar: grammar,
328
+ code: code
329
+ };
330
+ function insertHighlightedCode(highlightedCode) {
331
+ env.highlightedCode = highlightedCode;
332
+ _.hooks.run('before-insert', env);
333
+ env.element.innerHTML = env.highlightedCode;
334
+ _.hooks.run('after-highlight', env);
335
+ _.hooks.run('complete', env);
336
+ callback && callback.call(env.element);
337
+ }
338
+ _.hooks.run('before-sanity-check', env);
339
+ parent = env.element.parentElement;
340
+ if (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {
341
+ parent.setAttribute('tabindex', '0');
342
+ }
343
+ if (!env.code) {
344
+ _.hooks.run('complete', env);
345
+ callback && callback.call(env.element);
346
+ return;
347
+ }
348
+ _.hooks.run('before-highlight', env);
349
+ if (!env.grammar) {
350
+ insertHighlightedCode(_.util.encode(env.code));
351
+ return;
352
+ }
353
+ if (async && _self.Worker) {
354
+ var worker = new Worker(_.filename);
355
+ worker.onmessage = function (evt) {
356
+ insertHighlightedCode(evt.data);
357
+ };
358
+ worker.postMessage(JSON.stringify({
359
+ language: env.language,
360
+ code: env.code,
361
+ immediateClose: true
362
+ }));
363
+ } else {
364
+ insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));
365
+ }
366
+ },
367
+ highlight: function (text, grammar, language) {
368
+ var env = {
369
+ code: text,
370
+ grammar: grammar,
371
+ language: language
372
+ };
373
+ _.hooks.run('before-tokenize', env);
374
+ if (!env.grammar) {
375
+ throw new Error('The language "' + env.language + '" has no grammar.');
376
+ }
377
+ env.tokens = _.tokenize(env.code, env.grammar);
378
+ _.hooks.run('after-tokenize', env);
379
+ return Token.stringify(_.util.encode(env.tokens), env.language);
380
+ },
381
+ tokenize: function (text, grammar) {
382
+ var rest = grammar.rest;
383
+ if (rest) {
384
+ for (var token in rest) {
385
+ grammar[token] = rest[token];
386
+ }
387
+ delete grammar.rest;
388
+ }
389
+ var tokenList = new LinkedList();
390
+ addAfter(tokenList, tokenList.head, text);
391
+ matchGrammar(text, tokenList, grammar, tokenList.head, 0);
392
+ return toArray(tokenList);
393
+ },
394
+ hooks: {
395
+ all: {},
396
+ add: function (name, callback) {
397
+ var hooks = _.hooks.all;
398
+ hooks[name] = hooks[name] || [];
399
+ hooks[name].push(callback);
400
+ },
401
+ run: function (name, env) {
402
+ var callbacks = _.hooks.all[name];
403
+ if (!callbacks || !callbacks.length) {
404
+ return;
405
+ }
406
+ for (var i = 0, callback; callback = callbacks[i++];) {
407
+ callback(env);
408
+ }
409
+ }
410
+ },
411
+ Token: Token
412
+ };
413
+ _self.Prism = _;
414
+ function Token(type, content, alias, matchedStr) {
415
+ this.type = type;
416
+ this.content = content;
417
+ this.alias = alias;
418
+ this.length = (matchedStr || '').length | 0;
419
+ }
420
+ Token.stringify = function stringify(o, language) {
421
+ if (typeof o == 'string') {
422
+ return o;
423
+ }
424
+ if (Array.isArray(o)) {
425
+ var s = '';
426
+ o.forEach(function (e) {
427
+ s += stringify(e, language);
428
+ });
429
+ return s;
430
+ }
431
+ var env = {
432
+ type: o.type,
433
+ content: stringify(o.content, language),
434
+ tag: 'span',
435
+ classes: [
436
+ 'token',
437
+ o.type
438
+ ],
439
+ attributes: {},
440
+ language: language
441
+ };
442
+ var aliases = o.alias;
443
+ if (aliases) {
444
+ if (Array.isArray(aliases)) {
445
+ Array.prototype.push.apply(env.classes, aliases);
446
+ } else {
447
+ env.classes.push(aliases);
448
+ }
449
+ }
450
+ _.hooks.run('wrap', env);
451
+ var attributes = '';
452
+ for (var name in env.attributes) {
453
+ attributes += ' ' + name + '="' + (env.attributes[name] || '').replace(/"/g, '&quot;') + '"';
454
+ }
455
+ return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + attributes + '>' + env.content + '</' + env.tag + '>';
456
+ };
457
+ function matchPattern(pattern, pos, text, lookbehind) {
458
+ pattern.lastIndex = pos;
459
+ var match = pattern.exec(text);
460
+ if (match && lookbehind && match[1]) {
461
+ var lookbehindLength = match[1].length;
462
+ match.index += lookbehindLength;
463
+ match[0] = match[0].slice(lookbehindLength);
464
+ }
465
+ return match;
466
+ }
467
+ function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {
468
+ for (var token in grammar) {
469
+ if (!grammar.hasOwnProperty(token) || !grammar[token]) {
470
+ continue;
471
+ }
472
+ var patterns = grammar[token];
473
+ patterns = Array.isArray(patterns) ? patterns : [patterns];
474
+ for (var j = 0; j < patterns.length; ++j) {
475
+ if (rematch && rematch.cause == token + ',' + j) {
476
+ return;
477
+ }
478
+ var patternObj = patterns[j];
479
+ var inside = patternObj.inside;
480
+ var lookbehind = !!patternObj.lookbehind;
481
+ var greedy = !!patternObj.greedy;
482
+ var alias = patternObj.alias;
483
+ if (greedy && !patternObj.pattern.global) {
484
+ var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];
485
+ patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');
486
+ }
487
+ var pattern = patternObj.pattern || patternObj;
488
+ for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {
489
+ if (rematch && pos >= rematch.reach) {
490
+ break;
491
+ }
492
+ var str = currentNode.value;
493
+ if (tokenList.length > text.length) {
494
+ return;
495
+ }
496
+ if (str instanceof Token) {
497
+ continue;
498
+ }
499
+ var removeCount = 1;
500
+ var match;
501
+ if (greedy) {
502
+ match = matchPattern(pattern, pos, text, lookbehind);
503
+ if (!match || match.index >= text.length) {
504
+ break;
505
+ }
506
+ var from = match.index;
507
+ var to = match.index + match[0].length;
508
+ var p = pos;
509
+ p += currentNode.value.length;
510
+ while (from >= p) {
511
+ currentNode = currentNode.next;
512
+ p += currentNode.value.length;
513
+ }
514
+ p -= currentNode.value.length;
515
+ pos = p;
516
+ if (currentNode.value instanceof Token) {
517
+ continue;
518
+ }
519
+ for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {
520
+ removeCount++;
521
+ p += k.value.length;
522
+ }
523
+ removeCount--;
524
+ str = text.slice(pos, p);
525
+ match.index -= pos;
526
+ } else {
527
+ match = matchPattern(pattern, 0, str, lookbehind);
528
+ if (!match) {
529
+ continue;
530
+ }
531
+ }
532
+ var from = match.index;
533
+ var matchStr = match[0];
534
+ var before = str.slice(0, from);
535
+ var after = str.slice(from + matchStr.length);
536
+ var reach = pos + str.length;
537
+ if (rematch && reach > rematch.reach) {
538
+ rematch.reach = reach;
539
+ }
540
+ var removeFrom = currentNode.prev;
541
+ if (before) {
542
+ removeFrom = addAfter(tokenList, removeFrom, before);
543
+ pos += before.length;
544
+ }
545
+ removeRange(tokenList, removeFrom, removeCount);
546
+ var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);
547
+ currentNode = addAfter(tokenList, removeFrom, wrapped);
548
+ if (after) {
549
+ addAfter(tokenList, currentNode, after);
550
+ }
551
+ if (removeCount > 1) {
552
+ var nestedRematch = {
553
+ cause: token + ',' + j,
554
+ reach: reach
555
+ };
556
+ matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);
557
+ if (rematch && nestedRematch.reach > rematch.reach) {
558
+ rematch.reach = nestedRematch.reach;
559
+ }
560
+ }
561
+ }
562
+ }
563
+ }
564
+ }
565
+ function LinkedList() {
566
+ var head = {
567
+ value: null,
568
+ prev: null,
569
+ next: null
570
+ };
571
+ var tail = {
572
+ value: null,
573
+ prev: head,
574
+ next: null
575
+ };
576
+ head.next = tail;
577
+ this.head = head;
578
+ this.tail = tail;
579
+ this.length = 0;
580
+ }
581
+ function addAfter(list, node, value) {
582
+ var next = node.next;
583
+ var newNode = {
584
+ value: value,
585
+ prev: node,
586
+ next: next
587
+ };
588
+ node.next = newNode;
589
+ next.prev = newNode;
590
+ list.length++;
591
+ return newNode;
592
+ }
593
+ function removeRange(list, node, count) {
594
+ var next = node.next;
595
+ for (var i = 0; i < count && next !== list.tail; i++) {
596
+ next = next.next;
597
+ }
598
+ node.next = next;
599
+ next.prev = node;
600
+ list.length -= i;
601
+ }
602
+ function toArray(list) {
603
+ var array = [];
604
+ var node = list.head.next;
605
+ while (node !== list.tail) {
606
+ array.push(node.value);
607
+ node = node.next;
608
+ }
609
+ return array;
610
+ }
611
+ if (!_self.document) {
612
+ if (!_self.addEventListener) {
613
+ return _;
614
+ }
615
+ if (!_.disableWorkerMessageHandler) {
616
+ _self.addEventListener('message', function (evt) {
617
+ var message = JSON.parse(evt.data);
618
+ var lang = message.language;
619
+ var code = message.code;
620
+ var immediateClose = message.immediateClose;
621
+ _self.postMessage(_.highlight(code, _.languages[lang], lang));
622
+ if (immediateClose) {
623
+ _self.close();
624
+ }
625
+ }, false);
626
+ }
627
+ return _;
628
+ }
629
+ var script = _.util.currentScript();
630
+ if (script) {
631
+ _.filename = script.src;
632
+ if (script.hasAttribute('data-manual')) {
633
+ _.manual = true;
634
+ }
635
+ }
636
+ function highlightAutomaticallyCallback() {
637
+ if (!_.manual) {
638
+ _.highlightAll();
639
+ }
640
+ }
641
+ if (!_.manual) {
642
+ var readyState = document.readyState;
643
+ if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {
644
+ document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);
645
+ } else {
646
+ if (window.requestAnimationFrame) {
647
+ window.requestAnimationFrame(highlightAutomaticallyCallback);
648
+ } else {
649
+ window.setTimeout(highlightAutomaticallyCallback, 16);
650
+ }
651
+ }
652
+ }
653
+ return _;
654
+ }(_self);
655
+ if (typeof module !== 'undefined' && module.exports) {
656
+ module.exports = Prism;
657
+ }
658
+ if (typeof global !== 'undefined') {
659
+ global.Prism = Prism;
660
+ }
661
+ Prism.languages.clike = {
662
+ 'comment': [
663
+ {
664
+ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
665
+ lookbehind: true,
666
+ greedy: true
667
+ },
668
+ {
669
+ pattern: /(^|[^\\:])\/\/.*/,
670
+ lookbehind: true,
671
+ greedy: true
672
+ }
673
+ ],
674
+ 'string': {
675
+ pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
676
+ greedy: true
677
+ },
678
+ 'class-name': {
679
+ pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
680
+ lookbehind: true,
681
+ inside: { 'punctuation': /[.\\]/ }
682
+ },
683
+ 'keyword': /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
684
+ 'boolean': /\b(?:false|true)\b/,
685
+ 'function': /\b\w+(?=\()/,
686
+ 'number': /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
687
+ 'operator': /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
688
+ 'punctuation': /[{}[\];(),.:]/
689
+ };
690
+ (function (Prism) {
691
+ function getPlaceholder(language, index) {
692
+ return '___' + language.toUpperCase() + index + '___';
693
+ }
694
+ Object.defineProperties(Prism.languages['markup-templating'] = {}, {
695
+ buildPlaceholders: {
696
+ value: function (env, language, placeholderPattern, replaceFilter) {
697
+ if (env.language !== language) {
698
+ return;
699
+ }
700
+ var tokenStack = env.tokenStack = [];
701
+ env.code = env.code.replace(placeholderPattern, function (match) {
702
+ if (typeof replaceFilter === 'function' && !replaceFilter(match)) {
703
+ return match;
704
+ }
705
+ var i = tokenStack.length;
706
+ var placeholder;
707
+ while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {
708
+ ++i;
709
+ }
710
+ tokenStack[i] = match;
711
+ return placeholder;
712
+ });
713
+ env.grammar = Prism.languages.markup;
714
+ }
715
+ },
716
+ tokenizePlaceholders: {
717
+ value: function (env, language) {
718
+ if (env.language !== language || !env.tokenStack) {
719
+ return;
720
+ }
721
+ env.grammar = Prism.languages[language];
722
+ var j = 0;
723
+ var keys = Object.keys(env.tokenStack);
724
+ function walkTokens(tokens) {
725
+ for (var i = 0; i < tokens.length; i++) {
726
+ if (j >= keys.length) {
727
+ break;
728
+ }
729
+ var token = tokens[i];
730
+ if (typeof token === 'string' || token.content && typeof token.content === 'string') {
731
+ var k = keys[j];
732
+ var t = env.tokenStack[k];
733
+ var s = typeof token === 'string' ? token : token.content;
734
+ var placeholder = getPlaceholder(language, k);
735
+ var index = s.indexOf(placeholder);
736
+ if (index > -1) {
737
+ ++j;
738
+ var before = s.substring(0, index);
739
+ var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);
740
+ var after = s.substring(index + placeholder.length);
741
+ var replacement = [];
742
+ if (before) {
743
+ replacement.push.apply(replacement, walkTokens([before]));
744
+ }
745
+ replacement.push(middle);
746
+ if (after) {
747
+ replacement.push.apply(replacement, walkTokens([after]));
748
+ }
749
+ if (typeof token === 'string') {
750
+ tokens.splice.apply(tokens, [
751
+ i,
752
+ 1
753
+ ].concat(replacement));
754
+ } else {
755
+ token.content = replacement;
756
+ }
757
+ }
758
+ } else if (token.content) {
759
+ walkTokens(token.content);
760
+ }
761
+ }
762
+ return tokens;
763
+ }
764
+ walkTokens(env.tokens);
765
+ }
766
+ }
767
+ });
768
+ }(Prism));
769
+ Prism.languages.c = Prism.languages.extend('clike', {
770
+ 'comment': {
771
+ pattern: /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,
772
+ greedy: true
773
+ },
774
+ 'string': {
775
+ pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,
776
+ greedy: true
777
+ },
778
+ 'class-name': {
779
+ pattern: /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,
780
+ lookbehind: true
781
+ },
782
+ 'keyword': /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,
783
+ 'function': /\b[a-z_]\w*(?=\s*\()/i,
784
+ 'number': /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,
785
+ 'operator': />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/
786
+ });
787
+ Prism.languages.insertBefore('c', 'string', {
788
+ 'char': {
789
+ pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,
790
+ greedy: true
791
+ }
792
+ });
793
+ Prism.languages.insertBefore('c', 'string', {
794
+ 'macro': {
795
+ pattern: /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,
796
+ lookbehind: true,
797
+ greedy: true,
798
+ alias: 'property',
799
+ inside: {
800
+ 'string': [
801
+ {
802
+ pattern: /^(#\s*include\s*)<[^>]+>/,
803
+ lookbehind: true
804
+ },
805
+ Prism.languages.c['string']
806
+ ],
807
+ 'char': Prism.languages.c['char'],
808
+ 'comment': Prism.languages.c['comment'],
809
+ 'macro-name': [
810
+ {
811
+ pattern: /(^#\s*define\s+)\w+\b(?!\()/i,
812
+ lookbehind: true
813
+ },
814
+ {
815
+ pattern: /(^#\s*define\s+)\w+\b(?=\()/i,
816
+ lookbehind: true,
817
+ alias: 'function'
818
+ }
819
+ ],
820
+ 'directive': {
821
+ pattern: /^(#\s*)[a-z]+/,
822
+ lookbehind: true,
823
+ alias: 'keyword'
824
+ },
825
+ 'directive-hash': /^#/,
826
+ 'punctuation': /##|\\(?=[\r\n])/,
827
+ 'expression': {
828
+ pattern: /\S[\s\S]*/,
829
+ inside: Prism.languages.c
830
+ }
831
+ }
832
+ }
833
+ });
834
+ Prism.languages.insertBefore('c', 'function', { 'constant': /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/ });
835
+ delete Prism.languages.c['boolean'];
836
+ (function (Prism) {
837
+ var keyword = /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;
838
+ var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g, function () {
839
+ return keyword.source;
840
+ });
841
+ Prism.languages.cpp = Prism.languages.extend('c', {
842
+ 'class-name': [
843
+ {
844
+ pattern: RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g, function () {
845
+ return keyword.source;
846
+ })),
847
+ lookbehind: true
848
+ },
849
+ /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,
850
+ /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,
851
+ /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
852
+ ],
853
+ 'keyword': keyword,
854
+ 'number': {
855
+ pattern: /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
856
+ greedy: true
857
+ },
858
+ 'operator': />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
859
+ 'boolean': /\b(?:false|true)\b/
860
+ });
861
+ Prism.languages.insertBefore('cpp', 'string', {
862
+ 'module': {
863
+ pattern: RegExp(/(\b(?:import|module)\s+)/.source + '(?:' + /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source + '|' + /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g, function () {
864
+ return modName;
865
+ }) + ')'),
866
+ lookbehind: true,
867
+ greedy: true,
868
+ inside: {
869
+ 'string': /^[<"][\s\S]+/,
870
+ 'operator': /:/,
871
+ 'punctuation': /\./
872
+ }
873
+ },
874
+ 'raw-string': {
875
+ pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
876
+ alias: 'string',
877
+ greedy: true
878
+ }
879
+ });
880
+ Prism.languages.insertBefore('cpp', 'keyword', {
881
+ 'generic-function': {
882
+ pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
883
+ inside: {
884
+ 'function': /^\w+/,
885
+ 'generic': {
886
+ pattern: /<[\s\S]+/,
887
+ alias: 'class-name',
888
+ inside: Prism.languages.cpp
889
+ }
890
+ }
891
+ }
892
+ });
893
+ Prism.languages.insertBefore('cpp', 'operator', {
894
+ 'double-colon': {
895
+ pattern: /::/,
896
+ alias: 'punctuation'
897
+ }
898
+ });
899
+ Prism.languages.insertBefore('cpp', 'class-name', {
900
+ 'base-clause': {
901
+ pattern: /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
902
+ lookbehind: true,
903
+ greedy: true,
904
+ inside: Prism.languages.extend('cpp', {})
905
+ }
906
+ });
907
+ Prism.languages.insertBefore('inside', 'double-colon', { 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i }, Prism.languages.cpp['base-clause']);
908
+ }(Prism));
909
+ (function (Prism) {
910
+ function replace(pattern, replacements) {
911
+ return pattern.replace(/<<(\d+)>>/g, function (m, index) {
912
+ return '(?:' + replacements[+index] + ')';
913
+ });
914
+ }
915
+ function re(pattern, replacements, flags) {
916
+ return RegExp(replace(pattern, replacements), flags || '');
917
+ }
918
+ function nested(pattern, depthLog2) {
919
+ for (var i = 0; i < depthLog2; i++) {
920
+ pattern = pattern.replace(/<<self>>/g, function () {
921
+ return '(?:' + pattern + ')';
922
+ });
923
+ }
924
+ return pattern.replace(/<<self>>/g, '[^\\s\\S]');
925
+ }
926
+ var keywordKinds = {
927
+ type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
928
+ typeDeclaration: 'class enum interface record struct',
929
+ contextual: 'add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)',
930
+ other: 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'
931
+ };
932
+ function keywordsToPattern(words) {
933
+ return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b';
934
+ }
935
+ var typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration);
936
+ var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other));
937
+ var nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other);
938
+ var nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other);
939
+ var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2);
940
+ var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
941
+ var name = /@?\b[A-Za-z_]\w*\b/.source;
942
+ var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [
943
+ name,
944
+ generic
945
+ ]);
946
+ var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
947
+ nonTypeKeywords,
948
+ genericName
949
+ ]);
950
+ var array = /\[\s*(?:,\s*)*\]/.source;
951
+ var typeExpressionWithoutTuple = replace(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source, [
952
+ identifier,
953
+ array
954
+ ]);
955
+ var tupleElement = replace(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [
956
+ generic,
957
+ nestedRound,
958
+ array
959
+ ]);
960
+ var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
961
+ var typeExpression = replace(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source, [
962
+ tuple,
963
+ identifier,
964
+ array
965
+ ]);
966
+ var typeInside = {
967
+ 'keyword': keywords,
968
+ 'punctuation': /[<>()?,.:[\]]/
969
+ };
970
+ var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source;
971
+ var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
972
+ var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
973
+ Prism.languages.csharp = Prism.languages.extend('clike', {
974
+ 'string': [
975
+ {
976
+ pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
977
+ lookbehind: true,
978
+ greedy: true
979
+ },
980
+ {
981
+ pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
982
+ lookbehind: true,
983
+ greedy: true
984
+ }
985
+ ],
986
+ 'class-name': [
987
+ {
988
+ pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [identifier]),
989
+ lookbehind: true,
990
+ inside: typeInside
991
+ },
992
+ {
993
+ pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
994
+ name,
995
+ typeExpression
996
+ ]),
997
+ lookbehind: true,
998
+ inside: typeInside
999
+ },
1000
+ {
1001
+ pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
1002
+ lookbehind: true
1003
+ },
1004
+ {
1005
+ pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
1006
+ typeDeclarationKeywords,
1007
+ genericName
1008
+ ]),
1009
+ lookbehind: true,
1010
+ inside: typeInside
1011
+ },
1012
+ {
1013
+ pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
1014
+ lookbehind: true,
1015
+ inside: typeInside
1016
+ },
1017
+ {
1018
+ pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
1019
+ lookbehind: true
1020
+ },
1021
+ {
1022
+ pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [typeExpressionWithoutTuple]),
1023
+ lookbehind: true,
1024
+ inside: typeInside
1025
+ },
1026
+ {
1027
+ pattern: re(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source, [
1028
+ typeExpression,
1029
+ nonContextualKeywords,
1030
+ name
1031
+ ]),
1032
+ inside: typeInside
1033
+ }
1034
+ ],
1035
+ 'keyword': keywords,
1036
+ 'number': /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,
1037
+ 'operator': />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
1038
+ 'punctuation': /\?\.?|::|[{}[\];(),.:]/
1039
+ });
1040
+ Prism.languages.insertBefore('csharp', 'number', {
1041
+ 'range': {
1042
+ pattern: /\.\./,
1043
+ alias: 'operator'
1044
+ }
1045
+ });
1046
+ Prism.languages.insertBefore('csharp', 'punctuation', {
1047
+ 'named-parameter': {
1048
+ pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
1049
+ lookbehind: true,
1050
+ alias: 'punctuation'
1051
+ }
1052
+ });
1053
+ Prism.languages.insertBefore('csharp', 'class-name', {
1054
+ 'namespace': {
1055
+ pattern: re(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source, [name]),
1056
+ lookbehind: true,
1057
+ inside: { 'punctuation': /\./ }
1058
+ },
1059
+ 'type-expression': {
1060
+ pattern: re(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source, [nestedRound]),
1061
+ lookbehind: true,
1062
+ alias: 'class-name',
1063
+ inside: typeInside
1064
+ },
1065
+ 'return-type': {
1066
+ pattern: re(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source, [
1067
+ typeExpression,
1068
+ identifier
1069
+ ]),
1070
+ inside: typeInside,
1071
+ alias: 'class-name'
1072
+ },
1073
+ 'constructor-invocation': {
1074
+ pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
1075
+ lookbehind: true,
1076
+ inside: typeInside,
1077
+ alias: 'class-name'
1078
+ },
1079
+ 'generic-method': {
1080
+ pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [
1081
+ name,
1082
+ generic
1083
+ ]),
1084
+ inside: {
1085
+ 'function': re(/^<<0>>/.source, [name]),
1086
+ 'generic': {
1087
+ pattern: RegExp(generic),
1088
+ alias: 'class-name',
1089
+ inside: typeInside
1090
+ }
1091
+ }
1092
+ },
1093
+ 'type-list': {
1094
+ pattern: re(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source, [
1095
+ typeDeclarationKeywords,
1096
+ genericName,
1097
+ name,
1098
+ typeExpression,
1099
+ keywords.source,
1100
+ nestedRound,
1101
+ /\bnew\s*\(\s*\)/.source
1102
+ ]),
1103
+ lookbehind: true,
1104
+ inside: {
1105
+ 'record-arguments': {
1106
+ pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
1107
+ genericName,
1108
+ nestedRound
1109
+ ]),
1110
+ lookbehind: true,
1111
+ greedy: true,
1112
+ inside: Prism.languages.csharp
1113
+ },
1114
+ 'keyword': keywords,
1115
+ 'class-name': {
1116
+ pattern: RegExp(typeExpression),
1117
+ greedy: true,
1118
+ inside: typeInside
1119
+ },
1120
+ 'punctuation': /[,()]/
1121
+ }
1122
+ },
1123
+ 'preprocessor': {
1124
+ pattern: /(^[\t ]*)#.*/m,
1125
+ lookbehind: true,
1126
+ alias: 'property',
1127
+ inside: {
1128
+ 'directive': {
1129
+ pattern: /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
1130
+ lookbehind: true,
1131
+ alias: 'keyword'
1132
+ }
1133
+ }
1134
+ }
1135
+ });
1136
+ var regularStringOrCharacter = regularString + '|' + character;
1137
+ var regularStringCharacterOrComment = replace(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source, [regularStringOrCharacter]);
1138
+ var roundExpression = nested(replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [regularStringCharacterOrComment]), 2);
1139
+ var attrTarget = /\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source;
1140
+ var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
1141
+ identifier,
1142
+ roundExpression
1143
+ ]);
1144
+ Prism.languages.insertBefore('csharp', 'class-name', {
1145
+ 'attribute': {
1146
+ pattern: re(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source, [
1147
+ attrTarget,
1148
+ attr
1149
+ ]),
1150
+ lookbehind: true,
1151
+ greedy: true,
1152
+ inside: {
1153
+ 'target': {
1154
+ pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
1155
+ alias: 'keyword'
1156
+ },
1157
+ 'attribute-arguments': {
1158
+ pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
1159
+ inside: Prism.languages.csharp
1160
+ },
1161
+ 'class-name': {
1162
+ pattern: RegExp(identifier),
1163
+ inside: { 'punctuation': /\./ }
1164
+ },
1165
+ 'punctuation': /[:,]/
1166
+ }
1167
+ }
1168
+ });
1169
+ var formatString = /:[^}\r\n]+/.source;
1170
+ var mInterpolationRound = nested(replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [regularStringCharacterOrComment]), 2);
1171
+ var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
1172
+ mInterpolationRound,
1173
+ formatString
1174
+ ]);
1175
+ var sInterpolationRound = nested(replace(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source, [regularStringOrCharacter]), 2);
1176
+ var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
1177
+ sInterpolationRound,
1178
+ formatString
1179
+ ]);
1180
+ function createInterpolationInside(interpolation, interpolationRound) {
1181
+ return {
1182
+ 'interpolation': {
1183
+ pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
1184
+ lookbehind: true,
1185
+ inside: {
1186
+ 'format-string': {
1187
+ pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
1188
+ interpolationRound,
1189
+ formatString
1190
+ ]),
1191
+ lookbehind: true,
1192
+ inside: { 'punctuation': /^:/ }
1193
+ },
1194
+ 'punctuation': /^\{|\}$/,
1195
+ 'expression': {
1196
+ pattern: /[\s\S]+/,
1197
+ alias: 'language-csharp',
1198
+ inside: Prism.languages.csharp
1199
+ }
1200
+ }
1201
+ },
1202
+ 'string': /[\s\S]+/
1203
+ };
1204
+ }
1205
+ Prism.languages.insertBefore('csharp', 'string', {
1206
+ 'interpolation-string': [
1207
+ {
1208
+ pattern: re(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source, [mInterpolation]),
1209
+ lookbehind: true,
1210
+ greedy: true,
1211
+ inside: createInterpolationInside(mInterpolation, mInterpolationRound)
1212
+ },
1213
+ {
1214
+ pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [sInterpolation]),
1215
+ lookbehind: true,
1216
+ greedy: true,
1217
+ inside: createInterpolationInside(sInterpolation, sInterpolationRound)
1218
+ }
1219
+ ],
1220
+ 'char': {
1221
+ pattern: RegExp(character),
1222
+ greedy: true
1223
+ }
1224
+ });
1225
+ Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
1226
+ }(Prism));
1227
+ (function (Prism) {
1228
+ var string = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
1229
+ Prism.languages.css = {
1230
+ 'comment': /\/\*[\s\S]*?\*\//,
1231
+ 'atrule': {
1232
+ pattern: RegExp('@[\\w-](?:' + /[^;{\s"']|\s+(?!\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\s*\{))/.source),
1233
+ inside: {
1234
+ 'rule': /^@[\w-]+/,
1235
+ 'selector-function-argument': {
1236
+ pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
1237
+ lookbehind: true,
1238
+ alias: 'selector'
1239
+ },
1240
+ 'keyword': {
1241
+ pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
1242
+ lookbehind: true
1243
+ }
1244
+ }
1245
+ },
1246
+ 'url': {
1247
+ pattern: RegExp('\\burl\\((?:' + string.source + '|' + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ')\\)', 'i'),
1248
+ greedy: true,
1249
+ inside: {
1250
+ 'function': /^url/i,
1251
+ 'punctuation': /^\(|\)$/,
1252
+ 'string': {
1253
+ pattern: RegExp('^' + string.source + '$'),
1254
+ alias: 'url'
1255
+ }
1256
+ }
1257
+ },
1258
+ 'selector': {
1259
+ pattern: RegExp('(^|[{}\\s])[^{}\\s](?:[^{};"\'\\s]|\\s+(?![\\s{])|' + string.source + ')*(?=\\s*\\{)'),
1260
+ lookbehind: true
1261
+ },
1262
+ 'string': {
1263
+ pattern: string,
1264
+ greedy: true
1265
+ },
1266
+ 'property': {
1267
+ pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
1268
+ lookbehind: true
1269
+ },
1270
+ 'important': /!important\b/i,
1271
+ 'function': {
1272
+ pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
1273
+ lookbehind: true
1274
+ },
1275
+ 'punctuation': /[(){};:,]/
1276
+ };
1277
+ Prism.languages.css['atrule'].inside.rest = Prism.languages.css;
1278
+ var markup = Prism.languages.markup;
1279
+ if (markup) {
1280
+ markup.tag.addInlined('style', 'css');
1281
+ markup.tag.addAttribute('style', 'css');
1282
+ }
1283
+ }(Prism));
1284
+ (function (Prism) {
1285
+ var keywords = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/;
1286
+ var classNamePrefix = /(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source;
1287
+ var className = {
1288
+ pattern: RegExp(/(^|[^\w.])/.source + classNamePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
1289
+ lookbehind: true,
1290
+ inside: {
1291
+ 'namespace': {
1292
+ pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
1293
+ inside: { 'punctuation': /\./ }
1294
+ },
1295
+ 'punctuation': /\./
1296
+ }
1297
+ };
1298
+ Prism.languages.java = Prism.languages.extend('clike', {
1299
+ 'string': {
1300
+ pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,
1301
+ lookbehind: true,
1302
+ greedy: true
1303
+ },
1304
+ 'class-name': [
1305
+ className,
1306
+ {
1307
+ pattern: RegExp(/(^|[^\w.])/.source + classNamePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),
1308
+ lookbehind: true,
1309
+ inside: className.inside
1310
+ },
1311
+ {
1312
+ pattern: RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source + classNamePrefix + /[A-Z]\w*\b/.source),
1313
+ lookbehind: true,
1314
+ inside: className.inside
1315
+ }
1316
+ ],
1317
+ 'keyword': keywords,
1318
+ 'function': [
1319
+ Prism.languages.clike.function,
1320
+ {
1321
+ pattern: /(::\s*)[a-z_]\w*/,
1322
+ lookbehind: true
1323
+ }
1324
+ ],
1325
+ 'number': /\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,
1326
+ 'operator': {
1327
+ pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,
1328
+ lookbehind: true
1329
+ },
1330
+ 'constant': /\b[A-Z][A-Z_\d]+\b/
1331
+ });
1332
+ Prism.languages.insertBefore('java', 'string', {
1333
+ 'triple-quoted-string': {
1334
+ pattern: /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,
1335
+ greedy: true,
1336
+ alias: 'string'
1337
+ },
1338
+ 'char': {
1339
+ pattern: /'(?:\\.|[^'\\\r\n]){1,6}'/,
1340
+ greedy: true
1341
+ }
1342
+ });
1343
+ Prism.languages.insertBefore('java', 'class-name', {
1344
+ 'annotation': {
1345
+ pattern: /(^|[^.])@\w+(?:\s*\.\s*\w+)*/,
1346
+ lookbehind: true,
1347
+ alias: 'punctuation'
1348
+ },
1349
+ 'generics': {
1350
+ pattern: /<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,
1351
+ inside: {
1352
+ 'class-name': className,
1353
+ 'keyword': keywords,
1354
+ 'punctuation': /[<>(),.:]/,
1355
+ 'operator': /[?&|]/
1356
+ }
1357
+ },
1358
+ 'import': [
1359
+ {
1360
+ pattern: RegExp(/(\bimport\s+)/.source + classNamePrefix + /(?:[A-Z]\w*|\*)(?=\s*;)/.source),
1361
+ lookbehind: true,
1362
+ inside: {
1363
+ 'namespace': className.inside.namespace,
1364
+ 'punctuation': /\./,
1365
+ 'operator': /\*/,
1366
+ 'class-name': /\w+/
1367
+ }
1368
+ },
1369
+ {
1370
+ pattern: RegExp(/(\bimport\s+static\s+)/.source + classNamePrefix + /(?:\w+|\*)(?=\s*;)/.source),
1371
+ lookbehind: true,
1372
+ alias: 'static',
1373
+ inside: {
1374
+ 'namespace': className.inside.namespace,
1375
+ 'static': /\b\w+$/,
1376
+ 'punctuation': /\./,
1377
+ 'operator': /\*/,
1378
+ 'class-name': /\w+/
1379
+ }
1380
+ }
1381
+ ],
1382
+ 'namespace': {
1383
+ pattern: RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g, function () {
1384
+ return keywords.source;
1385
+ })),
1386
+ lookbehind: true,
1387
+ inside: { 'punctuation': /\./ }
1388
+ }
1389
+ });
1390
+ }(Prism));
1391
+ Prism.languages.javascript = Prism.languages.extend('clike', {
1392
+ 'class-name': [
1393
+ Prism.languages.clike['class-name'],
1394
+ {
1395
+ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,
1396
+ lookbehind: true
1397
+ }
1398
+ ],
1399
+ 'keyword': [
1400
+ {
1401
+ pattern: /((?:^|\})\s*)catch\b/,
1402
+ lookbehind: true
1403
+ },
1404
+ {
1405
+ pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
1406
+ lookbehind: true
1407
+ }
1408
+ ],
1409
+ 'function': /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
1410
+ 'number': {
1411
+ pattern: RegExp(/(^|[^\w$])/.source + '(?:' + (/NaN|Infinity/.source + '|' + /0[bB][01]+(?:_[01]+)*n?/.source + '|' + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + '|' + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + '|' + /\d+(?:_\d+)*n/.source + '|' + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source) + ')' + /(?![\w$])/.source),
1412
+ lookbehind: true
1413
+ },
1414
+ 'operator': /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/
1415
+ });
1416
+ Prism.languages.javascript['class-name'][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;
1417
+ Prism.languages.insertBefore('javascript', 'keyword', {
1418
+ 'regex': {
1419
+ pattern: RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + /\//.source + '(?:' + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + '|' + /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ')' + /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),
1420
+ lookbehind: true,
1421
+ greedy: true,
1422
+ inside: {
1423
+ 'regex-source': {
1424
+ pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
1425
+ lookbehind: true,
1426
+ alias: 'language-regex',
1427
+ inside: Prism.languages.regex
1428
+ },
1429
+ 'regex-delimiter': /^\/|\/$/,
1430
+ 'regex-flags': /^[a-z]+$/
1431
+ }
1432
+ },
1433
+ 'function-variable': {
1434
+ pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
1435
+ alias: 'function'
1436
+ },
1437
+ 'parameter': [
1438
+ {
1439
+ pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
1440
+ lookbehind: true,
1441
+ inside: Prism.languages.javascript
1442
+ },
1443
+ {
1444
+ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
1445
+ lookbehind: true,
1446
+ inside: Prism.languages.javascript
1447
+ },
1448
+ {
1449
+ pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
1450
+ lookbehind: true,
1451
+ inside: Prism.languages.javascript
1452
+ },
1453
+ {
1454
+ pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
1455
+ lookbehind: true,
1456
+ inside: Prism.languages.javascript
1457
+ }
1458
+ ],
1459
+ 'constant': /\b[A-Z](?:[A-Z_]|\dx?)*\b/
1460
+ });
1461
+ Prism.languages.insertBefore('javascript', 'string', {
1462
+ 'hashbang': {
1463
+ pattern: /^#!.*/,
1464
+ greedy: true,
1465
+ alias: 'comment'
1466
+ },
1467
+ 'template-string': {
1468
+ pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,
1469
+ greedy: true,
1470
+ inside: {
1471
+ 'template-punctuation': {
1472
+ pattern: /^`|`$/,
1473
+ alias: 'string'
1474
+ },
1475
+ 'interpolation': {
1476
+ pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
1477
+ lookbehind: true,
1478
+ inside: {
1479
+ 'interpolation-punctuation': {
1480
+ pattern: /^\$\{|\}$/,
1481
+ alias: 'punctuation'
1482
+ },
1483
+ rest: Prism.languages.javascript
1484
+ }
1485
+ },
1486
+ 'string': /[\s\S]+/
1487
+ }
1488
+ },
1489
+ 'string-property': {
1490
+ pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,
1491
+ lookbehind: true,
1492
+ greedy: true,
1493
+ alias: 'property'
1494
+ }
1495
+ });
1496
+ Prism.languages.insertBefore('javascript', 'operator', {
1497
+ 'literal-property': {
1498
+ pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,
1499
+ lookbehind: true,
1500
+ alias: 'property'
1501
+ }
1502
+ });
1503
+ if (Prism.languages.markup) {
1504
+ Prism.languages.markup.tag.addInlined('script', 'javascript');
1505
+ Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, 'javascript');
1506
+ }
1507
+ Prism.languages.js = Prism.languages.javascript;
1508
+ Prism.languages.markup = {
1509
+ 'comment': {
1510
+ pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
1511
+ greedy: true
1512
+ },
1513
+ 'prolog': {
1514
+ pattern: /<\?[\s\S]+?\?>/,
1515
+ greedy: true
1516
+ },
1517
+ 'doctype': {
1518
+ pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,
1519
+ greedy: true,
1520
+ inside: {
1521
+ 'internal-subset': {
1522
+ pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/,
1523
+ lookbehind: true,
1524
+ greedy: true,
1525
+ inside: null
1526
+ },
1527
+ 'string': {
1528
+ pattern: /"[^"]*"|'[^']*'/,
1529
+ greedy: true
1530
+ },
1531
+ 'punctuation': /^<!|>$|[[\]]/,
1532
+ 'doctype-tag': /^DOCTYPE/i,
1533
+ 'name': /[^\s<>'"]+/
1534
+ }
1535
+ },
1536
+ 'cdata': {
1537
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
1538
+ greedy: true
1539
+ },
1540
+ 'tag': {
1541
+ pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
1542
+ greedy: true,
1543
+ inside: {
1544
+ 'tag': {
1545
+ pattern: /^<\/?[^\s>\/]+/,
1546
+ inside: {
1547
+ 'punctuation': /^<\/?/,
1548
+ 'namespace': /^[^\s>\/:]+:/
1549
+ }
1550
+ },
1551
+ 'special-attr': [],
1552
+ 'attr-value': {
1553
+ pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
1554
+ inside: {
1555
+ 'punctuation': [
1556
+ {
1557
+ pattern: /^=/,
1558
+ alias: 'attr-equals'
1559
+ },
1560
+ {
1561
+ pattern: /^(\s*)["']|["']$/,
1562
+ lookbehind: true
1563
+ }
1564
+ ]
1565
+ }
1566
+ },
1567
+ 'punctuation': /\/?>/,
1568
+ 'attr-name': {
1569
+ pattern: /[^\s>\/]+/,
1570
+ inside: { 'namespace': /^[^\s>\/:]+:/ }
1571
+ }
1572
+ }
1573
+ },
1574
+ 'entity': [
1575
+ {
1576
+ pattern: /&[\da-z]{1,8};/i,
1577
+ alias: 'named-entity'
1578
+ },
1579
+ /&#x?[\da-f]{1,8};/i
1580
+ ]
1581
+ };
1582
+ Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];
1583
+ Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;
1584
+ Prism.hooks.add('wrap', function (env) {
1585
+ if (env.type === 'entity') {
1586
+ env.attributes['title'] = env.content.replace(/&amp;/, '&');
1587
+ }
1588
+ });
1589
+ Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {
1590
+ value: function addInlined(tagName, lang) {
1591
+ var includedCdataInside = {};
1592
+ includedCdataInside['language-' + lang] = {
1593
+ pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
1594
+ lookbehind: true,
1595
+ inside: Prism.languages[lang]
1596
+ };
1597
+ includedCdataInside['cdata'] = /^<!\[CDATA\[|\]\]>$/i;
1598
+ var inside = {
1599
+ 'included-cdata': {
1600
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
1601
+ inside: includedCdataInside
1602
+ }
1603
+ };
1604
+ inside['language-' + lang] = {
1605
+ pattern: /[\s\S]+/,
1606
+ inside: Prism.languages[lang]
1607
+ };
1608
+ var def = {};
1609
+ def[tagName] = {
1610
+ pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function () {
1611
+ return tagName;
1612
+ }), 'i'),
1613
+ lookbehind: true,
1614
+ greedy: true,
1615
+ inside: inside
1616
+ };
1617
+ Prism.languages.insertBefore('markup', 'cdata', def);
1618
+ }
1619
+ });
1620
+ Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {
1621
+ value: function (attrName, lang) {
1622
+ Prism.languages.markup.tag.inside['special-attr'].push({
1623
+ pattern: RegExp(/(^|["'\s])/.source + '(?:' + attrName + ')' + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, 'i'),
1624
+ lookbehind: true,
1625
+ inside: {
1626
+ 'attr-name': /^[^\s=]+/,
1627
+ 'attr-value': {
1628
+ pattern: /=[\s\S]+/,
1629
+ inside: {
1630
+ 'value': {
1631
+ pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
1632
+ lookbehind: true,
1633
+ alias: [
1634
+ lang,
1635
+ 'language-' + lang
1636
+ ],
1637
+ inside: Prism.languages[lang]
1638
+ },
1639
+ 'punctuation': [
1640
+ {
1641
+ pattern: /^=/,
1642
+ alias: 'attr-equals'
1643
+ },
1644
+ /"|'/
1645
+ ]
1646
+ }
1647
+ }
1648
+ }
1649
+ });
1650
+ }
1651
+ });
1652
+ Prism.languages.html = Prism.languages.markup;
1653
+ Prism.languages.mathml = Prism.languages.markup;
1654
+ Prism.languages.svg = Prism.languages.markup;
1655
+ Prism.languages.xml = Prism.languages.extend('markup', {});
1656
+ Prism.languages.ssml = Prism.languages.xml;
1657
+ Prism.languages.atom = Prism.languages.xml;
1658
+ Prism.languages.rss = Prism.languages.xml;
1659
+ (function (Prism) {
1660
+ var comment = /\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/;
1661
+ var constant = [
1662
+ {
1663
+ pattern: /\b(?:false|true)\b/i,
1664
+ alias: 'boolean'
1665
+ },
1666
+ {
1667
+ pattern: /(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,
1668
+ greedy: true,
1669
+ lookbehind: true
1670
+ },
1671
+ {
1672
+ pattern: /(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,
1673
+ greedy: true,
1674
+ lookbehind: true
1675
+ },
1676
+ /\b(?:null)\b/i,
1677
+ /\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/
1678
+ ];
1679
+ var number = /\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i;
1680
+ var operator = /<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;
1681
+ var punctuation = /[{}\[\](),:;]/;
1682
+ Prism.languages.php = {
1683
+ 'delimiter': {
1684
+ pattern: /\?>$|^<\?(?:php(?=\s)|=)?/i,
1685
+ alias: 'important'
1686
+ },
1687
+ 'comment': comment,
1688
+ 'variable': /\$+(?:\w+\b|(?=\{))/,
1689
+ 'package': {
1690
+ pattern: /(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
1691
+ lookbehind: true,
1692
+ inside: { 'punctuation': /\\/ }
1693
+ },
1694
+ 'class-name-definition': {
1695
+ pattern: /(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,
1696
+ lookbehind: true,
1697
+ alias: 'class-name'
1698
+ },
1699
+ 'function-definition': {
1700
+ pattern: /(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,
1701
+ lookbehind: true,
1702
+ alias: 'function'
1703
+ },
1704
+ 'keyword': [
1705
+ {
1706
+ pattern: /(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,
1707
+ alias: 'type-casting',
1708
+ greedy: true,
1709
+ lookbehind: true
1710
+ },
1711
+ {
1712
+ pattern: /([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,
1713
+ alias: 'type-hint',
1714
+ greedy: true,
1715
+ lookbehind: true
1716
+ },
1717
+ {
1718
+ pattern: /(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,
1719
+ alias: 'return-type',
1720
+ greedy: true,
1721
+ lookbehind: true
1722
+ },
1723
+ {
1724
+ pattern: /\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,
1725
+ alias: 'type-declaration',
1726
+ greedy: true
1727
+ },
1728
+ {
1729
+ pattern: /(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,
1730
+ alias: 'type-declaration',
1731
+ greedy: true,
1732
+ lookbehind: true
1733
+ },
1734
+ {
1735
+ pattern: /\b(?:parent|self|static)(?=\s*::)/i,
1736
+ alias: 'static-context',
1737
+ greedy: true
1738
+ },
1739
+ {
1740
+ pattern: /(\byield\s+)from\b/i,
1741
+ lookbehind: true
1742
+ },
1743
+ /\bclass\b/i,
1744
+ {
1745
+ pattern: /((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,
1746
+ lookbehind: true
1747
+ }
1748
+ ],
1749
+ 'argument-name': {
1750
+ pattern: /([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,
1751
+ lookbehind: true
1752
+ },
1753
+ 'class-name': [
1754
+ {
1755
+ pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,
1756
+ greedy: true,
1757
+ lookbehind: true
1758
+ },
1759
+ {
1760
+ pattern: /(\|\s*)\b[a-z_]\w*(?!\\)\b/i,
1761
+ greedy: true,
1762
+ lookbehind: true
1763
+ },
1764
+ {
1765
+ pattern: /\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,
1766
+ greedy: true
1767
+ },
1768
+ {
1769
+ pattern: /(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,
1770
+ alias: 'class-name-fully-qualified',
1771
+ greedy: true,
1772
+ lookbehind: true,
1773
+ inside: { 'punctuation': /\\/ }
1774
+ },
1775
+ {
1776
+ pattern: /(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,
1777
+ alias: 'class-name-fully-qualified',
1778
+ greedy: true,
1779
+ inside: { 'punctuation': /\\/ }
1780
+ },
1781
+ {
1782
+ pattern: /(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
1783
+ alias: 'class-name-fully-qualified',
1784
+ greedy: true,
1785
+ lookbehind: true,
1786
+ inside: { 'punctuation': /\\/ }
1787
+ },
1788
+ {
1789
+ pattern: /\b[a-z_]\w*(?=\s*\$)/i,
1790
+ alias: 'type-declaration',
1791
+ greedy: true
1792
+ },
1793
+ {
1794
+ pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,
1795
+ alias: [
1796
+ 'class-name-fully-qualified',
1797
+ 'type-declaration'
1798
+ ],
1799
+ greedy: true,
1800
+ inside: { 'punctuation': /\\/ }
1801
+ },
1802
+ {
1803
+ pattern: /\b[a-z_]\w*(?=\s*::)/i,
1804
+ alias: 'static-context',
1805
+ greedy: true
1806
+ },
1807
+ {
1808
+ pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,
1809
+ alias: [
1810
+ 'class-name-fully-qualified',
1811
+ 'static-context'
1812
+ ],
1813
+ greedy: true,
1814
+ inside: { 'punctuation': /\\/ }
1815
+ },
1816
+ {
1817
+ pattern: /([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,
1818
+ alias: 'type-hint',
1819
+ greedy: true,
1820
+ lookbehind: true
1821
+ },
1822
+ {
1823
+ pattern: /([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,
1824
+ alias: [
1825
+ 'class-name-fully-qualified',
1826
+ 'type-hint'
1827
+ ],
1828
+ greedy: true,
1829
+ lookbehind: true,
1830
+ inside: { 'punctuation': /\\/ }
1831
+ },
1832
+ {
1833
+ pattern: /(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,
1834
+ alias: 'return-type',
1835
+ greedy: true,
1836
+ lookbehind: true
1837
+ },
1838
+ {
1839
+ pattern: /(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,
1840
+ alias: [
1841
+ 'class-name-fully-qualified',
1842
+ 'return-type'
1843
+ ],
1844
+ greedy: true,
1845
+ lookbehind: true,
1846
+ inside: { 'punctuation': /\\/ }
1847
+ }
1848
+ ],
1849
+ 'constant': constant,
1850
+ 'function': {
1851
+ pattern: /(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,
1852
+ lookbehind: true,
1853
+ inside: { 'punctuation': /\\/ }
1854
+ },
1855
+ 'property': {
1856
+ pattern: /(->\s*)\w+/,
1857
+ lookbehind: true
1858
+ },
1859
+ 'number': number,
1860
+ 'operator': operator,
1861
+ 'punctuation': punctuation
1862
+ };
1863
+ var string_interpolation = {
1864
+ pattern: /\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,
1865
+ lookbehind: true,
1866
+ inside: Prism.languages.php
1867
+ };
1868
+ var string = [
1869
+ {
1870
+ pattern: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,
1871
+ alias: 'nowdoc-string',
1872
+ greedy: true,
1873
+ inside: {
1874
+ 'delimiter': {
1875
+ pattern: /^<<<'[^']+'|[a-z_]\w*;$/i,
1876
+ alias: 'symbol',
1877
+ inside: { 'punctuation': /^<<<'?|[';]$/ }
1878
+ }
1879
+ }
1880
+ },
1881
+ {
1882
+ pattern: /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,
1883
+ alias: 'heredoc-string',
1884
+ greedy: true,
1885
+ inside: {
1886
+ 'delimiter': {
1887
+ pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,
1888
+ alias: 'symbol',
1889
+ inside: { 'punctuation': /^<<<"?|[";]$/ }
1890
+ },
1891
+ 'interpolation': string_interpolation
1892
+ }
1893
+ },
1894
+ {
1895
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
1896
+ alias: 'backtick-quoted-string',
1897
+ greedy: true
1898
+ },
1899
+ {
1900
+ pattern: /'(?:\\[\s\S]|[^\\'])*'/,
1901
+ alias: 'single-quoted-string',
1902
+ greedy: true
1903
+ },
1904
+ {
1905
+ pattern: /"(?:\\[\s\S]|[^\\"])*"/,
1906
+ alias: 'double-quoted-string',
1907
+ greedy: true,
1908
+ inside: { 'interpolation': string_interpolation }
1909
+ }
1910
+ ];
1911
+ Prism.languages.insertBefore('php', 'variable', {
1912
+ 'string': string,
1913
+ 'attribute': {
1914
+ pattern: /#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,
1915
+ greedy: true,
1916
+ inside: {
1917
+ 'attribute-content': {
1918
+ pattern: /^(#\[)[\s\S]+(?=\]$)/,
1919
+ lookbehind: true,
1920
+ inside: {
1921
+ 'comment': comment,
1922
+ 'string': string,
1923
+ 'attribute-class-name': [
1924
+ {
1925
+ pattern: /([^:]|^)\b[a-z_]\w*(?!\\)\b/i,
1926
+ alias: 'class-name',
1927
+ greedy: true,
1928
+ lookbehind: true
1929
+ },
1930
+ {
1931
+ pattern: /([^:]|^)(?:\\?\b[a-z_]\w*)+/i,
1932
+ alias: [
1933
+ 'class-name',
1934
+ 'class-name-fully-qualified'
1935
+ ],
1936
+ greedy: true,
1937
+ lookbehind: true,
1938
+ inside: { 'punctuation': /\\/ }
1939
+ }
1940
+ ],
1941
+ 'constant': constant,
1942
+ 'number': number,
1943
+ 'operator': operator,
1944
+ 'punctuation': punctuation
1945
+ }
1946
+ },
1947
+ 'delimiter': {
1948
+ pattern: /^#\[|\]$/,
1949
+ alias: 'punctuation'
1950
+ }
1951
+ }
1952
+ }
1953
+ });
1954
+ Prism.hooks.add('before-tokenize', function (env) {
1955
+ if (!/<\?/.test(env.code)) {
1956
+ return;
1957
+ }
1958
+ var phpPattern = /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;
1959
+ Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);
1960
+ });
1961
+ Prism.hooks.add('after-tokenize', function (env) {
1962
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php');
1963
+ });
1964
+ }(Prism));
1965
+ Prism.languages.python = {
1966
+ 'comment': {
1967
+ pattern: /(^|[^\\])#.*/,
1968
+ lookbehind: true,
1969
+ greedy: true
1970
+ },
1971
+ 'string-interpolation': {
1972
+ pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
1973
+ greedy: true,
1974
+ inside: {
1975
+ 'interpolation': {
1976
+ pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,
1977
+ lookbehind: true,
1978
+ inside: {
1979
+ 'format-spec': {
1980
+ pattern: /(:)[^:(){}]+(?=\}$)/,
1981
+ lookbehind: true
1982
+ },
1983
+ 'conversion-option': {
1984
+ pattern: /![sra](?=[:}]$)/,
1985
+ alias: 'punctuation'
1986
+ },
1987
+ rest: null
1988
+ }
1989
+ },
1990
+ 'string': /[\s\S]+/
1991
+ }
1992
+ },
1993
+ 'triple-quoted-string': {
1994
+ pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,
1995
+ greedy: true,
1996
+ alias: 'string'
1997
+ },
1998
+ 'string': {
1999
+ pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,
2000
+ greedy: true
2001
+ },
2002
+ 'function': {
2003
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,
2004
+ lookbehind: true
2005
+ },
2006
+ 'class-name': {
2007
+ pattern: /(\bclass\s+)\w+/i,
2008
+ lookbehind: true
2009
+ },
2010
+ 'decorator': {
2011
+ pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m,
2012
+ lookbehind: true,
2013
+ alias: [
2014
+ 'annotation',
2015
+ 'punctuation'
2016
+ ],
2017
+ inside: { 'punctuation': /\./ }
2018
+ },
2019
+ 'keyword': /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
2020
+ 'builtin': /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
2021
+ 'boolean': /\b(?:False|None|True)\b/,
2022
+ 'number': /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,
2023
+ 'operator': /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
2024
+ 'punctuation': /[{}[\];(),.:]/
2025
+ };
2026
+ Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;
2027
+ Prism.languages.py = Prism.languages.python;
2028
+ (function (Prism) {
2029
+ Prism.languages.ruby = Prism.languages.extend('clike', {
2030
+ 'comment': {
2031
+ pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
2032
+ greedy: true
2033
+ },
2034
+ 'class-name': {
2035
+ pattern: /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
2036
+ lookbehind: true,
2037
+ inside: { 'punctuation': /[.\\]/ }
2038
+ },
2039
+ 'keyword': /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,
2040
+ 'operator': /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
2041
+ 'punctuation': /[(){}[\].,;]/
2042
+ });
2043
+ Prism.languages.insertBefore('ruby', 'operator', {
2044
+ 'double-colon': {
2045
+ pattern: /::/,
2046
+ alias: 'punctuation'
2047
+ }
2048
+ });
2049
+ var interpolation = {
2050
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
2051
+ lookbehind: true,
2052
+ inside: {
2053
+ 'content': {
2054
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
2055
+ lookbehind: true,
2056
+ inside: Prism.languages.ruby
2057
+ },
2058
+ 'delimiter': {
2059
+ pattern: /^#\{|\}$/,
2060
+ alias: 'punctuation'
2061
+ }
2062
+ }
2063
+ };
2064
+ delete Prism.languages.ruby.function;
2065
+ var percentExpression = '(?:' + [
2066
+ /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
2067
+ /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
2068
+ /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
2069
+ /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
2070
+ /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
2071
+ ].join('|') + ')';
2072
+ var symbolName = /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;
2073
+ Prism.languages.insertBefore('ruby', 'keyword', {
2074
+ 'regex-literal': [
2075
+ {
2076
+ pattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source),
2077
+ greedy: true,
2078
+ inside: {
2079
+ 'interpolation': interpolation,
2080
+ 'regex': /[\s\S]+/
2081
+ }
2082
+ },
2083
+ {
2084
+ pattern: /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
2085
+ lookbehind: true,
2086
+ greedy: true,
2087
+ inside: {
2088
+ 'interpolation': interpolation,
2089
+ 'regex': /[\s\S]+/
2090
+ }
2091
+ }
2092
+ ],
2093
+ 'variable': /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
2094
+ 'symbol': [
2095
+ {
2096
+ pattern: RegExp(/(^|[^:]):/.source + symbolName),
2097
+ lookbehind: true,
2098
+ greedy: true
2099
+ },
2100
+ {
2101
+ pattern: RegExp(/([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source),
2102
+ lookbehind: true,
2103
+ greedy: true
2104
+ }
2105
+ ],
2106
+ 'method-definition': {
2107
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
2108
+ lookbehind: true,
2109
+ inside: {
2110
+ 'function': /\b\w+$/,
2111
+ 'keyword': /^self\b/,
2112
+ 'class-name': /^\w+/,
2113
+ 'punctuation': /\./
2114
+ }
2115
+ }
2116
+ });
2117
+ Prism.languages.insertBefore('ruby', 'string', {
2118
+ 'string-literal': [
2119
+ {
2120
+ pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
2121
+ greedy: true,
2122
+ inside: {
2123
+ 'interpolation': interpolation,
2124
+ 'string': /[\s\S]+/
2125
+ }
2126
+ },
2127
+ {
2128
+ pattern: /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
2129
+ greedy: true,
2130
+ inside: {
2131
+ 'interpolation': interpolation,
2132
+ 'string': /[\s\S]+/
2133
+ }
2134
+ },
2135
+ {
2136
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
2137
+ alias: 'heredoc-string',
2138
+ greedy: true,
2139
+ inside: {
2140
+ 'delimiter': {
2141
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
2142
+ inside: {
2143
+ 'symbol': /\b\w+/,
2144
+ 'punctuation': /^<<[-~]?/
2145
+ }
2146
+ },
2147
+ 'interpolation': interpolation,
2148
+ 'string': /[\s\S]+/
2149
+ }
2150
+ },
2151
+ {
2152
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
2153
+ alias: 'heredoc-string',
2154
+ greedy: true,
2155
+ inside: {
2156
+ 'delimiter': {
2157
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
2158
+ inside: {
2159
+ 'symbol': /\b\w+/,
2160
+ 'punctuation': /^<<[-~]?'|'$/
2161
+ }
2162
+ },
2163
+ 'string': /[\s\S]+/
2164
+ }
2165
+ }
2166
+ ],
2167
+ 'command-literal': [
2168
+ {
2169
+ pattern: RegExp(/%x/.source + percentExpression),
2170
+ greedy: true,
2171
+ inside: {
2172
+ 'interpolation': interpolation,
2173
+ 'command': {
2174
+ pattern: /[\s\S]+/,
2175
+ alias: 'string'
2176
+ }
2177
+ }
2178
+ },
2179
+ {
2180
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
2181
+ greedy: true,
2182
+ inside: {
2183
+ 'interpolation': interpolation,
2184
+ 'command': {
2185
+ pattern: /[\s\S]+/,
2186
+ alias: 'string'
2187
+ }
2188
+ }
2189
+ }
2190
+ ]
2191
+ });
2192
+ delete Prism.languages.ruby.string;
2193
+ Prism.languages.insertBefore('ruby', 'number', {
2194
+ 'builtin': /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,
2195
+ 'constant': /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
2196
+ });
2197
+ Prism.languages.rb = Prism.languages.ruby;
2198
+ }(Prism));
2199
+ window.Prism = oldprism;
2200
+ return Prism;
2201
+ }(undefined, undefined);
2202
+
2203
+ const option = name => editor => editor.options.get(name);
2204
+ const register$2 = editor => {
2205
+ const registerOption = editor.options.register;
2206
+ registerOption('codesample_languages', { processor: 'object[]' });
2207
+ registerOption('codesample_global_prismjs', {
2208
+ processor: 'boolean',
2209
+ default: false
2210
+ });
2211
+ };
2212
+ const getLanguages$1 = option('codesample_languages');
2213
+ const useGlobalPrismJS = option('codesample_global_prismjs');
2214
+
2215
+ const get = editor => Global.Prism && useGlobalPrismJS(editor) ? Global.Prism : prismjs;
2216
+
2217
+ const isCodeSample = elm => {
2218
+ return isNonNullable(elm) && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;
2219
+ };
2220
+
2221
+ const getSelectedCodeSample = editor => {
2222
+ const node = editor.selection ? editor.selection.getNode() : null;
2223
+ return isCodeSample(node) ? Optional.some(node) : Optional.none();
2224
+ };
2225
+ const insertCodeSample = (editor, language, code) => {
2226
+ const dom = editor.dom;
2227
+ editor.undoManager.transact(() => {
2228
+ const node = getSelectedCodeSample(editor);
2229
+ code = global$1.DOM.encode(code);
2230
+ return node.fold(() => {
2231
+ editor.insertContent('<pre id="__new" class="language-' + language + '">' + code + '</pre>');
2232
+ const newPre = dom.select('#__new')[0];
2233
+ dom.setAttrib(newPre, 'id', null);
2234
+ editor.selection.select(newPre);
2235
+ }, n => {
2236
+ dom.setAttrib(n, 'class', 'language-' + language);
2237
+ n.innerHTML = code;
2238
+ get(editor).highlightElement(n);
2239
+ editor.selection.select(n);
2240
+ });
2241
+ });
2242
+ };
2243
+ const getCurrentCode = editor => {
2244
+ const node = getSelectedCodeSample(editor);
2245
+ return node.bind(n => Optional.from(n.textContent)).getOr('');
2246
+ };
2247
+
2248
+ const getLanguages = editor => {
2249
+ const defaultLanguages = [
2250
+ {
2251
+ text: 'HTML/XML',
2252
+ value: 'markup'
2253
+ },
2254
+ {
2255
+ text: 'JavaScript',
2256
+ value: 'javascript'
2257
+ },
2258
+ {
2259
+ text: 'CSS',
2260
+ value: 'css'
2261
+ },
2262
+ {
2263
+ text: 'PHP',
2264
+ value: 'php'
2265
+ },
2266
+ {
2267
+ text: 'Ruby',
2268
+ value: 'ruby'
2269
+ },
2270
+ {
2271
+ text: 'Python',
2272
+ value: 'python'
2273
+ },
2274
+ {
2275
+ text: 'Java',
2276
+ value: 'java'
2277
+ },
2278
+ {
2279
+ text: 'C',
2280
+ value: 'c'
2281
+ },
2282
+ {
2283
+ text: 'C#',
2284
+ value: 'csharp'
2285
+ },
2286
+ {
2287
+ text: 'C++',
2288
+ value: 'cpp'
2289
+ }
2290
+ ];
2291
+ const customLanguages = getLanguages$1(editor);
2292
+ return customLanguages ? customLanguages : defaultLanguages;
2293
+ };
2294
+ const getCurrentLanguage = (editor, fallback) => {
2295
+ const node = getSelectedCodeSample(editor);
2296
+ return node.fold(() => fallback, n => {
2297
+ const matches = n.className.match(/language-(\w+)/);
2298
+ return matches ? matches[1] : fallback;
2299
+ });
2300
+ };
2301
+
2302
+ const open = editor => {
2303
+ const languages = getLanguages(editor);
2304
+ const defaultLanguage = head(languages).fold(constant(''), l => l.value);
2305
+ const currentLanguage = getCurrentLanguage(editor, defaultLanguage);
2306
+ const currentCode = getCurrentCode(editor);
2307
+ editor.windowManager.open({
2308
+ title: 'Insert/Edit Code Sample',
2309
+ size: 'large',
2310
+ body: {
2311
+ type: 'panel',
2312
+ items: [
2313
+ {
2314
+ type: 'listbox',
2315
+ name: 'language',
2316
+ label: 'Language',
2317
+ items: languages
2318
+ },
2319
+ {
2320
+ type: 'textarea',
2321
+ name: 'code',
2322
+ label: 'Code view'
2323
+ }
2324
+ ]
2325
+ },
2326
+ buttons: [
2327
+ {
2328
+ type: 'cancel',
2329
+ name: 'cancel',
2330
+ text: 'Cancel'
2331
+ },
2332
+ {
2333
+ type: 'submit',
2334
+ name: 'save',
2335
+ text: 'Save',
2336
+ primary: true
2337
+ }
2338
+ ],
2339
+ initialData: {
2340
+ language: currentLanguage,
2341
+ code: currentCode
2342
+ },
2343
+ onSubmit: api => {
2344
+ const data = api.getData();
2345
+ insertCodeSample(editor, data.language, data.code);
2346
+ api.close();
2347
+ }
2348
+ });
2349
+ };
2350
+
2351
+ const register$1 = editor => {
2352
+ editor.addCommand('codesample', () => {
2353
+ const node = editor.selection.getNode();
2354
+ if (editor.selection.isCollapsed() || isCodeSample(node)) {
2355
+ open(editor);
2356
+ } else {
2357
+ editor.formatter.toggle('code');
2358
+ }
2359
+ });
2360
+ };
2361
+
2362
+ const blank = r => s => s.replace(r, '');
2363
+ const trim = blank(/^\s+|\s+$/g);
2364
+
2365
+ var global = tinymce.util.Tools.resolve('tinymce.util.Tools');
2366
+
2367
+ const setup = editor => {
2368
+ editor.on('PreProcess', e => {
2369
+ const dom = editor.dom;
2370
+ const pres = dom.select('pre[contenteditable=false]', e.node);
2371
+ global.each(global.grep(pres, isCodeSample), elm => {
2372
+ const code = elm.textContent;
2373
+ dom.setAttrib(elm, 'class', trim(dom.getAttrib(elm, 'class')));
2374
+ dom.setAttrib(elm, 'contentEditable', null);
2375
+ dom.setAttrib(elm, 'data-mce-highlighted', null);
2376
+ let child;
2377
+ while (child = elm.firstChild) {
2378
+ elm.removeChild(child);
2379
+ }
2380
+ const codeElm = dom.add(elm, 'code');
2381
+ codeElm.textContent = code;
2382
+ });
2383
+ });
2384
+ editor.on('SetContent', () => {
2385
+ const dom = editor.dom;
2386
+ const unprocessedCodeSamples = global.grep(dom.select('pre'), elm => {
2387
+ return isCodeSample(elm) && dom.getAttrib(elm, 'data-mce-highlighted') !== 'true';
2388
+ });
2389
+ if (unprocessedCodeSamples.length) {
2390
+ editor.undoManager.transact(() => {
2391
+ global.each(unprocessedCodeSamples, elm => {
2392
+ var _a;
2393
+ global.each(dom.select('br', elm), elm => {
2394
+ dom.replace(editor.getDoc().createTextNode('\n'), elm);
2395
+ });
2396
+ elm.innerHTML = dom.encode((_a = elm.textContent) !== null && _a !== void 0 ? _a : '');
2397
+ get(editor).highlightElement(elm);
2398
+ dom.setAttrib(elm, 'data-mce-highlighted', true);
2399
+ elm.className = trim(elm.className);
2400
+ });
2401
+ });
2402
+ }
2403
+ });
2404
+ editor.on('PreInit', () => {
2405
+ editor.parser.addNodeFilter('pre', nodes => {
2406
+ var _a;
2407
+ for (let i = 0, l = nodes.length; i < l; i++) {
2408
+ const node = nodes[i];
2409
+ const isCodeSample = ((_a = node.attr('class')) !== null && _a !== void 0 ? _a : '').indexOf('language-') !== -1;
2410
+ if (isCodeSample) {
2411
+ node.attr('contenteditable', 'false');
2412
+ node.attr('data-mce-highlighted', 'false');
2413
+ }
2414
+ }
2415
+ });
2416
+ });
2417
+ };
2418
+
2419
+ const onSetupEditable = (editor, onChanged = noop) => api => {
2420
+ const nodeChanged = () => {
2421
+ api.setEnabled(editor.selection.isEditable());
2422
+ onChanged(api);
2423
+ };
2424
+ editor.on('NodeChange', nodeChanged);
2425
+ nodeChanged();
2426
+ return () => {
2427
+ editor.off('NodeChange', nodeChanged);
2428
+ };
2429
+ };
2430
+ const isCodeSampleSelection = editor => {
2431
+ const node = editor.selection.getStart();
2432
+ return editor.dom.is(node, 'pre[class*="language-"]');
2433
+ };
2434
+ const register = editor => {
2435
+ const onAction = () => editor.execCommand('codesample');
2436
+ editor.ui.registry.addToggleButton('codesample', {
2437
+ icon: 'code-sample',
2438
+ tooltip: 'Insert/edit code sample',
2439
+ onAction,
2440
+ onSetup: onSetupEditable(editor, api => {
2441
+ api.setActive(isCodeSampleSelection(editor));
2442
+ })
2443
+ });
2444
+ editor.ui.registry.addMenuItem('codesample', {
2445
+ text: 'Code sample...',
2446
+ icon: 'code-sample',
2447
+ onAction,
2448
+ onSetup: onSetupEditable(editor)
2449
+ });
2450
+ };
2451
+
2452
+ var Plugin = () => {
2453
+ global$2.add('codesample', editor => {
2454
+ register$2(editor);
2455
+ setup(editor);
2456
+ register(editor);
2457
+ register$1(editor);
2458
+ editor.on('dblclick', ev => {
2459
+ if (isCodeSample(ev.target)) {
2460
+ open(editor);
2461
+ }
2462
+ });
2463
+ });
2464
+ };
2465
+
2466
+ Plugin();
2467
+
2468
+ })();