glebtv-ckeditor 4.0.1 → 4.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (348) hide show
  1. data/Rakefile +63 -62
  2. data/app/assets/stylesheets/ckcontent.css +0 -0
  3. data/lib/ckeditor.rb +4 -3
  4. data/lib/ckeditor/engine.rb +1 -1
  5. data/lib/ckeditor/version.rb +2 -2
  6. data/vendor/assets/javascripts/ckeditor/CHANGES.md +27 -1
  7. data/vendor/assets/javascripts/ckeditor/README.md +1 -1
  8. data/vendor/assets/javascripts/ckeditor/build-config.js +10 -89
  9. data/vendor/assets/javascripts/ckeditor/ckeditor.js +286 -329
  10. data/vendor/assets/javascripts/ckeditor/config.js.erb +3 -8
  11. data/vendor/assets/javascripts/ckeditor/lang/en.js +1 -1
  12. data/vendor/assets/javascripts/ckeditor/lang/ru.js +1 -1
  13. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/ckcss.png +0 -0
  14. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +2 -2
  15. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +1 -1
  16. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +1 -1
  17. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +9 -0
  18. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +6 -6
  19. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +2 -2
  20. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +6 -5
  21. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +1 -1
  22. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +2 -2
  23. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +9 -0
  24. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +2 -2
  25. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.ckeditor.css +74 -0
  26. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.css +16 -10
  27. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -0
  28. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/icons/AutoFormat.png +0 -0
  29. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/icons/CommentSelectedRange.png +0 -0
  30. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/icons/UncommentSelectedRange.png +0 -0
  31. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/dialog}/dialog.js +76 -75
  32. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/closebrackets.js +29 -0
  33. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/edit}/closetag.js +86 -85
  34. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/edit}/continuelist.js +28 -28
  35. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/edit}/matchbrackets.js +74 -63
  36. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/foldcode}/foldcode.js +183 -182
  37. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/addon/format/autoFormatAll.js +43 -0
  38. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/format}/formatting.js +114 -108
  39. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/match-highlighter.js +60 -0
  40. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/search}/search.js +131 -119
  41. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/{util → addon/search}/searchcursor.js +131 -119
  42. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +1 -0
  43. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.js +5384 -4553
  44. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -0
  45. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.modes.min.js +1 -0
  46. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.search-addons.min.js +1 -0
  47. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/css.js +465 -465
  48. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/htmlmixed.js +104 -84
  49. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/javascript.js +426 -411
  50. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/xml.js +324 -324
  51. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/af.js +4 -1
  52. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ar.js +4 -1
  53. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +4 -1
  54. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/bn.js +4 -1
  55. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/bs.js +4 -1
  56. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ca.js +4 -1
  57. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/cs.js +4 -1
  58. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/cy.js +4 -1
  59. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/da.js +4 -1
  60. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/de.js +4 -1
  61. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/el.js +4 -1
  62. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en-au.js +4 -1
  63. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en-ca.js +4 -1
  64. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en-gb.js +4 -1
  65. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en.js +4 -1
  66. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/eo.js +4 -1
  67. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/es.js +4 -1
  68. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/et.js +4 -1
  69. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/eu.js +4 -1
  70. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fa.js +4 -1
  71. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fi.js +4 -1
  72. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fo.js +4 -1
  73. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fr-ca.js +4 -1
  74. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fr.js +4 -1
  75. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/gl.js +4 -1
  76. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/gu.js +4 -1
  77. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/he.js +4 -1
  78. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/hi.js +4 -1
  79. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/hr.js +4 -1
  80. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/hu.js +4 -1
  81. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/is.js +4 -1
  82. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/it.js +4 -1
  83. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ja.js +4 -1
  84. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ka.js +4 -1
  85. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/km.js +4 -1
  86. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ko.js +4 -1
  87. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ku.js +4 -1
  88. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/lt.js +4 -1
  89. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/lv.js +4 -1
  90. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/mk.js +4 -1
  91. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/mn.js +4 -1
  92. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ms.js +4 -1
  93. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/nb.js +4 -1
  94. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/nl.js +4 -1
  95. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/no.js +4 -1
  96. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/pl.js +4 -1
  97. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/pt-br.js +4 -1
  98. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/pt.js +4 -1
  99. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ro.js +4 -1
  100. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ru.js +4 -1
  101. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sk.js +4 -1
  102. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sl.js +4 -1
  103. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sr-latn.js +4 -1
  104. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sr.js +4 -1
  105. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sv.js +4 -1
  106. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/th.js +4 -1
  107. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/tr.js +4 -1
  108. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ug.js +4 -1
  109. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/uk.js +4 -1
  110. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/vi.js +4 -1
  111. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/zh-cn.js +4 -1
  112. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/zh.js +4 -1
  113. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +249 -103
  114. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance-mobile.css +6 -6
  115. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance.css +76 -76
  116. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/blackboard.css +25 -25
  117. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/cobalt.css +18 -18
  118. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +25 -25
  119. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/elegant.css +10 -10
  120. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/erlang-dark.css +21 -21
  121. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +44 -44
  122. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +28 -28
  123. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/neat.css +9 -9
  124. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/night.css +21 -21
  125. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +21 -21
  126. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/solarized.css +207 -207
  127. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/twilight.css +26 -25
  128. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/vibrant-ink.css +27 -27
  129. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-dark.css +46 -46
  130. data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  131. data/vendor/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +173 -173
  132. data/vendor/assets/javascripts/ckeditor/plugins/{MediaEmbed → mediaembed}/images/icon.png +0 -0
  133. data/vendor/assets/javascripts/ckeditor/plugins/{MediaEmbed → mediaembed}/plugin.js +16 -13
  134. data/vendor/assets/javascripts/ckeditor/plugins/oembed/images/icon.png +0 -0
  135. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/de.js +5 -2
  136. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/en.js +4 -1
  137. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/fr.js +9 -6
  138. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/nl.js +4 -1
  139. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/ru.js +11 -8
  140. data/vendor/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.js +161 -30
  141. data/vendor/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.min.js +1 -4
  142. data/vendor/assets/javascripts/ckeditor/plugins/oembed/plugin.js +55 -59
  143. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +11 -10
  144. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +8 -9
  145. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +1 -1
  146. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +9 -10
  147. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  148. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  149. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +1 -1
  150. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +1 -1
  151. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +1 -1
  152. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +1 -1
  153. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +5 -3
  154. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +1 -1
  155. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +1 -1
  156. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +1 -1
  157. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +1 -1
  158. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +1 -1
  159. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +1 -1
  160. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +52 -196
  161. data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  162. metadata +29 -203
  163. data/vendor/assets/javascripts/ckeditor/contents.css +0 -99
  164. data/vendor/assets/javascripts/ckeditor/lang/af.js +0 -5
  165. data/vendor/assets/javascripts/ckeditor/lang/ar.js +0 -5
  166. data/vendor/assets/javascripts/ckeditor/lang/bg.js +0 -5
  167. data/vendor/assets/javascripts/ckeditor/lang/bn.js +0 -5
  168. data/vendor/assets/javascripts/ckeditor/lang/bs.js +0 -5
  169. data/vendor/assets/javascripts/ckeditor/lang/ca.js +0 -5
  170. data/vendor/assets/javascripts/ckeditor/lang/cs.js +0 -5
  171. data/vendor/assets/javascripts/ckeditor/lang/cy.js +0 -5
  172. data/vendor/assets/javascripts/ckeditor/lang/da.js +0 -5
  173. data/vendor/assets/javascripts/ckeditor/lang/de.js +0 -5
  174. data/vendor/assets/javascripts/ckeditor/lang/el.js +0 -5
  175. data/vendor/assets/javascripts/ckeditor/lang/en-au.js +0 -5
  176. data/vendor/assets/javascripts/ckeditor/lang/en-ca.js +0 -5
  177. data/vendor/assets/javascripts/ckeditor/lang/en-gb.js +0 -5
  178. data/vendor/assets/javascripts/ckeditor/lang/eo.js +0 -5
  179. data/vendor/assets/javascripts/ckeditor/lang/es.js +0 -5
  180. data/vendor/assets/javascripts/ckeditor/lang/et.js +0 -5
  181. data/vendor/assets/javascripts/ckeditor/lang/eu.js +0 -5
  182. data/vendor/assets/javascripts/ckeditor/lang/fa.js +0 -5
  183. data/vendor/assets/javascripts/ckeditor/lang/fi.js +0 -5
  184. data/vendor/assets/javascripts/ckeditor/lang/fo.js +0 -5
  185. data/vendor/assets/javascripts/ckeditor/lang/fr-ca.js +0 -5
  186. data/vendor/assets/javascripts/ckeditor/lang/fr.js +0 -5
  187. data/vendor/assets/javascripts/ckeditor/lang/gl.js +0 -5
  188. data/vendor/assets/javascripts/ckeditor/lang/gu.js +0 -5
  189. data/vendor/assets/javascripts/ckeditor/lang/he.js +0 -5
  190. data/vendor/assets/javascripts/ckeditor/lang/hi.js +0 -5
  191. data/vendor/assets/javascripts/ckeditor/lang/hr.js +0 -5
  192. data/vendor/assets/javascripts/ckeditor/lang/hu.js +0 -5
  193. data/vendor/assets/javascripts/ckeditor/lang/is.js +0 -5
  194. data/vendor/assets/javascripts/ckeditor/lang/it.js +0 -5
  195. data/vendor/assets/javascripts/ckeditor/lang/ja.js +0 -5
  196. data/vendor/assets/javascripts/ckeditor/lang/ka.js +0 -5
  197. data/vendor/assets/javascripts/ckeditor/lang/km.js +0 -5
  198. data/vendor/assets/javascripts/ckeditor/lang/ko.js +0 -5
  199. data/vendor/assets/javascripts/ckeditor/lang/ku.js +0 -5
  200. data/vendor/assets/javascripts/ckeditor/lang/lt.js +0 -5
  201. data/vendor/assets/javascripts/ckeditor/lang/lv.js +0 -5
  202. data/vendor/assets/javascripts/ckeditor/lang/mk.js +0 -5
  203. data/vendor/assets/javascripts/ckeditor/lang/mn.js +0 -5
  204. data/vendor/assets/javascripts/ckeditor/lang/ms.js +0 -5
  205. data/vendor/assets/javascripts/ckeditor/lang/nb.js +0 -5
  206. data/vendor/assets/javascripts/ckeditor/lang/nl.js +0 -5
  207. data/vendor/assets/javascripts/ckeditor/lang/no.js +0 -5
  208. data/vendor/assets/javascripts/ckeditor/lang/pl.js +0 -5
  209. data/vendor/assets/javascripts/ckeditor/lang/pt-br.js +0 -5
  210. data/vendor/assets/javascripts/ckeditor/lang/pt.js +0 -5
  211. data/vendor/assets/javascripts/ckeditor/lang/ro.js +0 -5
  212. data/vendor/assets/javascripts/ckeditor/lang/sk.js +0 -5
  213. data/vendor/assets/javascripts/ckeditor/lang/sl.js +0 -5
  214. data/vendor/assets/javascripts/ckeditor/lang/sr-latn.js +0 -5
  215. data/vendor/assets/javascripts/ckeditor/lang/sr.js +0 -5
  216. data/vendor/assets/javascripts/ckeditor/lang/sv.js +0 -5
  217. data/vendor/assets/javascripts/ckeditor/lang/th.js +0 -5
  218. data/vendor/assets/javascripts/ckeditor/lang/tr.js +0 -5
  219. data/vendor/assets/javascripts/ckeditor/lang/ug.js +0 -5
  220. data/vendor/assets/javascripts/ckeditor/lang/uk.js +0 -5
  221. data/vendor/assets/javascripts/ckeditor/lang/vi.js +0 -5
  222. data/vendor/assets/javascripts/ckeditor/lang/zh-cn.js +0 -5
  223. data/vendor/assets/javascripts/ckeditor/lang/zh.js +0 -5
  224. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/CKCss.xml +0 -26
  225. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/ckcss1.png +0 -0
  226. data/vendor/assets/javascripts/ckeditor/plugins/MediaEmbed/icons/mediaembed.png +0 -0
  227. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -6
  228. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  229. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.eot +0 -0
  230. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.otf +0 -0
  231. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.svg +0 -242
  232. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.ttf +0 -0
  233. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.woff +0 -0
  234. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/colorize.js +0 -29
  235. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/continuecomment.js +0 -36
  236. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/dialog.css +0 -32
  237. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/javascript-hint.js +0 -137
  238. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/loadmode.js +0 -51
  239. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/match-highlighter.js +0 -46
  240. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/multiplex.js +0 -95
  241. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/overlay.js +0 -59
  242. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/pig-hint.js +0 -117
  243. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/runmode-standalone.js +0 -90
  244. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/runmode.js +0 -52
  245. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/simple-hint.css +0 -16
  246. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/simple-hint.js +0 -102
  247. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/xml-hint.js +0 -131
  248. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -13
  249. data/vendor/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -9
  250. data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -24
  251. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -8
  252. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -8
  253. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -8
  254. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -8
  255. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -8
  256. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -20
  257. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -8
  258. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -10
  259. data/vendor/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  260. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/install.html +0 -93
  261. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/styles.css +0 -59
  262. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/icon1.png +0 -0
  263. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/icon2.png +0 -0
  264. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/icon3.png +0 -0
  265. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/plugin.js +0 -71
  266. data/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +0 -10
  267. data/vendor/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  268. data/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -10
  269. data/vendor/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  270. data/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +0 -10
  271. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  272. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  273. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  274. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  275. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  276. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  277. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  278. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  279. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  280. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  281. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  282. data/vendor/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -10
  283. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  284. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  285. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  286. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  287. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  288. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  289. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  290. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  291. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  292. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  293. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  294. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  295. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  296. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  297. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  298. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  299. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  300. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  301. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  302. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  303. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  304. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  305. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  306. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +0 -84
  307. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -10
  308. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +0 -6
  309. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  310. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  311. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  312. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +0 -9
  313. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +0 -9
  314. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +0 -95
  315. data/vendor/assets/javascripts/ckeditor/samples/ajax.html +0 -82
  316. data/vendor/assets/javascripts/ckeditor/samples/api.html +0 -207
  317. data/vendor/assets/javascripts/ckeditor/samples/appendto.html +0 -57
  318. data/vendor/assets/javascripts/ckeditor/samples/assets/inlineall/logo.png +0 -0
  319. data/vendor/assets/javascripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css +0 -204
  320. data/vendor/assets/javascripts/ckeditor/samples/assets/posteddata.php +0 -59
  321. data/vendor/assets/javascripts/ckeditor/samples/assets/sample.css +0 -3
  322. data/vendor/assets/javascripts/ckeditor/samples/assets/sample.jpg +0 -0
  323. data/vendor/assets/javascripts/ckeditor/samples/assets/uilanguages/languages.js +0 -7
  324. data/vendor/assets/javascripts/ckeditor/samples/divreplace.html +0 -141
  325. data/vendor/assets/javascripts/ckeditor/samples/index.html +0 -119
  326. data/vendor/assets/javascripts/ckeditor/samples/inlineall.html +0 -311
  327. data/vendor/assets/javascripts/ckeditor/samples/inlinebycode.html +0 -122
  328. data/vendor/assets/javascripts/ckeditor/samples/plugins/dialog/assets/my_dialog.js +0 -48
  329. data/vendor/assets/javascripts/ckeditor/samples/plugins/dialog/dialog.html +0 -187
  330. data/vendor/assets/javascripts/ckeditor/samples/plugins/enterkey/enterkey.html +0 -103
  331. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  332. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  333. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +0 -18
  334. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputforflash.html +0 -280
  335. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputhtml.html +0 -237
  336. data/vendor/assets/javascripts/ckeditor/samples/plugins/magicline/magicline.html +0 -203
  337. data/vendor/assets/javascripts/ckeditor/samples/plugins/toolbar/toolbar.html +0 -200
  338. data/vendor/assets/javascripts/ckeditor/samples/plugins/wysiwygarea/fullpage.html +0 -71
  339. data/vendor/assets/javascripts/ckeditor/samples/readonly.html +0 -73
  340. data/vendor/assets/javascripts/ckeditor/samples/replacebyclass.html +0 -57
  341. data/vendor/assets/javascripts/ckeditor/samples/replacebycode.html +0 -56
  342. data/vendor/assets/javascripts/ckeditor/samples/sample.css +0 -333
  343. data/vendor/assets/javascripts/ckeditor/samples/sample.js +0 -5
  344. data/vendor/assets/javascripts/ckeditor/samples/sample_posteddata.php +0 -16
  345. data/vendor/assets/javascripts/ckeditor/samples/tabindex.html +0 -75
  346. data/vendor/assets/javascripts/ckeditor/samples/uicolor.html +0 -69
  347. data/vendor/assets/javascripts/ckeditor/samples/uilanguages.html +0 -119
  348. data/vendor/assets/javascripts/ckeditor/samples/xhtmlstyle.html +0 -219
