glebtv-ckeditor 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (596) hide show
  1. data/Gemfile +4 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +202 -0
  4. data/Rakefile +66 -0
  5. data/app/assets/javascripts/ckeditor/application.js +5 -0
  6. data/app/assets/javascripts/ckeditor/init.js +8 -0
  7. data/app/assets/stylesheets/ckeditor/application.css +6 -0
  8. data/app/controllers/ckeditor/application_controller.rb +32 -0
  9. data/app/controllers/ckeditor/attachment_files_controller.rb +24 -0
  10. data/app/controllers/ckeditor/pictures_controller.rb +24 -0
  11. data/app/views/ckeditor/attachment_files/index.html.erb +15 -0
  12. data/app/views/ckeditor/pictures/index.html.erb +15 -0
  13. data/app/views/ckeditor/shared/_asset.html.erb +20 -0
  14. data/app/views/ckeditor/shared/_asset_tmpl.html.erb +22 -0
  15. data/app/views/layouts/ckeditor/application.html.erb +31 -0
  16. data/app/views/rails_admin/main/_form_ckeditor.html.haml +3 -0
  17. data/config/locales/cs.ckeditor.yml +8 -0
  18. data/config/locales/en.ckeditor.yml +8 -0
  19. data/config/locales/es.ckeditor.yml +8 -0
  20. data/config/locales/fr.ckeditor.yml +8 -0
  21. data/config/locales/it.ckeditor.yml +8 -0
  22. data/config/locales/nl.ckeditor.yml +8 -0
  23. data/config/locales/pl.ckeditor.yml +8 -0
  24. data/config/locales/pt-BR.ckeditor.yml +8 -0
  25. data/config/locales/ru.ckeditor.yml +8 -0
  26. data/config/locales/sv-SE.ckeditor.yml +8 -0
  27. data/config/locales/uk.ckeditor.yml +8 -0
  28. data/config/locales/zh-CN.ckeditor.yml +8 -0
  29. data/config/routes.rb +4 -0
  30. data/lib/ckeditor.rb +81 -0
  31. data/lib/ckeditor/backend/carrierwave.rb +64 -0
  32. data/lib/ckeditor/backend/dragonfly.rb +45 -0
  33. data/lib/ckeditor/backend/paperclip.rb +56 -0
  34. data/lib/ckeditor/engine.rb +37 -0
  35. data/lib/ckeditor/helpers/controllers.rb +30 -0
  36. data/lib/ckeditor/helpers/form_builder.rb +11 -0
  37. data/lib/ckeditor/helpers/form_helper.rb +27 -0
  38. data/lib/ckeditor/helpers/view_helper.rb +22 -0
  39. data/lib/ckeditor/hooks/formtastic.rb +12 -0
  40. data/lib/ckeditor/hooks/simple_form.rb +9 -0
  41. data/lib/ckeditor/http.rb +89 -0
  42. data/lib/ckeditor/orm/active_record.rb +26 -0
  43. data/lib/ckeditor/orm/base.rb +46 -0
  44. data/lib/ckeditor/orm/mongoid.rb +43 -0
  45. data/lib/ckeditor/rails_admin/config/fields/types/ckeditor.rb +29 -0
  46. data/lib/ckeditor/utils.rb +70 -0
  47. data/lib/ckeditor/version.rb +6 -0
  48. data/lib/generators/ckeditor/install_generator.rb +83 -0
  49. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +7 -0
  50. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/attachment_file.rb +7 -0
  51. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/picture.rb +7 -0
  52. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +26 -0
  53. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/asset.rb +7 -0
  54. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/attachment_file.rb +7 -0
  55. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/picture.rb +12 -0
  56. data/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb +27 -0
  57. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/asset.rb +4 -0
  58. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +12 -0
  59. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/picture.rb +13 -0
  60. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +26 -0
  61. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +42 -0
  62. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +53 -0
  63. data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +26 -0
  64. data/lib/generators/ckeditor/templates/ckeditor.rb +18 -0
  65. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +7 -0
  66. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/attachment_file.rb +7 -0
  67. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/picture.rb +7 -0
  68. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/asset.rb +5 -0
  69. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/attachment_file.rb +12 -0
  70. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/picture.rb +13 -0
  71. data/test/ckeditor_test.rb +13 -0
  72. data/test/controllers/attachment_files_controller_test.rb +63 -0
  73. data/test/controllers/pictures_controller_test.rb +64 -0
  74. data/test/dummy/Rakefile +7 -0
  75. data/test/dummy/app/assets/javascripts/application.js +11 -0
  76. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  77. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  78. data/test/dummy/app/controllers/application_controller.rb +4 -0
  79. data/test/dummy/app/controllers/posts_controller.rb +83 -0
  80. data/test/dummy/app/helpers/application_helper.rb +2 -0
  81. data/test/dummy/app/helpers/posts_helper.rb +2 -0
  82. data/test/dummy/app/models/post.rb +17 -0
  83. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  84. data/test/dummy/app/views/posts/_form.html.erb +30 -0
  85. data/test/dummy/app/views/posts/edit.html.erb +6 -0
  86. data/test/dummy/app/views/posts/index.html.erb +27 -0
  87. data/test/dummy/app/views/posts/new.html.erb +5 -0
  88. data/test/dummy/app/views/posts/show.html.erb +5 -0
  89. data/test/dummy/config.ru +4 -0
  90. data/test/dummy/config/application.rb +63 -0
  91. data/test/dummy/config/boot.rb +10 -0
  92. data/test/dummy/config/database.yml +25 -0
  93. data/test/dummy/config/environment.rb +5 -0
  94. data/test/dummy/config/environments/development.rb +37 -0
  95. data/test/dummy/config/environments/production.rb +67 -0
  96. data/test/dummy/config/environments/test.rb +37 -0
  97. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  98. data/test/dummy/config/initializers/ckeditor.rb +10 -0
  99. data/test/dummy/config/initializers/inflections.rb +15 -0
  100. data/test/dummy/config/initializers/mime_types.rb +5 -0
  101. data/test/dummy/config/initializers/secret_token.rb +7 -0
  102. data/test/dummy/config/initializers/session_store.rb +8 -0
  103. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  104. data/test/dummy/config/locales/en.yml +5 -0
  105. data/test/dummy/config/mongoid.yml +2 -0
  106. data/test/dummy/config/routes.rb +6 -0
  107. data/test/dummy/db/migrate/20110623120047_create_posts.rb +14 -0
  108. data/test/dummy/public/404.html +26 -0
  109. data/test/dummy/public/422.html +26 -0
  110. data/test/dummy/public/500.html +26 -0
  111. data/test/dummy/public/favicon.ico +0 -0
  112. data/test/dummy/script/rails +6 -0
  113. data/test/dummy/test/fixtures/files/rails.png +0 -0
  114. data/test/dummy/test/fixtures/files/rails.tar.gz +0 -0
  115. data/test/functional/posts_controller_test.rb +41 -0
  116. data/test/generators/install_generator_test.rb +97 -0
  117. data/test/integration/navigation_test.rb +7 -0
  118. data/test/models/attachment_file_test.rb +22 -0
  119. data/test/models/picture_test.rb +21 -0
  120. data/test/models/utils_test.rb +19 -0
  121. data/test/orm/active_record.rb +1 -0
  122. data/test/orm/mongoid.rb +6 -0
  123. data/test/support/controller_hooks.rb +27 -0
  124. data/test/support/helpers.rb +30 -0
  125. data/test/support/integration_case.rb +5 -0
  126. data/test/support/raw_post.rb +9 -0
  127. data/test/support/routes.txt +4 -0
  128. data/test/test_helper.rb +38 -0
  129. data/vendor/assets/javascripts/ckeditor/CHANGES.md +56 -0
  130. data/vendor/assets/javascripts/ckeditor/LICENSE.md +1264 -0
  131. data/vendor/assets/javascripts/ckeditor/README.md +39 -0
  132. data/vendor/assets/javascripts/ckeditor/build-config.js +161 -0
  133. data/vendor/assets/javascripts/ckeditor/ckeditor.js +873 -0
  134. data/vendor/assets/javascripts/ckeditor/config.js.erb +69 -0
  135. data/vendor/assets/javascripts/ckeditor/contents.css +99 -0
  136. data/vendor/assets/javascripts/ckeditor/filebrowser/images/gal_add.jpg +0 -0
  137. data/vendor/assets/javascripts/ckeditor/filebrowser/images/gal_add.png +0 -0
  138. data/vendor/assets/javascripts/ckeditor/filebrowser/images/gal_del.png +0 -0
  139. data/vendor/assets/javascripts/ckeditor/filebrowser/images/gal_more.gif +0 -0
  140. data/vendor/assets/javascripts/ckeditor/filebrowser/images/preloader.gif +0 -0
  141. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/avi.gif +0 -0
  142. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/ckfnothumb.gif +0 -0
  143. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/doc.gif +0 -0
  144. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/docx.gif +0 -0
  145. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/exe.gif +0 -0
  146. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/gz.gif +0 -0
  147. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/htm.gif +0 -0
  148. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/jpg.gif +0 -0
  149. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/mp3.gif +0 -0
  150. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/mpg.gif +0 -0
  151. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/pdf.gif +0 -0
  152. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/psd.gif +0 -0
  153. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/rar.gif +0 -0
  154. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/swf.gif +0 -0
  155. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/tar.gif +0 -0
  156. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/txt.gif +0 -0
  157. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/unknown.gif +0 -0
  158. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/wmv.gif +0 -0
  159. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/xls.gif +0 -0
  160. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/xlsx.gif +0 -0
  161. data/vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs/zip.gif +0 -0
  162. data/vendor/assets/javascripts/ckeditor/filebrowser/javascripts/application.js +221 -0
  163. data/vendor/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +1301 -0
  164. data/vendor/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.min.js +4 -0
  165. data/vendor/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.tmpl.min.js +10 -0
  166. data/vendor/assets/javascripts/ckeditor/filebrowser/javascripts/rails.js +373 -0
  167. data/vendor/assets/javascripts/ckeditor/filebrowser/stylesheets/uploader.css.sass +102 -0
  168. data/vendor/assets/javascripts/ckeditor/lang/af.js +5 -0
  169. data/vendor/assets/javascripts/ckeditor/lang/ar.js +5 -0
  170. data/vendor/assets/javascripts/ckeditor/lang/bg.js +5 -0
  171. data/vendor/assets/javascripts/ckeditor/lang/bn.js +5 -0
  172. data/vendor/assets/javascripts/ckeditor/lang/bs.js +5 -0
  173. data/vendor/assets/javascripts/ckeditor/lang/ca.js +5 -0
  174. data/vendor/assets/javascripts/ckeditor/lang/cs.js +5 -0
  175. data/vendor/assets/javascripts/ckeditor/lang/cy.js +5 -0
  176. data/vendor/assets/javascripts/ckeditor/lang/da.js +5 -0
  177. data/vendor/assets/javascripts/ckeditor/lang/de.js +5 -0
  178. data/vendor/assets/javascripts/ckeditor/lang/el.js +5 -0
  179. data/vendor/assets/javascripts/ckeditor/lang/en-au.js +5 -0
  180. data/vendor/assets/javascripts/ckeditor/lang/en-ca.js +5 -0
  181. data/vendor/assets/javascripts/ckeditor/lang/en-gb.js +5 -0
  182. data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
  183. data/vendor/assets/javascripts/ckeditor/lang/eo.js +5 -0
  184. data/vendor/assets/javascripts/ckeditor/lang/es.js +5 -0
  185. data/vendor/assets/javascripts/ckeditor/lang/et.js +5 -0
  186. data/vendor/assets/javascripts/ckeditor/lang/eu.js +5 -0
  187. data/vendor/assets/javascripts/ckeditor/lang/fa.js +5 -0
  188. data/vendor/assets/javascripts/ckeditor/lang/fi.js +5 -0
  189. data/vendor/assets/javascripts/ckeditor/lang/fo.js +5 -0
  190. data/vendor/assets/javascripts/ckeditor/lang/fr-ca.js +5 -0
  191. data/vendor/assets/javascripts/ckeditor/lang/fr.js +5 -0
  192. data/vendor/assets/javascripts/ckeditor/lang/gl.js +5 -0
  193. data/vendor/assets/javascripts/ckeditor/lang/gu.js +5 -0
  194. data/vendor/assets/javascripts/ckeditor/lang/he.js +5 -0
  195. data/vendor/assets/javascripts/ckeditor/lang/hi.js +5 -0
  196. data/vendor/assets/javascripts/ckeditor/lang/hr.js +5 -0
  197. data/vendor/assets/javascripts/ckeditor/lang/hu.js +5 -0
  198. data/vendor/assets/javascripts/ckeditor/lang/is.js +5 -0
  199. data/vendor/assets/javascripts/ckeditor/lang/it.js +5 -0
  200. data/vendor/assets/javascripts/ckeditor/lang/ja.js +5 -0
  201. data/vendor/assets/javascripts/ckeditor/lang/ka.js +5 -0
  202. data/vendor/assets/javascripts/ckeditor/lang/km.js +5 -0
  203. data/vendor/assets/javascripts/ckeditor/lang/ko.js +5 -0
  204. data/vendor/assets/javascripts/ckeditor/lang/ku.js +5 -0
  205. data/vendor/assets/javascripts/ckeditor/lang/lt.js +5 -0
  206. data/vendor/assets/javascripts/ckeditor/lang/lv.js +5 -0
  207. data/vendor/assets/javascripts/ckeditor/lang/mk.js +5 -0
  208. data/vendor/assets/javascripts/ckeditor/lang/mn.js +5 -0
  209. data/vendor/assets/javascripts/ckeditor/lang/ms.js +5 -0
  210. data/vendor/assets/javascripts/ckeditor/lang/nb.js +5 -0
  211. data/vendor/assets/javascripts/ckeditor/lang/nl.js +5 -0
  212. data/vendor/assets/javascripts/ckeditor/lang/no.js +5 -0
  213. data/vendor/assets/javascripts/ckeditor/lang/pl.js +5 -0
  214. data/vendor/assets/javascripts/ckeditor/lang/pt-br.js +5 -0
  215. data/vendor/assets/javascripts/ckeditor/lang/pt.js +5 -0
  216. data/vendor/assets/javascripts/ckeditor/lang/ro.js +5 -0
  217. data/vendor/assets/javascripts/ckeditor/lang/ru.js +5 -0
  218. data/vendor/assets/javascripts/ckeditor/lang/sk.js +5 -0
  219. data/vendor/assets/javascripts/ckeditor/lang/sl.js +5 -0
  220. data/vendor/assets/javascripts/ckeditor/lang/sr-latn.js +5 -0
  221. data/vendor/assets/javascripts/ckeditor/lang/sr.js +5 -0
  222. data/vendor/assets/javascripts/ckeditor/lang/sv.js +5 -0
  223. data/vendor/assets/javascripts/ckeditor/lang/th.js +5 -0
  224. data/vendor/assets/javascripts/ckeditor/lang/tr.js +5 -0
  225. data/vendor/assets/javascripts/ckeditor/lang/ug.js +5 -0
  226. data/vendor/assets/javascripts/ckeditor/lang/uk.js +5 -0
  227. data/vendor/assets/javascripts/ckeditor/lang/vi.js +5 -0
  228. data/vendor/assets/javascripts/ckeditor/lang/zh-cn.js +5 -0
  229. data/vendor/assets/javascripts/ckeditor/lang/zh.js +5 -0
  230. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/CKCss.xml +26 -0
  231. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/ckcss.png +0 -0
  232. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/ckcss1.png +0 -0
  233. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/css/styles.css +10 -0
  234. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/dialogs/ckcss.js +3589 -0
  235. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/lang/en.js +16 -0
  236. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/lang/ru.js +16 -0
  237. data/vendor/assets/javascripts/ckeditor/plugins/CKCss/plugin.js +62 -0
  238. data/vendor/assets/javascripts/ckeditor/plugins/LoremIpsum/images/icon.png +0 -0
  239. data/vendor/assets/javascripts/ckeditor/plugins/LoremIpsum/images/icon1.png +0 -0
  240. data/vendor/assets/javascripts/ckeditor/plugins/LoremIpsum/plugin.js +66 -0
  241. data/vendor/assets/javascripts/ckeditor/plugins/MediaEmbed/icons/mediaembed.png +0 -0
  242. data/vendor/assets/javascripts/ckeditor/plugins/MediaEmbed/images/icon.png +0 -0
  243. data/vendor/assets/javascripts/ckeditor/plugins/MediaEmbed/plugin.js +64 -0
  244. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  245. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  246. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +9 -0
  247. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +9 -0
  248. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +9 -0
  249. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +10 -0
  250. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +9 -0
  251. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +9 -0
  252. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +10 -0
  253. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +10 -0
  254. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +9 -0
  255. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +10 -0
  256. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +10 -0
  257. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +9 -0
  258. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +9 -0
  259. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +10 -0
  260. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +10 -0
  261. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +9 -0
  262. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +9 -0
  263. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +9 -0
  264. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +9 -0
  265. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +9 -0
  266. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +10 -0
  267. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  268. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +10 -0
  269. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +9 -0
  270. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +10 -0
  271. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +9 -0
  272. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +9 -0
  273. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +9 -0
  274. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +10 -0
  275. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +9 -0
  276. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +9 -0
  277. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +9 -0
  278. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +9 -0
  279. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +9 -0
  280. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +9 -0
  281. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +10 -0
  282. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +9 -0
  283. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +10 -0
  284. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +10 -0
  285. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +9 -0
  286. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +9 -0
  287. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +9 -0
  288. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +7 -0
  289. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +6 -0
  290. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  291. data/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  292. data/vendor/assets/javascripts/ckeditor/plugins/code/code/code.js +48 -0
  293. data/vendor/assets/javascripts/ckeditor/plugins/code/images/code.png +0 -0
  294. data/vendor/assets/javascripts/ckeditor/plugins/code/plugin.js +17 -0
  295. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.css +239 -0
  296. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.eot +0 -0
  297. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.otf +0 -0
  298. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.svg +242 -0
  299. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.ttf +0 -0
  300. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/sourcecodepro-regular.woff +0 -0
  301. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.js +4553 -0
  302. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/css.js +465 -0
  303. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/htmlmixed.js +84 -0
  304. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/javascript.js +411 -0
  305. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/closetag.js +85 -0
  306. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/colorize.js +29 -0
  307. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/continuecomment.js +36 -0
  308. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/continuelist.js +28 -0
  309. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/dialog.css +32 -0
  310. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/dialog.js +75 -0
  311. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/foldcode.js +182 -0
  312. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/formatting.js +108 -0
  313. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/javascript-hint.js +137 -0
  314. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/loadmode.js +51 -0
  315. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/match-highlighter.js +46 -0
  316. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/matchbrackets.js +63 -0
  317. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/multiplex.js +95 -0
  318. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/overlay.js +59 -0
  319. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/pig-hint.js +117 -0
  320. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/runmode-standalone.js +90 -0
  321. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/runmode.js +52 -0
  322. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/search.js +119 -0
  323. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/searchcursor.js +119 -0
  324. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/simple-hint.css +16 -0
  325. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/simple-hint.js +102 -0
  326. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/util/xml-hint.js +131 -0
  327. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/xml.js +324 -0
  328. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/af.js +7 -0
  329. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ar.js +7 -0
  330. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +7 -0
  331. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/bn.js +7 -0
  332. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/bs.js +7 -0
  333. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ca.js +7 -0
  334. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/cs.js +7 -0
  335. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/cy.js +7 -0
  336. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/da.js +7 -0
  337. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/de.js +7 -0
  338. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/el.js +7 -0
  339. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en-au.js +7 -0
  340. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en-ca.js +7 -0
  341. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en-gb.js +7 -0
  342. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/en.js +7 -0
  343. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/eo.js +7 -0
  344. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/es.js +7 -0
  345. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/et.js +7 -0
  346. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/eu.js +7 -0
  347. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fa.js +7 -0
  348. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fi.js +7 -0
  349. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fo.js +7 -0
  350. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fr-ca.js +7 -0
  351. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/fr.js +7 -0
  352. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/gl.js +7 -0
  353. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/gu.js +7 -0
  354. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/he.js +7 -0
  355. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/hi.js +7 -0
  356. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/hr.js +7 -0
  357. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/hu.js +7 -0
  358. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/is.js +7 -0
  359. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/it.js +7 -0
  360. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ja.js +7 -0
  361. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ka.js +7 -0
  362. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/km.js +7 -0
  363. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ko.js +7 -0
  364. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ku.js +7 -0
  365. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/lt.js +7 -0
  366. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/lv.js +7 -0
  367. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/mk.js +7 -0
  368. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/mn.js +7 -0
  369. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ms.js +7 -0
  370. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/nb.js +7 -0
  371. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/nl.js +7 -0
  372. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/no.js +7 -0
  373. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/pl.js +7 -0
  374. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/pt-br.js +7 -0
  375. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/pt.js +7 -0
  376. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ro.js +7 -0
  377. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ru.js +7 -0
  378. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sk.js +7 -0
  379. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sl.js +7 -0
  380. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sr-latn.js +7 -0
  381. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sr.js +7 -0
  382. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/sv.js +7 -0
  383. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/th.js +7 -0
  384. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/tr.js +7 -0
  385. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/ug.js +7 -0
  386. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/uk.js +7 -0
  387. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/vi.js +7 -0
  388. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/zh-cn.js +7 -0
  389. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/lang/zh.js +7 -0
  390. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +189 -0
  391. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance-mobile.css +6 -0
  392. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance.css +76 -0
  393. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/blackboard.css +25 -0
  394. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/cobalt.css +18 -0
  395. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +25 -0
  396. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/elegant.css +10 -0
  397. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/erlang-dark.css +21 -0
  398. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +44 -0
  399. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +28 -0
  400. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/neat.css +9 -0
  401. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/night.css +21 -0
  402. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +21 -0
  403. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/solarized.css +207 -0
  404. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/twilight.css +25 -0
  405. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/vibrant-ink.css +27 -0
  406. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-dark.css +46 -0
  407. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -0
  408. data/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  409. data/vendor/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
  410. data/vendor/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  411. data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +24 -0
  412. data/vendor/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +23 -0
  413. data/vendor/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  414. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
  415. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +8 -0
  416. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
  417. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
  418. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +8 -0
  419. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +20 -0
  420. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  421. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +10 -0
  422. data/vendor/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  423. data/vendor/assets/javascripts/ckeditor/plugins/highslide/dialogs/hs.js +73 -0
  424. data/vendor/assets/javascripts/ckeditor/plugins/highslide/icon.png +0 -0
  425. data/vendor/assets/javascripts/ckeditor/plugins/highslide/lang/en.js +7 -0
  426. data/vendor/assets/javascripts/ckeditor/plugins/highslide/lang/ru.js +7 -0
  427. data/vendor/assets/javascripts/ckeditor/plugins/highslide/plugin.js +26 -0
  428. data/vendor/assets/javascripts/ckeditor/plugins/highslide/readme.txt +55 -0
  429. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/install.html +93 -0
  430. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/styles.css +59 -0
  431. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/icon1.png +0 -0
  432. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/icon2.png +0 -0
  433. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/icon3.png +0 -0
  434. data/vendor/assets/javascripts/ckeditor/plugins/htmlbuttons/plugin.js +71 -0
  435. data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  436. data/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  437. data/vendor/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  438. data/vendor/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +173 -0
  439. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +41 -0
  440. data/vendor/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  441. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  442. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +36 -0
  443. data/vendor/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  444. data/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  445. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
  446. data/vendor/assets/javascripts/ckeditor/plugins/oembed/images/icon.png +0 -0
  447. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/de.js +9 -0
  448. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/en.js +9 -0
  449. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/fr.js +11 -0
  450. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/nl.js +9 -0
  451. data/vendor/assets/javascripts/ckeditor/plugins/oembed/lang/ru.js +9 -0
  452. data/vendor/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.js +781 -0
  453. data/vendor/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.min.js +4 -0
  454. data/vendor/assets/javascripts/ckeditor/plugins/oembed/plugin.js +106 -0
  455. data/vendor/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  456. data/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +31 -0
  457. data/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +10 -0
  458. data/vendor/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +28 -0
  459. data/vendor/assets/javascripts/ckeditor/plugins/scayt/README.md +25 -0
  460. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +19 -0
  461. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  462. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  463. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  464. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  465. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  466. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  467. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  468. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  469. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  470. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  471. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  472. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  473. data/vendor/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +10 -0
  474. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  475. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  476. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  477. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  478. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  479. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  480. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  481. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  482. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  483. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  484. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  485. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  486. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  487. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  488. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  489. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  490. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  491. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  492. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  493. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  494. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  495. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  496. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  497. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  498. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +13 -0
  499. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  500. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  501. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  502. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  503. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  504. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  505. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  506. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +13 -0
  507. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  508. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  509. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +13 -0
  510. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  511. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  512. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +14 -0
  513. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  514. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  515. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  516. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  517. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  518. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  519. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  520. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  521. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  522. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  523. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  524. data/vendor/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +138 -0
  525. data/vendor/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/assets/sample.css +70 -0
  526. data/vendor/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/stylesheetparser.html +82 -0
  527. data/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +20 -0
  528. data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -0
  529. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  530. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  531. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  532. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  533. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  534. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  535. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +9 -0
  536. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +9 -0
  537. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +95 -0
  538. data/vendor/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +28 -0
  539. data/vendor/assets/javascripts/ckeditor/plugins/wsc/README.md +25 -0
  540. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  541. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  542. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  543. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +11 -0
  544. data/vendor/assets/javascripts/ckeditor/samples/ajax.html +82 -0
  545. data/vendor/assets/javascripts/ckeditor/samples/api.html +207 -0
  546. data/vendor/assets/javascripts/ckeditor/samples/appendto.html +57 -0
  547. data/vendor/assets/javascripts/ckeditor/samples/assets/inlineall/logo.png +0 -0
  548. data/vendor/assets/javascripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css +204 -0
  549. data/vendor/assets/javascripts/ckeditor/samples/assets/posteddata.php +59 -0
  550. data/vendor/assets/javascripts/ckeditor/samples/assets/sample.css +3 -0
  551. data/vendor/assets/javascripts/ckeditor/samples/assets/sample.jpg +0 -0
  552. data/vendor/assets/javascripts/ckeditor/samples/assets/uilanguages/languages.js +7 -0
  553. data/vendor/assets/javascripts/ckeditor/samples/divreplace.html +141 -0
  554. data/vendor/assets/javascripts/ckeditor/samples/index.html +119 -0
  555. data/vendor/assets/javascripts/ckeditor/samples/inlineall.html +311 -0
  556. data/vendor/assets/javascripts/ckeditor/samples/inlinebycode.html +122 -0
  557. data/vendor/assets/javascripts/ckeditor/samples/plugins/dialog/assets/my_dialog.js +48 -0
  558. data/vendor/assets/javascripts/ckeditor/samples/plugins/dialog/dialog.html +187 -0
  559. data/vendor/assets/javascripts/ckeditor/samples/plugins/enterkey/enterkey.html +103 -0
  560. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  561. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  562. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +18 -0
  563. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputforflash.html +280 -0
  564. data/vendor/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputhtml.html +237 -0
  565. data/vendor/assets/javascripts/ckeditor/samples/plugins/magicline/magicline.html +203 -0
  566. data/vendor/assets/javascripts/ckeditor/samples/plugins/toolbar/toolbar.html +200 -0
  567. data/vendor/assets/javascripts/ckeditor/samples/plugins/wysiwygarea/fullpage.html +71 -0
  568. data/vendor/assets/javascripts/ckeditor/samples/readonly.html +73 -0
  569. data/vendor/assets/javascripts/ckeditor/samples/replacebyclass.html +57 -0
  570. data/vendor/assets/javascripts/ckeditor/samples/replacebycode.html +56 -0
  571. data/vendor/assets/javascripts/ckeditor/samples/sample.css +333 -0
  572. data/vendor/assets/javascripts/ckeditor/samples/sample.js +5 -0
  573. data/vendor/assets/javascripts/ckeditor/samples/sample_posteddata.php +16 -0
  574. data/vendor/assets/javascripts/ckeditor/samples/tabindex.html +75 -0
  575. data/vendor/assets/javascripts/ckeditor/samples/uicolor.html +69 -0
  576. data/vendor/assets/javascripts/ckeditor/samples/uilanguages.html +119 -0
  577. data/vendor/assets/javascripts/ckeditor/samples/xhtmlstyle.html +219 -0
  578. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +5 -0
  579. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +5 -0
  580. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +5 -0
  581. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +5 -0
  582. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +687 -0
  583. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +5 -0
  584. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +5 -0
  585. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +5 -0
  586. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +5 -0
  587. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +5 -0
  588. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +5 -0
  589. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +1389 -0
  590. data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  591. data/vendor/assets/javascripts/ckeditor/skins/moono/images/arrow.png +0 -0
  592. data/vendor/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  593. data/vendor/assets/javascripts/ckeditor/skins/moono/images/mini.png +0 -0
  594. data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +51 -0
  595. data/vendor/assets/javascripts/ckeditor/styles.js +112 -0
  596. metadata +736 -0