@@ -0,0 +1,29 @@
1
+ (function() {
2
+ var DEFAULT_BRACKETS = "()[]{}''\"\"";
3
+
4
+ CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) {
5
+ var wasOn = old && old != CodeMirror.Init;
6
+ if (val && !wasOn)
7
+ cm.addKeyMap(buildKeymap(typeof val == "string" ? val : DEFAULT_BRACKETS));
8
+ else if (!val && wasOn)
9
+ cm.removeKeyMap("autoCloseBrackets");
10
+ });
11
+
12
+ function buildKeymap(pairs) {
13
+ var map = {name : "autoCloseBrackets"};
14
+ for (var i = 0; i < pairs.length; i += 2) (function(left, right) {
15
+ function maybeOverwrite(cm) {
16
+ var cur = cm.getCursor(), ahead = cm.getRange(cur, CodeMirror.Pos(cur.line, cur.ch + 1));
17
+ if (ahead != right) return CodeMirror.Pass;
18
+ else cm.execCommand("goCharRight");
19
+ }
20
+ map["'" + left + "'"] = function(cm) {
21
+ if (left == right && maybeOverwrite(cm) != CodeMirror.Pass) return;
22
+ var cur = cm.getCursor("start"), ahead = CodeMirror.Pos(cur.line, cur.ch + 1);
23
+ cm.replaceSelection(left + right, {head: ahead, anchor: ahead});
24
+ };
25
+ if (left != right) map["'" + right + "'"] = maybeOverwrite;
26
+ })(pairs.charAt(i), pairs.charAt(i + 1));
27
+ return map;
28
+ }
29
+ })();
@@ -1,85 +1,86 @@
1
- /**
2
- * Tag-closer extension for CodeMirror.
3
- *
4
- * This extension adds an "autoCloseTags" option that can be set to
5
- * either true to get the default behavior, or an object to further
6
- * configure its behavior.
7
- *
8
- * These are supported options:
9
- *
10
- * `whenClosing` (default true)
11
- * Whether to autoclose when the '/' of a closing tag is typed.
12
- * `whenOpening` (default true)
13
- * Whether to autoclose the tag when the final '>' of an opening
14
- * tag is typed.
15
- * `dontCloseTags` (default is empty tags for HTML, none for XML)
16
- * An array of tag names that should not be autoclosed.
17
- * `indentTags` (default is block tags for HTML, none for XML)
18
- * An array of tag names that should, when opened, cause a
19
- * blank line to be added inside the tag, and the blank line and
20
- * closing line to be indented.
21
- *
22
- * See demos/closetag.html for a usage example.
23
- */
24
-
25
- (function() {
26
- CodeMirror.defineOption("autoCloseTags", false, function(cm, val, old) {
27
- if (val && (old == CodeMirror.Init || !old)) {
28
- var map = {name: "autoCloseTags"};
29
- if (typeof val != "object" || val.whenClosing)
30
- map["'/'"] = function(cm) { autoCloseTag(cm, '/'); };
31
- if (typeof val != "object" || val.whenOpening)
32
- map["'>'"] = function(cm) { autoCloseTag(cm, '>'); };
33
- cm.addKeyMap(map);
34
- } else if (!val && (old != CodeMirror.Init && old)) {
35
- cm.removeKeyMap("autoCloseTags");
36
- }
37
- });
38
-
39
- var htmlDontClose = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param",
40
- "source", "track", "wbr"];
41
- var htmlIndent = ["applet", "blockquote", "body", "button", "div", "dl", "fieldset", "form", "frameset", "h1", "h2", "h3", "h4",
42
- "h5", "h6", "head", "html", "iframe", "layer", "legend", "object", "ol", "p", "select", "table", "ul"];
43
-
44
- function autoCloseTag(cm, ch) {
45
- var pos = cm.getCursor(), tok = cm.getTokenAt(pos);
46
- var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;
47
- if (inner.mode.name != "xml") throw CodeMirror.Pass;
48
-
49
- var opt = cm.getOption("autoCloseTags"), html = inner.mode.configuration == "html";
50
- var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose);
51
- var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent);
52
-
53
- if (ch == ">" && state.tagName) {
54
- var tagName = state.tagName;
55
- if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch);
56
- var lowerTagName = tagName.toLowerCase();
57
- // Don't process the '>' at the end of an end-tag or self-closing tag
58
- if (tok.type == "tag" && state.type == "closeTag" ||
59
- /\/\s*$/.test(tok.string) ||
60
- dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1)
61
- throw CodeMirror.Pass;
62
-
63
- var doIndent = indentTags && indexOf(indentTags, lowerTagName) > -1;
64
- cm.replaceSelection(">" + (doIndent ? "\n\n" : "") + "</" + tagName + ">",
65
- doIndent ? {line: pos.line + 1, ch: 0} : {line: pos.line, ch: pos.ch + 1});
66
- if (doIndent) {
67
- cm.indentLine(pos.line + 1);
68
- cm.indentLine(pos.line + 2);
69
- }
70
- return;
71
- } else if (ch == "/" && tok.type == "tag" && tok.string == "<") {
72
- var tagName = state.context && state.context.tagName;
73
- if (tagName) cm.replaceSelection("/" + tagName + ">", "end");
74
- return;
75
- }
76
- throw CodeMirror.Pass;
77
- }
78
-
79
- function indexOf(collection, elt) {
80
- if (collection.indexOf) return collection.indexOf(elt);
81
- for (var i = 0, e = collection.length; i < e; ++i)
82
- if (collection[i] == elt) return i;
83
- return -1;
84
- }
85
- })();
1
+ /**
2
+ * Tag-closer extension for CodeMirror.
3
+ *
4
+ * This extension adds an "autoCloseTags" option that can be set to
5
+ * either true to get the default behavior, or an object to further
6
+ * configure its behavior.
7
+ *
8
+ * These are supported options:
9
+ *
10
+ * `whenClosing` (default true)
11
+ * Whether to autoclose when the '/' of a closing tag is typed.
12
+ * `whenOpening` (default true)
13
+ * Whether to autoclose the tag when the final '>' of an opening
14
+ * tag is typed.
15
+ * `dontCloseTags` (default is empty tags for HTML, none for XML)
16
+ * An array of tag names that should not be autoclosed.
17
+ * `indentTags` (default is block tags for HTML, none for XML)
18
+ * An array of tag names that should, when opened, cause a
19
+ * blank line to be added inside the tag, and the blank line and
20
+ * closing line to be indented.
21
+ *
22
+ * See demos/closetag.html for a usage example.
23
+ */
24
+
25
+ (function() {
26
+ CodeMirror.defineOption("autoCloseTags", false, function(cm, val, old) {
27
+ if (val && (old == CodeMirror.Init || !old)) {
28
+ var map = {name: "autoCloseTags"};
29
+ if (typeof val != "object" || val.whenClosing)
30
+ map["'/'"] = function(cm) { return autoCloseTag(cm, '/'); };
31
+ if (typeof val != "object" || val.whenOpening)
32
+ map["'>'"] = function(cm) { return autoCloseTag(cm, '>'); };
33
+ cm.addKeyMap(map);
34
+ } else if (!val && (old != CodeMirror.Init && old)) {
35
+ cm.removeKeyMap("autoCloseTags");
36
+ }
37
+ });
38
+
39
+ var htmlDontClose = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param",
40
+ "source", "track", "wbr"];
41
+ var htmlIndent = ["applet", "blockquote", "body", "button", "div", "dl", "fieldset", "form", "frameset", "h1", "h2", "h3", "h4",
42
+ "h5", "h6", "head", "html", "iframe", "layer", "legend", "object", "ol", "p", "select", "table", "ul"];
43
+
44
+ function autoCloseTag(cm, ch) {
45
+ var pos = cm.getCursor(), tok = cm.getTokenAt(pos);
46
+ var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;
47
+ if (inner.mode.name != "xml") return CodeMirror.Pass;
48
+
49
+ var opt = cm.getOption("autoCloseTags"), html = inner.mode.configuration == "html";
50
+ var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose);
51
+ var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent);
52
+
53
+ if (ch == ">" && state.tagName) {
54
+ var tagName = state.tagName;
55
+ if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch);
56
+ var lowerTagName = tagName.toLowerCase();
57
+ // Don't process the '>' at the end of an end-tag or self-closing tag
58
+ if (tok.type == "tag" && state.type == "closeTag" ||
59
+ /\/\s*$/.test(tok.string) ||
60
+ dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1)
61
+ return CodeMirror.Pass;
62
+
63
+ var doIndent = indentTags && indexOf(indentTags, lowerTagName) > -1;
64
+ var curPos = doIndent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1);
65
+ cm.replaceSelection(">" + (doIndent ? "\n\n" : "") + "</" + tagName + ">",
66
+ {head: curPos, anchor: curPos});
67
+ if (doIndent) {
68
+ cm.indentLine(pos.line + 1);
69
+ cm.indentLine(pos.line + 2);
70
+ }
71
+ return;
72
+ } else if (ch == "/" && tok.string == "<") {
73
+ var tagName = state.context && state.context.tagName;
74
+ if (tagName) cm.replaceSelection("/" + tagName + ">", "end");
75
+ return;
76
+ }
77
+ return CodeMirror.Pass;
78
+ }
79
+
80
+ function indexOf(collection, elt) {
81
+ if (collection.indexOf) return collection.indexOf(elt);
82
+ for (var i = 0, e = collection.length; i < e; ++i)
83
+ if (collection[i] == elt) return i;
84
+ return -1;
85
+ }
86
+ })();
@@ -1,28 +1,28 @@
1
- (function() {
2
- CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {
3
- var pos = cm.getCursor(), token = cm.getTokenAt(pos);
4
- var space;
5
- if (token.className == "string") {
6
- var full = cm.getRange({line: pos.line, ch: 0}, {line: pos.line, ch: token.end});
7
- var listStart = /\*|\d+\./, listContinue;
8
- if (token.string.search(listStart) == 0) {
9
- var reg = /^[\W]*(\d+)\./g;
10
- var matches = reg.exec(full);
11
- if(matches)
12
- listContinue = (parseInt(matches[1]) + 1) + ". ";
13
- else
14
- listContinue = "* ";
15
- space = full.slice(0, token.start);
16
- if (!/^\s*$/.test(space)) {
17
- space = "";
18
- for (var i = 0; i < token.start; ++i) space += " ";
19
- }
20
- }
21
- }
22
-
23
- if (space != null)
24
- cm.replaceSelection("\n" + space + listContinue, "end");
25
- else
26
- cm.execCommand("newlineAndIndent");
27
- };
28
- })();
1
+ (function() {
2
+ CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {
3
+ var pos = cm.getCursor(), token = cm.getTokenAt(pos);
4
+ var space;
5
+ if (token.className == "string") {
6
+ var full = cm.getRange({line: pos.line, ch: 0}, {line: pos.line, ch: token.end});
7
+ var listStart = /\*|\d+\./, listContinue;
8
+ if (token.string.search(listStart) == 0) {
9
+ var reg = /^[\W]*(\d+)\./g;
10
+ var matches = reg.exec(full);
11
+ if(matches)
12
+ listContinue = (parseInt(matches[1]) + 1) + ". ";
13
+ else
14
+ listContinue = "* ";
15
+ space = full.slice(0, token.start);
16
+ if (!/^\s*$/.test(space)) {
17
+ space = "";
18
+ for (var i = 0; i < token.start; ++i) space += " ";
19
+ }
20
+ }
21
+ }
22
+
23
+ if (space != null)
24
+ cm.replaceSelection("\n" + space + listContinue, "end");
25
+ else
26
+ cm.execCommand("newlineAndIndent");
27
+ };
28
+ })();
@@ -1,63 +1,74 @@
1
- (function() {
2
- var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"};
3
- function findMatchingBracket(cm) {
4
- var cur = cm.getCursor(), line = cm.getLineHandle(cur.line), pos = cur.ch - 1;
5
- var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)];
6
- if (!match) return null;
7
- var forward = match.charAt(1) == ">", d = forward ? 1 : -1;
8
- var style = cm.getTokenAt({line: cur.line, ch: pos + 1}).type;
9
-
10
- var stack = [line.text.charAt(pos)], re = /[(){}[\]]/;
11
- function scan(line, lineNo, start) {
12
- if (!line.text) return;
13
- var pos = forward ? 0 : line.text.length - 1, end = forward ? line.text.length : -1;
14
- if (start != null) pos = start + d;
15
- for (; pos != end; pos += d) {
16
- var ch = line.text.charAt(pos);
17
- if (re.test(ch) && cm.getTokenAt({line: lineNo, ch: pos + 1}).type == style) {
18
- var match = matching[ch];
19
- if (match.charAt(1) == ">" == forward) stack.push(ch);
20
- else if (stack.pop() != match.charAt(0)) return {pos: pos, match: false};
21
- else if (!stack.length) return {pos: pos, match: true};
22
- }
23
- }
24
- }
25
- for (var i = cur.line, found, e = forward ? Math.min(i + 100, cm.lineCount()) : Math.max(-1, i - 100); i != e; i+=d) {
26
- if (i == cur.line) found = scan(line, i, pos);
27
- else found = scan(cm.getLineHandle(i), i);
28
- if (found) break;
29
- }
30
- return {from: {line: cur.line, ch: pos}, to: found && {line: i, ch: found.pos}, match: found && found.match};
31
- }
32
-
33
- function matchBrackets(cm, autoclear) {
34
- var found = findMatchingBracket(cm);
35
- if (!found) return;
36
- var style = found.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket";
37
- var one = cm.markText(found.from, {line: found.from.line, ch: found.from.ch + 1},
38
- {className: style});
39
- var two = found.to && cm.markText(found.to, {line: found.to.line, ch: found.to.ch + 1},
40
- {className: style});
41
- var clear = function() {
42
- cm.operation(function() { one.clear(); two && two.clear(); });
43
- };
44
- if (autoclear) setTimeout(clear, 800);
45
- else return clear;
46
- }
47
-
48
- var currentlyHighlighted = null;
49
- function doMatchBrackets(cm) {
50
- cm.operation(function() {
51
- if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;}
52
- if (!cm.somethingSelected()) currentlyHighlighted = matchBrackets(cm, false);
53
- });
54
- }
55
-
56
- CodeMirror.defineOption("matchBrackets", false, function(cm, val) {
57
- if (val) cm.on("cursorActivity", doMatchBrackets);
58
- else cm.off("cursorActivity", doMatchBrackets);
59
- });
60
-
61
- CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);});
62
- CodeMirror.defineExtension("findMatchingBracket", function(){return findMatchingBracket(this);});
63
- })();
1
+ (function() {
2
+ var ie_lt8 = /MSIE \d/.test(navigator.userAgent) &&
3
+ (document.documentMode == null || document.documentMode < 8);
4
+
5
+ var Pos = CodeMirror.Pos;
6
+ // Disable brace matching in long lines, since it'll cause hugely slow updates
7
+ var maxLineLen = 1000;
8
+
9
+ var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"};
10
+ function findMatchingBracket(cm) {
11
+ var cur = cm.getCursor(), line = cm.getLineHandle(cur.line), pos = cur.ch - 1;
12
+ var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)];
13
+ if (!match) return null;
14
+ var forward = match.charAt(1) == ">", d = forward ? 1 : -1;
15
+ var style = cm.getTokenAt(Pos(cur.line, pos + 1)).type;
16
+
17
+ var stack = [line.text.charAt(pos)], re = /[(){}[\]]/;
18
+ function scan(line, lineNo, start) {
19
+ if (!line.text) return;
20
+ var pos = forward ? 0 : line.text.length - 1, end = forward ? line.text.length : -1;
21
+ if (start != null) pos = start + d;
22
+ for (; pos != end; pos += d) {
23
+ var ch = line.text.charAt(pos);
24
+ if (re.test(ch) && cm.getTokenAt(Pos(lineNo, pos + 1)).type == style) {
25
+ var match = matching[ch];
26
+ if (match.charAt(1) == ">" == forward) stack.push(ch);
27
+ else if (stack.pop() != match.charAt(0)) return {pos: pos, match: false};
28
+ else if (!stack.length) return {pos: pos, match: true};
29
+ }
30
+ }
31
+ }
32
+ for (var i = cur.line, found, e = forward ? Math.min(i + 100, cm.lineCount()) : Math.max(-1, i - 100); i != e; i+=d) {
33
+ if (i == cur.line) found = scan(line, i, pos);
34
+ else found = scan(cm.getLineHandle(i), i);
35
+ if (found) break;
36
+ }
37
+ return {from: Pos(cur.line, pos), to: found && Pos(i, found.pos), match: found && found.match};
38
+ }
39
+
40
+ function matchBrackets(cm, autoclear) {
41
+ var found = findMatchingBracket(cm);
42
+ if (!found || cm.getLine(found.from.line).length > maxLineLen ||
43
+ found.to && cm.getLine(found.to.line).length > maxLineLen)
44
+ return;
45
+
46
+ var style = found.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket";
47
+ var one = cm.markText(found.from, Pos(found.from.line, found.from.ch + 1), {className: style});
48
+ var two = found.to && cm.markText(found.to, Pos(found.to.line, found.to.ch + 1), {className: style});
49
+ // Kludge to work around the IE bug from issue #1193, where text
50
+ // input stops going to the textare whever this fires.
51
+ if (ie_lt8 && cm.state.focused) cm.display.input.focus();
52
+ var clear = function() {
53
+ cm.operation(function() { one.clear(); two && two.clear(); });
54
+ };
55
+ if (autoclear) setTimeout(clear, 800);
56
+ else return clear;
57
+ }
58
+
59
+ var currentlyHighlighted = null;
60
+ function doMatchBrackets(cm) {
61
+ cm.operation(function() {
62
+ if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;}
63
+ if (!cm.somethingSelected()) currentlyHighlighted = matchBrackets(cm, false);
64
+ });
65
+ }
66
+
67
+ CodeMirror.defineOption("matchBrackets", false, function(cm, val) {
68
+ if (val) cm.on("cursorActivity", doMatchBrackets);
69
+ else cm.off("cursorActivity", doMatchBrackets);
70
+ });
71
+
72
+ CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);});
73
+ CodeMirror.defineExtension("findMatchingBracket", function(){return findMatchingBracket(this);});
74
+ })();
@@ -1,182 +1,183 @@
1
- // the tagRangeFinder function is
2
- // Copyright (C) 2011 by Daniel Glazman <daniel@glazman.org>
3
- // released under the MIT license (../../LICENSE) like the rest of CodeMirror
4
- CodeMirror.tagRangeFinder = function(cm, start) {
5
- var nameStartChar = "A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
6
- var nameChar = nameStartChar + "\-\:\.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
7
- var xmlNAMERegExp = new RegExp("^[" + nameStartChar + "][" + nameChar + "]*");
8
-
9
- var lineText = cm.getLine(start.line);
10
- var found = false;
11
- var tag = null;
12
- var pos = start.ch;
13
- while (!found) {
14
- pos = lineText.indexOf("<", pos);
15
- if (-1 == pos) // no tag on line
16
- return;
17
- if (pos + 1 < lineText.length && lineText[pos + 1] == "/") { // closing tag
18
- pos++;
19
- continue;
20
- }
21
- // ok we seem to have a start tag
22
- if (!lineText.substr(pos + 1).match(xmlNAMERegExp)) { // not a tag name...
23
- pos++;
24
- continue;
25
- }
26
- var gtPos = lineText.indexOf(">", pos + 1);
27
- if (-1 == gtPos) { // end of start tag not in line
28
- var l = start.line + 1;
29
- var foundGt = false;
30
- var lastLine = cm.lineCount();
31
- while (l < lastLine && !foundGt) {
32
- var lt = cm.getLine(l);
33
- gtPos = lt.indexOf(">");
34
- if (-1 != gtPos) { // found a >
35
- foundGt = true;
36
- var slash = lt.lastIndexOf("/", gtPos);
37
- if (-1 != slash && slash < gtPos) {
38
- var str = lineText.substr(slash, gtPos - slash + 1);
39
- if (!str.match( /\/\s*\>/ )) // yep, that's the end of empty tag
40
- return;
41
- }
42
- }
43
- l++;
44
- }
45
- found = true;
46
- }
47
- else {
48
- var slashPos = lineText.lastIndexOf("/", gtPos);
49
- if (-1 == slashPos) { // cannot be empty tag
50
- found = true;
51
- // don't continue
52
- }
53
- else { // empty tag?
54
- // check if really empty tag
55
- var str = lineText.substr(slashPos, gtPos - slashPos + 1);
56
- if (!str.match( /\/\s*\>/ )) { // finally not empty
57
- found = true;
58
- // don't continue
59
- }
60
- }
61
- }
62
- if (found) {
63
- var subLine = lineText.substr(pos + 1);
64
- tag = subLine.match(xmlNAMERegExp);
65
- if (tag) {
66
- // we have an element name, wooohooo !
67
- tag = tag[0];
68
- // do we have the close tag on same line ???
69
- if (-1 != lineText.indexOf("</" + tag + ">", pos)) // yep
70
- {
71
- found = false;
72
- }
73
- // we don't, so we have a candidate...
74
- }
75
- else
76
- found = false;
77
- }
78
- if (!found)
79
- pos++;
80
- }
81
-
82
- if (found) {
83
- var startTag = "(\\<\\/" + tag + "\\>)|(\\<" + tag + "\\>)|(\\<" + tag + "\\s)|(\\<" + tag + "$)";
84
- var startTagRegExp = new RegExp(startTag);
85
- var endTag = "</" + tag + ">";
86
- var depth = 1;
87
- var l = start.line + 1;
88
- var lastLine = cm.lineCount();
89
- while (l < lastLine) {
90
- lineText = cm.getLine(l);
91
- var match = lineText.match(startTagRegExp);
92
- if (match) {
93
- for (var i = 0; i < match.length; i++) {
94
- if (match[i] == endTag)
95
- depth--;
96
- else
97
- depth++;
98
- if (!depth) return {from: {line: start.line, ch: gtPos + 1},
99
- to: {line: l, ch: match.index}};
100
- }
101
- }
102
- l++;
103
- }
104
- return;
105
- }
106
- };
107
-
108
- CodeMirror.braceRangeFinder = function(cm, start) {
109
- var line = start.line, lineText = cm.getLine(line);
110
- var at = lineText.length, startChar, tokenType;
111
- for (;;) {
112
- var found = lineText.lastIndexOf("{", at);
113
- if (found < start.ch) break;
114
- tokenType = cm.getTokenAt({line: line, ch: found}).type;
115
- if (!/^(comment|string)/.test(tokenType)) { startChar = found; break; }
116
- at = found - 1;
117
- }
118
- if (startChar == null || lineText.lastIndexOf("}") > startChar) return;
119
- var count = 1, lastLine = cm.lineCount(), end, endCh;
120
- outer: for (var i = line + 1; i < lastLine; ++i) {
121
- var text = cm.getLine(i), pos = 0;
122
- for (;;) {
123
- var nextOpen = text.indexOf("{", pos), nextClose = text.indexOf("}", pos);
124
- if (nextOpen < 0) nextOpen = text.length;
125
- if (nextClose < 0) nextClose = text.length;
126
- pos = Math.min(nextOpen, nextClose);
127
- if (pos == text.length) break;
128
- if (cm.getTokenAt({line: i, ch: pos + 1}).type == tokenType) {
129
- if (pos == nextOpen) ++count;
130
- else if (!--count) { end = i; endCh = pos; break outer; }
131
- }
132
- ++pos;
133
- }
134
- }
135
- if (end == null || end == line + 1) return;
136
- return {from: {line: line, ch: startChar + 1},
137
- to: {line: end, ch: endCh}};
138
- };
139
-
140
- CodeMirror.indentRangeFinder = function(cm, start) {
141
- var tabSize = cm.getOption("tabSize"), firstLine = cm.getLine(start.line);
142
- var myIndent = CodeMirror.countColumn(firstLine, null, tabSize);
143
- for (var i = start.line + 1, end = cm.lineCount(); i < end; ++i) {
144
- var curLine = cm.getLine(i);
145
- if (CodeMirror.countColumn(curLine, null, tabSize) < myIndent)
146
- return {from: {line: start.line, ch: firstLine.length},
147
- to: {line: i, ch: curLine.length}};
148
- }
149
- };
150
-
151
- CodeMirror.newFoldFunction = function(rangeFinder, widget) {
152
- if (widget == null) widget = "\u2194";
153
- if (typeof widget == "string") {
154
- var text = document.createTextNode(widget);
155
- widget = document.createElement("span");
156
- widget.appendChild(text);
157
- widget.className = "CodeMirror-foldmarker";
158
- }
159
-
160
- return function(cm, pos) {
161
- if (typeof pos == "number") pos = {line: pos, ch: 0};
162
- var range = rangeFinder(cm, pos);
163
- if (!range) return;
164
-
165
- var present = cm.findMarksAt(range.from), cleared = 0;
166
- for (var i = 0; i < present.length; ++i) {
167
- if (present[i].__isFold) {
168
- ++cleared;
169
- present[i].clear();
170
- }
171
- }
172
- if (cleared) return;
173
-
174
- var myWidget = widget.cloneNode(true);
175
- CodeMirror.on(myWidget, "mousedown", function() {myRange.clear();});
176
- var myRange = cm.markText(range.from, range.to, {
177
- replacedWith: myWidget,
178
- clearOnEnter: true,
179
- __isFold: true
180
- });
181
- };
182
- };
1
+ // the tagRangeFinder function is
2
+ // Copyright (C) 2011 by Daniel Glazman <daniel@glazman.org>
3
+ // released under the MIT license (../../LICENSE) like the rest of CodeMirror
4
+ CodeMirror.tagRangeFinder = function(cm, start) {
5
+ var nameStartChar = "A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
6
+ var nameChar = nameStartChar + "\-\:\.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
7
+ var xmlNAMERegExp = new RegExp("^[" + nameStartChar + "][" + nameChar + "]*");
8
+
9
+ var lineText = cm.getLine(start.line);
10
+ var found = false;
11
+ var tag = null;
12
+ var pos = start.ch;
13
+ while (!found) {
14
+ pos = lineText.indexOf("<", pos);
15
+ if (-1 == pos) // no tag on line
16
+ return;
17
+ if (pos + 1 < lineText.length && lineText[pos + 1] == "/") { // closing tag
18
+ pos++;
19
+ continue;
20
+ }
21
+ // ok we seem to have a start tag
22
+ if (!lineText.substr(pos + 1).match(xmlNAMERegExp)) { // not a tag name...
23
+ pos++;
24
+ continue;
25
+ }
26
+ var gtPos = lineText.indexOf(">", pos + 1);
27
+ if (-1 == gtPos) { // end of start tag not in line
28
+ var l = start.line + 1;
29
+ var foundGt = false;
30
+ var lastLine = cm.lineCount();
31
+ while (l < lastLine && !foundGt) {
32
+ var lt = cm.getLine(l);
33
+ gtPos = lt.indexOf(">");
34
+ if (-1 != gtPos) { // found a >
35
+ foundGt = true;
36
+ var slash = lt.lastIndexOf("/", gtPos);
37
+ if (-1 != slash && slash < gtPos) {
38
+ var str = lineText.substr(slash, gtPos - slash + 1);
39
+ if (!str.match( /\/\s*\>/ )) // yep, that's the end of empty tag
40
+ return;
41
+ }
42
+ }
43
+ l++;
44
+ }
45
+ found = true;
46
+ }
47
+ else {
48
+ var slashPos = lineText.lastIndexOf("/", gtPos);
49
+ if (-1 == slashPos) { // cannot be empty tag
50
+ found = true;
51
+ // don't continue
52
+ }
53
+ else { // empty tag?
54
+ // check if really empty tag
55
+ var str = lineText.substr(slashPos, gtPos - slashPos + 1);
56
+ if (!str.match( /\/\s*\>/ )) { // finally not empty
57
+ found = true;
58
+ // don't continue
59
+ }
60
+ }
61
+ }
62
+ if (found) {
63
+ var subLine = lineText.substr(pos + 1);
64
+ tag = subLine.match(xmlNAMERegExp);
65
+ if (tag) {
66
+ // we have an element name, wooohooo !
67
+ tag = tag[0];
68
+ // do we have the close tag on same line ???
69
+ if (-1 != lineText.indexOf("</" + tag + ">", pos)) // yep
70
+ {
71
+ found = false;
72
+ }
73
+ // we don't, so we have a candidate...
74
+ }
75
+ else
76
+ found = false;
77
+ }
78
+ if (!found)
79
+ pos++;
80
+ }
81
+
82
+ if (found) {
83
+ var startTag = "(\\<\\/" + tag + "\\>)|(\\<" + tag + "\\>)|(\\<" + tag + "\\s)|(\\<" + tag + "$)";
84
+ var startTagRegExp = new RegExp(startTag);
85
+ var endTag = "</" + tag + ">";
86
+ var depth = 1;
87
+ var l = start.line + 1;
88
+ var lastLine = cm.lineCount();
89
+ while (l < lastLine) {
90
+ lineText = cm.getLine(l);
91
+ var match = lineText.match(startTagRegExp);
92
+ if (match) {
93
+ for (var i = 0; i < match.length; i++) {
94
+ if (match[i] == endTag)
95
+ depth--;
96
+ else
97
+ depth++;
98
+ if (!depth) return {from: CodeMirror.Pos(start.line, gtPos + 1),
99
+ to: CodeMirror.Pos(l, match.index)};
100
+ }
101
+ }
102
+ l++;
103
+ }
104
+ return;
105
+ }
106
+ };
107
+
108
+ CodeMirror.braceRangeFinder = function(cm, start) {
109
+ var line = start.line, lineText = cm.getLine(line);
110
+ var at = lineText.length, startChar, tokenType;
111
+ for (;;) {
112
+ var found = lineText.lastIndexOf("{", at);
113
+ if (found < start.ch) break;
114
+ tokenType = cm.getTokenAt(CodeMirror.Pos(line, found + 1)).type;
115
+ if (!/^(comment|string)/.test(tokenType)) { startChar = found; break; }
116
+ at = found - 1;
117
+ }
118
+ if (startChar == null || lineText.lastIndexOf("}") > startChar) return;
119
+ var count = 1, lastLine = cm.lineCount(), end, endCh;
120
+ outer: for (var i = line + 1; i < lastLine; ++i) {
121
+ var text = cm.getLine(i), pos = 0;
122
+ for (;;) {
123
+ var nextOpen = text.indexOf("{", pos), nextClose = text.indexOf("}", pos);
124
+ if (nextOpen < 0) nextOpen = text.length;
125
+ if (nextClose < 0) nextClose = text.length;
126
+ pos = Math.min(nextOpen, nextClose);
127
+ if (pos == text.length) break;
128
+ if (cm.getTokenAt(CodeMirror.Pos(i, pos + 1)).type == tokenType) {
129
+ if (pos == nextOpen) ++count;
130
+ else if (!--count) { end = i; endCh = pos; break outer; }
131
+ }
132
+ ++pos;
133
+ }
134
+ }
135
+ if (end == null || end == line + 1) return;
136
+ return {from: CodeMirror.Pos(line, startChar + 1),
137
+ to: CodeMirror.Pos(end, endCh)};
138
+ };
139
+
140
+ CodeMirror.indentRangeFinder = function(cm, start) {
141
+ var tabSize = cm.getOption("tabSize"), firstLine = cm.getLine(start.line);
142
+ var myIndent = CodeMirror.countColumn(firstLine, null, tabSize);
143
+ for (var i = start.line + 1, end = cm.lineCount(); i < end; ++i) {
144
+ var curLine = cm.getLine(i);
145
+ if (CodeMirror.countColumn(curLine, null, tabSize) < myIndent &&
146
+ CodeMirror.countColumn(cm.getLine(i-1), null, tabSize) > myIndent)
147
+ return {from: CodeMirror.Pos(start.line, firstLine.length),
148
+ to: CodeMirror.Pos(i, curLine.length)};
149
+ }
150
+ };
151
+
152
+ CodeMirror.newFoldFunction = function(rangeFinder, widget) {
153
+ if (widget == null) widget = "\u2194";
154
+ if (typeof widget == "string") {
155
+ var text = document.createTextNode(widget);
156
+ widget = document.createElement("span");
157
+ widget.appendChild(text);
158
+ widget.className = "CodeMirror-foldmarker";
159
+ }
160
+
161
+ return function(cm, pos) {
162
+ if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0);
163
+ var range = rangeFinder(cm, pos);
164
+ if (!range) return;
165
+
166
+ var present = cm.findMarksAt(range.from), cleared = 0;
167
+ for (var i = 0; i < present.length; ++i) {
168
+ if (present[i].__isFold) {
169
+ ++cleared;
170
+ present[i].clear();
171
+ }
172
+ }
173
+ if (cleared) return;
174
+
175
+ var myWidget = widget.cloneNode(true);
176
+ CodeMirror.on(myWidget, "mousedown", function() {myRange.clear();});
177
+ var myRange = cm.markText(range.from, range.to, {
178
+ replacedWith: myWidget,
179
+ clearOnEnter: true,
180
+ __isFold: true
181
+ });
182
+ };
183
+ };