@@ -0,0 +1,84 @@
1
+ CodeMirror.defineMode("htmlmixed", function(config) {
2
+ var htmlMode = CodeMirror.getMode(config, {name: "xml", htmlMode: true});
3
+ var jsMode = CodeMirror.getMode(config, "javascript");
4
+ var cssMode = CodeMirror.getMode(config, "css");
5
+
6
+ function html(stream, state) {
7
+ var style = htmlMode.token(stream, state.htmlState);
8
+ if (/(?:^|\s)tag(?:\s|$)/.test(style) && stream.current() == ">" && state.htmlState.context) {
9
+ if (/^script$/i.test(state.htmlState.context.tagName)) {
10
+ state.token = javascript;
11
+ state.localState = jsMode.startState(htmlMode.indent(state.htmlState, ""));
12
+ }
13
+ else if (/^style$/i.test(state.htmlState.context.tagName)) {
14
+ state.token = css;
15
+ state.localState = cssMode.startState(htmlMode.indent(state.htmlState, ""));
16
+ }
17
+ }
18
+ return style;
19
+ }
20
+ function maybeBackup(stream, pat, style) {
21
+ var cur = stream.current();
22
+ var close = cur.search(pat), m;
23
+ if (close > -1) stream.backUp(cur.length - close);
24
+ else if (m = cur.match(/<\/?$/)) {
25
+ stream.backUp(cur.length);
26
+ if (!stream.match(pat, false)) stream.match(cur[0]);
27
+ }
28
+ return style;
29
+ }
30
+ function javascript(stream, state) {
31
+ if (stream.match(/^<\/\s*script\s*>/i, false)) {
32
+ state.token = html;
33
+ state.localState = null;
34
+ return html(stream, state);
35
+ }
36
+ return maybeBackup(stream, /<\/\s*script\s*>/,
37
+ jsMode.token(stream, state.localState));
38
+ }
39
+ function css(stream, state) {
40
+ if (stream.match(/^<\/\s*style\s*>/i, false)) {
41
+ state.token = html;
42
+ state.localState = null;
43
+ return html(stream, state);
44
+ }
45
+ return maybeBackup(stream, /<\/\s*style\s*>/,
46
+ cssMode.token(stream, state.localState));
47
+ }
48
+
49
+ return {
50
+ startState: function() {
51
+ var state = htmlMode.startState();
52
+ return {token: html, localState: null, mode: "html", htmlState: state};
53
+ },
54
+
55
+ copyState: function(state) {
56
+ if (state.localState)
57
+ var local = CodeMirror.copyState(state.token == css ? cssMode : jsMode, state.localState);
58
+ return {token: state.token, localState: local, mode: state.mode,
59
+ htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};
60
+ },
61
+
62
+ token: function(stream, state) {
63
+ return state.token(stream, state);
64
+ },
65
+
66
+ indent: function(state, textAfter) {
67
+ if (state.token == html || /^\s*<\//.test(textAfter))
68
+ return htmlMode.indent(state.htmlState, textAfter);
69
+ else if (state.token == javascript)
70
+ return jsMode.indent(state.localState, textAfter);
71
+ else
72
+ return cssMode.indent(state.localState, textAfter);
73
+ },
74
+
75
+ electricChars: "/{}:",
76
+
77
+ innerMode: function(state) {
78
+ var mode = state.token == html ? htmlMode : state.token == javascript ? jsMode : cssMode;
79
+ return {state: state.localState || state.htmlState, mode: mode};
80
+ }
81
+ };
82
+ }, "xml", "javascript", "css");
83
+
84
+ CodeMirror.defineMIME("text/html", "htmlmixed");
@@ -0,0 +1,411 @@
1
+ // TODO actually recognize syntax of TypeScript constructs
2
+
3
+ CodeMirror.defineMode("javascript", function(config, parserConfig) {
4
+ var indentUnit = config.indentUnit;
5
+ var jsonMode = parserConfig.json;
6
+ var isTS = parserConfig.typescript;
7
+
8
+ // Tokenizer
9
+
10
+ var keywords = function(){
11
+ function kw(type) {return {type: type, style: "keyword"};}
12
+ var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c");
13
+ var operator = kw("operator"), atom = {type: "atom", style: "atom"};
14
+
15
+ var jsKeywords = {
16
+ "if": A, "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B,
17
+ "return": C, "break": C, "continue": C, "new": C, "delete": C, "throw": C,
18
+ "var": kw("var"), "const": kw("var"), "let": kw("var"),
19
+ "function": kw("function"), "catch": kw("catch"),
20
+ "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"),
21
+ "in": operator, "typeof": operator, "instanceof": operator,
22
+ "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom
23
+ };
24
+
25
+ // Extend the 'normal' keywords with the TypeScript language extensions
26
+ if (isTS) {
27
+ var type = {type: "variable", style: "variable-3"};
28
+ var tsKeywords = {
29
+ // object-like things
30
+ "interface": kw("interface"),
31
+ "class": kw("class"),
32
+ "extends": kw("extends"),
33
+ "constructor": kw("constructor"),
34
+
35
+ // scope modifiers
36
+ "public": kw("public"),
37
+ "private": kw("private"),
38
+ "protected": kw("protected"),
39
+ "static": kw("static"),
40
+
41
+ "super": kw("super"),
42
+
43
+ // types
44
+ "string": type, "number": type, "bool": type, "any": type
45
+ };
46
+
47
+ for (var attr in tsKeywords) {
48
+ jsKeywords[attr] = tsKeywords[attr];
49
+ }
50
+ }
51
+
52
+ return jsKeywords;
53
+ }();
54
+
55
+ var isOperatorChar = /[+\-*&%=<>!?|]/;
56
+
57
+ function chain(stream, state, f) {
58
+ state.tokenize = f;
59
+ return f(stream, state);
60
+ }
61
+
62
+ function nextUntilUnescaped(stream, end) {
63
+ var escaped = false, next;
64
+ while ((next = stream.next()) != null) {
65
+ if (next == end && !escaped)
66
+ return false;
67
+ escaped = !escaped && next == "\\";
68
+ }
69
+ return escaped;
70
+ }
71
+
72
+ // Used as scratch variables to communicate multiple values without
73
+ // consing up tons of objects.
74
+ var type, content;
75
+ function ret(tp, style, cont) {
76
+ type = tp; content = cont;
77
+ return style;
78
+ }
79
+
80
+ function jsTokenBase(stream, state) {
81
+ var ch = stream.next();
82
+ if (ch == '"' || ch == "'")
83
+ return chain(stream, state, jsTokenString(ch));
84
+ else if (/[\[\]{}\(\),;\:\.]/.test(ch))
85
+ return ret(ch);
86
+ else if (ch == "0" && stream.eat(/x/i)) {
87
+ stream.eatWhile(/[\da-f]/i);
88
+ return ret("number", "number");
89
+ }
90
+ else if (/\d/.test(ch) || ch == "-" && stream.eat(/\d/)) {
91
+ stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);
92
+ return ret("number", "number");
93
+ }
94
+ else if (ch == "/") {
95
+ if (stream.eat("*")) {
96
+ return chain(stream, state, jsTokenComment);
97
+ }
98
+ else if (stream.eat("/")) {
99
+ stream.skipToEnd();
100
+ return ret("comment", "comment");
101
+ }
102
+ else if (state.lastType == "operator" || state.lastType == "keyword c" ||
103
+ /^[\[{}\(,;:]$/.test(state.lastType)) {
104
+ nextUntilUnescaped(stream, "/");
105
+ stream.eatWhile(/[gimy]/); // 'y' is "sticky" option in Mozilla
106
+ return ret("regexp", "string-2");
107
+ }
108
+ else {
109
+ stream.eatWhile(isOperatorChar);
110
+ return ret("operator", null, stream.current());
111
+ }
112
+ }
113
+ else if (ch == "#") {
114
+ stream.skipToEnd();
115
+ return ret("error", "error");
116
+ }
117
+ else if (isOperatorChar.test(ch)) {
118
+ stream.eatWhile(isOperatorChar);
119
+ return ret("operator", null, stream.current());
120
+ }
121
+ else {
122
+ stream.eatWhile(/[\w\$_]/);
123
+ var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word];
124
+ return (known && state.lastType != ".") ? ret(known.type, known.style, word) :
125
+ ret("variable", "variable", word);
126
+ }
127
+ }
128
+
129
+ function jsTokenString(quote) {
130
+ return function(stream, state) {
131
+ if (!nextUntilUnescaped(stream, quote))
132
+ state.tokenize = jsTokenBase;
133
+ return ret("string", "string");
134
+ };
135
+ }
136
+
137
+ function jsTokenComment(stream, state) {
138
+ var maybeEnd = false, ch;
139
+ while (ch = stream.next()) {
140
+ if (ch == "/" && maybeEnd) {
141
+ state.tokenize = jsTokenBase;
142
+ break;
143
+ }
144
+ maybeEnd = (ch == "*");
145
+ }
146
+ return ret("comment", "comment");
147
+ }
148
+
149
+ // Parser
150
+
151
+ var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true};
152
+
153
+ function JSLexical(indented, column, type, align, prev, info) {
154
+ this.indented = indented;
155
+ this.column = column;
156
+ this.type = type;
157
+ this.prev = prev;
158
+ this.info = info;
159
+ if (align != null) this.align = align;
160
+ }
161
+
162
+ function inScope(state, varname) {
163
+ for (var v = state.localVars; v; v = v.next)
164
+ if (v.name == varname) return true;
165
+ }
166
+
167
+ function parseJS(state, style, type, content, stream) {
168
+ var cc = state.cc;
169
+ // Communicate our context to the combinators.
170
+ // (Less wasteful than consing up a hundred closures on every call.)
171
+ cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc;
172
+
173
+ if (!state.lexical.hasOwnProperty("align"))
174
+ state.lexical.align = true;
175
+
176
+ while(true) {
177
+ var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;
178
+ if (combinator(type, content)) {
179
+ while(cc.length && cc[cc.length - 1].lex)
180
+ cc.pop()();
181
+ if (cx.marked) return cx.marked;
182
+ if (type == "variable" && inScope(state, content)) return "variable-2";
183
+ return style;
184
+ }
185
+ }
186
+ }
187
+
188
+ // Combinator utils
189
+
190
+ var cx = {state: null, column: null, marked: null, cc: null};
191
+ function pass() {
192
+ for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);
193
+ }
194
+ function cont() {
195
+ pass.apply(null, arguments);
196
+ return true;
197
+ }
198
+ function register(varname) {
199
+ var state = cx.state;
200
+ if (state.context) {
201
+ cx.marked = "def";
202
+ for (var v = state.localVars; v; v = v.next)
203
+ if (v.name == varname) return;
204
+ state.localVars = {name: varname, next: state.localVars};
205
+ }
206
+ }
207
+
208
+ // Combinators
209
+
210
+ var defaultVars = {name: "this", next: {name: "arguments"}};
211
+ function pushcontext() {
212
+ cx.state.context = {prev: cx.state.context, vars: cx.state.localVars};
213
+ cx.state.localVars = defaultVars;
214
+ }
215
+ function popcontext() {
216
+ cx.state.localVars = cx.state.context.vars;
217
+ cx.state.context = cx.state.context.prev;
218
+ }
219
+ function pushlex(type, info) {
220
+ var result = function() {
221
+ var state = cx.state;
222
+ state.lexical = new JSLexical(state.indented, cx.stream.column(), type, null, state.lexical, info);
223
+ };
224
+ result.lex = true;
225
+ return result;
226
+ }
227
+ function poplex() {
228
+ var state = cx.state;
229
+ if (state.lexical.prev) {
230
+ if (state.lexical.type == ")")
231
+ state.indented = state.lexical.indented;
232
+ state.lexical = state.lexical.prev;
233
+ }
234
+ }
235
+ poplex.lex = true;
236
+
237
+ function expect(wanted) {
238
+ return function expecting(type) {
239
+ if (type == wanted) return cont();
240
+ else if (wanted == ";") return pass();
241
+ else return cont(arguments.callee);
242
+ };
243
+ }
244
+
245
+ function statement(type) {
246
+ if (type == "var") return cont(pushlex("vardef"), vardef1, expect(";"), poplex);
247
+ if (type == "keyword a") return cont(pushlex("form"), expression, statement, poplex);
248
+ if (type == "keyword b") return cont(pushlex("form"), statement, poplex);
249
+ if (type == "{") return cont(pushlex("}"), block, poplex);
250
+ if (type == ";") return cont();
251
+ if (type == "function") return cont(functiondef);
252
+ if (type == "for") return cont(pushlex("form"), expect("("), pushlex(")"), forspec1, expect(")"),
253
+ poplex, statement, poplex);
254
+ if (type == "variable") return cont(pushlex("stat"), maybelabel);
255
+ if (type == "switch") return cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"),
256
+ block, poplex, poplex);
257
+ if (type == "case") return cont(expression, expect(":"));
258
+ if (type == "default") return cont(expect(":"));
259
+ if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"),
260
+ statement, poplex, popcontext);
261
+ return pass(pushlex("stat"), expression, expect(";"), poplex);
262
+ }
263
+ function expression(type) {
264
+ if (atomicTypes.hasOwnProperty(type)) return cont(maybeoperator);
265
+ if (type == "function") return cont(functiondef);
266
+ if (type == "keyword c") return cont(maybeexpression);
267
+ if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeoperator);
268
+ if (type == "operator") return cont(expression);
269
+ if (type == "[") return cont(pushlex("]"), commasep(expression, "]"), poplex, maybeoperator);
270
+ if (type == "{") return cont(pushlex("}"), commasep(objprop, "}"), poplex, maybeoperator);
271
+ return cont();
272
+ }
273
+ function maybeexpression(type) {
274
+ if (type.match(/[;\}\)\],]/)) return pass();
275
+ return pass(expression);
276
+ }
277
+
278
+ function maybeoperator(type, value) {
279
+ if (type == "operator" && /\+\+|--/.test(value)) return cont(maybeoperator);
280
+ if (type == "operator" && value == "?") return cont(expression, expect(":"), expression);
281
+ if (type == ";") return;
282
+ if (type == "(") return cont(pushlex(")"), commasep(expression, ")"), poplex, maybeoperator);
283
+ if (type == ".") return cont(property, maybeoperator);
284
+ if (type == "[") return cont(pushlex("]"), expression, expect("]"), poplex, maybeoperator);
285
+ }
286
+ function maybelabel(type) {
287
+ if (type == ":") return cont(poplex, statement);
288
+ return pass(maybeoperator, expect(";"), poplex);
289
+ }
290
+ function property(type) {
291
+ if (type == "variable") {cx.marked = "property"; return cont();}
292
+ }
293
+ function objprop(type) {
294
+ if (type == "variable") cx.marked = "property";
295
+ if (atomicTypes.hasOwnProperty(type)) return cont(expect(":"), expression);
296
+ }
297
+ function commasep(what, end) {
298
+ function proceed(type) {
299
+ if (type == ",") return cont(what, proceed);
300
+ if (type == end) return cont();
301
+ return cont(expect(end));
302
+ }
303
+ return function commaSeparated(type) {
304
+ if (type == end) return cont();
305
+ else return pass(what, proceed);
306
+ };
307
+ }
308
+ function block(type) {
309
+ if (type == "}") return cont();
310
+ return pass(statement, block);
311
+ }
312
+ function maybetype(type) {
313
+ if (type == ":") return cont(typedef);
314
+ return pass();
315
+ }
316
+ function typedef(type) {
317
+ if (type == "variable"){cx.marked = "variable-3"; return cont();}
318
+ return pass();
319
+ }
320
+ function vardef1(type, value) {
321
+ if (type == "variable") {
322
+ register(value);
323
+ return isTS ? cont(maybetype, vardef2) : cont(vardef2);
324
+ }
325
+ return pass();
326
+ }
327
+ function vardef2(type, value) {
328
+ if (value == "=") return cont(expression, vardef2);
329
+ if (type == ",") return cont(vardef1);
330
+ }
331
+ function forspec1(type) {
332
+ if (type == "var") return cont(vardef1, expect(";"), forspec2);
333
+ if (type == ";") return cont(forspec2);
334
+ if (type == "variable") return cont(formaybein);
335
+ return cont(forspec2);
336
+ }
337
+ function formaybein(_type, value) {
338
+ if (value == "in") return cont(expression);
339
+ return cont(maybeoperator, forspec2);
340
+ }
341
+ function forspec2(type, value) {
342
+ if (type == ";") return cont(forspec3);
343
+ if (value == "in") return cont(expression);
344
+ return cont(expression, expect(";"), forspec3);
345
+ }
346
+ function forspec3(type) {
347
+ if (type != ")") cont(expression);
348
+ }
349
+ function functiondef(type, value) {
350
+ if (type == "variable") {register(value); return cont(functiondef);}
351
+ if (type == "(") return cont(pushlex(")"), pushcontext, commasep(funarg, ")"), poplex, statement, popcontext);
352
+ }
353
+ function funarg(type, value) {
354
+ if (type == "variable") {register(value); return isTS ? cont(maybetype) : cont();}
355
+ }
356
+
357
+ // Interface
358
+
359
+ return {
360
+ startState: function(basecolumn) {
361
+ return {
362
+ tokenize: jsTokenBase,
363
+ lastType: null,
364
+ cc: [],
365
+ lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false),
366
+ localVars: parserConfig.localVars,
367
+ context: parserConfig.localVars && {vars: parserConfig.localVars},
368
+ indented: 0
369
+ };
370
+ },
371
+
372
+ token: function(stream, state) {
373
+ if (stream.sol()) {
374
+ if (!state.lexical.hasOwnProperty("align"))
375
+ state.lexical.align = false;
376
+ state.indented = stream.indentation();
377
+ }
378
+ if (stream.eatSpace()) return null;
379
+ var style = state.tokenize(stream, state);
380
+ if (type == "comment") return style;
381
+ state.lastType = type;
382
+ return parseJS(state, style, type, content, stream);
383
+ },
384
+
385
+ indent: function(state, textAfter) {
386
+ if (state.tokenize == jsTokenComment) return CodeMirror.Pass;
387
+ if (state.tokenize != jsTokenBase) return 0;
388
+ var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical;
389
+ if (lexical.type == "stat" && firstChar == "}") lexical = lexical.prev;
390
+ var type = lexical.type, closing = firstChar == type;
391
+ if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? 4 : 0);
392
+ else if (type == "form" && firstChar == "{") return lexical.indented;
393
+ else if (type == "form") return lexical.indented + indentUnit;
394
+ else if (type == "stat")
395
+ return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? indentUnit : 0);
396
+ else if (lexical.info == "switch" && !closing)
397
+ return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit);
398
+ else if (lexical.align) return lexical.column + (closing ? 0 : 1);
399
+ else return lexical.indented + (closing ? 0 : indentUnit);
400
+ },
401
+
402
+ electricChars: ":{}",
403
+
404
+ jsonMode: jsonMode
405
+ };
406
+ });
407
+
408
+ CodeMirror.defineMIME("text/javascript", "javascript");
409
+ CodeMirror.defineMIME("application/json", {name: "javascript", json: true});
410
+ CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true });
411
+ CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true });