erp_app 3.0.7 → 3.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +23 -0
- data/app/controllers/erp_app/application_controller.rb +1 -0
- data/app/controllers/erp_app/desktop/file_manager/base_controller.rb +33 -23
- data/app/controllers/erp_app/public_controller.rb +2 -3
- data/app/controllers/erp_app/shared/configuration_controller.rb +1 -0
- data/app/controllers/erp_app/shared/notes_controller.rb +1 -0
- data/app/controllers/erp_app/shared/profile_management_controller.rb +22 -0
- data/app/controllers/erp_app/widget_proxy_controller.rb +2 -1
- data/app/models/configuration.rb +7 -0
- data/app/views/erp_app/desktop/base/index.erb +2 -3
- data/app/views/erp_app/login/index.erb +1 -1
- data/app/views/erp_app/mobile/base/index.erb +1 -0
- data/app/views/erp_app/organizer/base/index.erb +2 -3
- data/config/routes.rb +1 -1
- data/lib/active_ext/ext_helpers/column_builder.rb +118 -118
- data/lib/erp_app/config.rb +8 -4
- data/lib/erp_app/extensions/railties/action_view/base.rb +0 -1
- data/lib/erp_app/extensions/railties/action_view/helpers/include_helper.rb +18 -3
- data/lib/erp_app/version.rb +1 -1
- data/lib/erp_app/widgets/base.rb +5 -4
- data/lib/erp_app/widgets/loader.rb +2 -2
- data/public/images/btn/left_panel/left_panel_16x16.png +0 -0
- data/public/images/btn/left_right_panel/left_right_panel_16x16.png +0 -0
- data/public/images/btn/right_panel/right_panel_16x16.png +0 -0
- data/public/images/btn/save/save_16x16.png +0 -0
- data/public/images/btn/save_all/save_all_16x16.png +0 -0
- data/public/javascripts/erp_app/ckeditor/ckeditor.js +138 -135
- data/public/javascripts/erp_app/ckeditor/config.js +1 -1
- data/public/javascripts/erp_app/ckeditor/contents.css +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/_languages.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/_translationstatus.txt +62 -59
- data/public/javascripts/erp_app/ckeditor/lang/af.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ar.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/bg.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/bn.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/bs.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ca.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/cs.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/cy.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/da.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/de.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/el.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/en-au.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/en-ca.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/en-gb.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/en.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/eo.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/es.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/et.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/eu.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/fa.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/fi.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/fo.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/fr-ca.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/fr.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/gl.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/gu.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/he.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/hi.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/hr.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/hu.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/id.js +6 -0
- data/public/javascripts/erp_app/ckeditor/lang/is.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/it.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ja.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ka.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/km.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ko.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/lt.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/lv.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/mk.js +6 -0
- data/public/javascripts/erp_app/ckeditor/lang/mn.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ms.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/nb.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/nl.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/no.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/pl.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/pt-br.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/pt.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ro.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ru.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/sk.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/sl.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/sr-latn.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/sr.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/sv.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/th.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/tr.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/ug.js +6 -0
- data/public/javascripts/erp_app/ckeditor/lang/uk.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/vi.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/zh-cn.js +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/zh.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt +25 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/cs.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/cy.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/da.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/de.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/el.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/en.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/eo.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/fa.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/fi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/fr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/gu.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/he.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/it.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/mk.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/nb.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/nl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/no.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/pt-br.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/ro.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/tr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/ug.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/vi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/zh-cn.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/about/dialogs/about.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/adobeair/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/ajax/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/autogrow/plugin.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/bbcode/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/clipboard/dialogs/paste.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/colordialog/dialogs/colordialog.js +3 -3
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/_translationstatus.txt +28 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/bg.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/cs.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/cy.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/da.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/de.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/el.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/en.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/eo.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/et.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/fa.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/fi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/fr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/gu.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/he.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/hr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/it.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/nb.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/nl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/no.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/pl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/pt-br.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/tr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/ug.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/uk.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/vi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/zh-cn.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/devtools/plugin.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/div/dialogs/div.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/docprops/dialogs/docprops.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/docprops/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/find/dialogs/find.js +3 -3
- data/public/javascripts/erp_app/ckeditor/plugins/flash/dialogs/flash.js +4 -4
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/button.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/checkbox.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/form.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/hiddenfield.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/radio.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/select.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/textfield.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/iframe/dialogs/iframe.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/iframedialog/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/image/dialogs/image.js +9 -9
- data/public/javascripts/erp_app/ckeditor/plugins/inlineeditsave/plugin.js +40 -0
- data/public/javascripts/erp_app/ckeditor/plugins/link/dialogs/anchor.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/link/dialogs/link.js +5 -5
- data/public/javascripts/erp_app/ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/pastefromword/filter/default.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/dialogs/placeholder.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/_translationstatus.txt +27 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/bg.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/cs.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/cy.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/da.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/de.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/el.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/en.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/eo.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/et.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/fa.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/fi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/fr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/he.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/hr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/it.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/nb.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/nl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/no.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/pl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/pt-br.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/tr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/ug.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/uk.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/vi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/zh-cn.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/placeholder/plugin.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/preview/preview.html +10 -0
- data/public/javascripts/erp_app/ckeditor/plugins/scayt/dialogs/options.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/scayt/dialogs/toolbar.css +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/_translationstatus.txt +22 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/cs.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/cy.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/de.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/el.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/en.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/eo.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/et.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/fa.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/fi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/fr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/he.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/hr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/it.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/nb.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/nl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/no.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/pt-br.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/tr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/ug.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/zh-cn.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/styles/styles/default.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/stylesheetparser/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/table/dialogs/table.js +5 -5
- data/public/javascripts/erp_app/ckeditor/plugins/tableresize/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/tabletools/dialogs/tableCell.js +3 -3
- data/public/javascripts/erp_app/ckeditor/plugins/templates/dialogs/templates.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/templates/templates/default.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/dialogs/uicolor.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/_translationstatus.txt +28 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/bg.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/cs.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/cy.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/da.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/de.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/el.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/en.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/eo.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/et.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/fa.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/fi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/fr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/he.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/hr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/it.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/mk.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/nb.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/nl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/no.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/pl.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/pt-br.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/tr.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/ug.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/uk.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/vi.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/zh-cn.js +6 -0
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/plugin.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/assets/yui.css +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/yui.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/ciframe.html +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc.css +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/xml/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/kama/dialog.css +6 -6
- data/public/javascripts/erp_app/ckeditor/skins/kama/editor.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/kama/skin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/kama/templates.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/office2003/dialog.css +6 -5
- data/public/javascripts/erp_app/ckeditor/skins/office2003/editor.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/office2003/skin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/office2003/templates.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/v2/dialog.css +5 -5
- data/public/javascripts/erp_app/ckeditor/skins/v2/editor.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/v2/skin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/v2/templates.css +1 -1
- data/public/javascripts/erp_app/ckeditor/themes/default/theme.js +1 -1
- data/public/javascripts/erp_app/ckeditor_example_config_override.js +2 -1
- data/public/javascripts/erp_app/codemirror/LICENSE +5 -1
- data/public/javascripts/erp_app/codemirror/README.md +6 -4
- data/public/javascripts/erp_app/codemirror/{css → doc}/baboon.png +0 -0
- data/public/javascripts/erp_app/codemirror/{css → doc}/baboon_vector.svg +0 -0
- data/public/javascripts/erp_app/codemirror/doc/compress.html +155 -0
- data/public/javascripts/erp_app/codemirror/{css → doc}/docs.css +0 -0
- data/public/javascripts/erp_app/codemirror/doc/internals.html +494 -0
- data/public/javascripts/erp_app/codemirror/{manual.html → doc/manual.html} +465 -167
- data/public/javascripts/erp_app/codemirror/doc/oldrelease.html +267 -0
- data/public/javascripts/erp_app/codemirror/doc/reporting.html +57 -0
- data/public/javascripts/erp_app/codemirror/doc/upgrade_v2.2.html +95 -0
- data/public/javascripts/erp_app/codemirror/keymap/emacs.js +29 -0
- data/public/javascripts/erp_app/codemirror/keymap/vim.js +785 -0
- data/public/javascripts/erp_app/codemirror/lib/codemirror.css +116 -14
- data/public/javascripts/erp_app/codemirror/lib/codemirror.js +2128 -1054
- data/public/javascripts/erp_app/codemirror/lib/util/closetag.js +164 -0
- data/public/javascripts/erp_app/codemirror/lib/util/dialog.css +27 -0
- data/public/javascripts/erp_app/codemirror/lib/util/dialog.js +67 -0
- data/public/javascripts/erp_app/codemirror/lib/util/foldcode.js +196 -0
- data/public/javascripts/erp_app/codemirror/lib/util/formatting.js +299 -0
- data/public/javascripts/erp_app/codemirror/lib/util/javascript-hint.js +134 -0
- data/public/javascripts/erp_app/codemirror/lib/util/loadmode.js +51 -0
- data/public/javascripts/erp_app/codemirror/lib/util/match-highlighter.js +44 -0
- data/public/javascripts/erp_app/codemirror/lib/util/multiplex.js +81 -0
- data/public/javascripts/erp_app/codemirror/lib/{overlay.js → util/overlay.js} +3 -2
- data/public/javascripts/erp_app/codemirror/lib/util/pig-hint.js +123 -0
- data/public/javascripts/erp_app/codemirror/lib/util/runmode.js +49 -0
- data/public/javascripts/erp_app/codemirror/lib/util/search.js +118 -0
- data/public/javascripts/erp_app/codemirror/lib/util/searchcursor.js +117 -0
- data/public/javascripts/erp_app/codemirror/lib/util/simple-hint.css +16 -0
- data/public/javascripts/erp_app/codemirror/lib/util/simple-hint.js +76 -0
- data/public/javascripts/erp_app/codemirror/lib/util/xml-hint.js +137 -0
- data/public/javascripts/erp_app/codemirror/mode/clike/clike.js +50 -17
- data/public/javascripts/erp_app/codemirror/mode/clike/index.html +4 -5
- data/public/javascripts/erp_app/codemirror/mode/clike/scala.html +765 -0
- data/public/javascripts/erp_app/codemirror/mode/clojure/clojure.js +207 -0
- data/public/javascripts/erp_app/codemirror/mode/clojure/index.html +66 -0
- data/public/javascripts/erp_app/codemirror/mode/coffeescript/coffeescript.js +101 -63
- data/public/javascripts/erp_app/codemirror/mode/coffeescript/index.html +9 -4
- data/public/javascripts/erp_app/codemirror/mode/css/css.js +4 -4
- data/public/javascripts/erp_app/codemirror/mode/css/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/diff/diff.js +24 -5
- data/public/javascripts/erp_app/codemirror/mode/diff/index.html +12 -7
- data/public/javascripts/erp_app/codemirror/mode/ecl/ecl.js +203 -0
- data/public/javascripts/erp_app/codemirror/mode/ecl/index.html +42 -0
- data/public/javascripts/erp_app/codemirror/mode/erlang/erlang.js +463 -0
- data/public/javascripts/erp_app/codemirror/mode/erlang/index.html +62 -0
- data/public/javascripts/erp_app/codemirror/mode/gfm/gfm.js +144 -0
- data/public/javascripts/erp_app/codemirror/mode/gfm/index.html +47 -0
- data/public/javascripts/erp_app/codemirror/mode/go/go.js +170 -0
- data/public/javascripts/erp_app/codemirror/mode/go/index.html +72 -0
- data/public/javascripts/erp_app/codemirror/mode/groovy/groovy.js +210 -0
- data/public/javascripts/erp_app/codemirror/mode/groovy/index.html +71 -0
- data/public/javascripts/erp_app/codemirror/mode/haskell/index.html +3 -3
- data/public/javascripts/erp_app/codemirror/mode/haxe/haxe.js +432 -0
- data/public/javascripts/erp_app/codemirror/mode/haxe/index.html +90 -0
- data/public/javascripts/erp_app/codemirror/mode/htmlembedded/htmlembedded.js +68 -0
- data/public/javascripts/erp_app/codemirror/mode/htmlembedded/index.html +49 -0
- data/public/javascripts/erp_app/codemirror/mode/htmlmixed/htmlmixed.js +8 -2
- data/public/javascripts/erp_app/codemirror/mode/htmlmixed/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/javascript/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/javascript/javascript.js +26 -13
- data/public/javascripts/erp_app/codemirror/mode/jinja2/index.html +37 -0
- data/public/javascripts/erp_app/codemirror/mode/jinja2/jinja2.js +42 -0
- data/public/javascripts/erp_app/codemirror/mode/less/index.html +618 -0
- data/public/javascripts/erp_app/codemirror/mode/less/less.js +232 -0
- data/public/javascripts/erp_app/codemirror/mode/lua/index.html +3 -3
- data/public/javascripts/erp_app/codemirror/mode/lua/lua.js +5 -3
- data/public/javascripts/erp_app/codemirror/mode/markdown/index.html +340 -0
- data/public/javascripts/erp_app/codemirror/mode/markdown/markdown.js +268 -0
- data/public/javascripts/erp_app/codemirror/mode/mysql/index.html +41 -0
- data/public/javascripts/erp_app/codemirror/mode/mysql/mysql.js +186 -0
- data/public/javascripts/erp_app/codemirror/mode/ntriples/index.html +32 -0
- data/public/javascripts/erp_app/codemirror/mode/ntriples/ntriples.js +172 -0
- data/public/javascripts/erp_app/codemirror/mode/ocaml/index.html +130 -0
- data/public/javascripts/erp_app/codemirror/mode/ocaml/ocaml.js +114 -0
- data/public/javascripts/erp_app/codemirror/mode/pascal/LICENSE +7 -0
- data/public/javascripts/erp_app/codemirror/mode/pascal/index.html +48 -0
- data/public/javascripts/erp_app/codemirror/mode/pascal/pascal.js +94 -0
- data/public/javascripts/erp_app/codemirror/mode/perl/LICENSE +19 -0
- data/public/javascripts/erp_app/codemirror/mode/perl/index.html +62 -0
- data/public/javascripts/erp_app/codemirror/mode/perl/perl.js +816 -0
- data/public/javascripts/erp_app/codemirror/mode/php/index.html +4 -5
- data/public/javascripts/erp_app/codemirror/mode/php/php.js +62 -27
- data/public/javascripts/erp_app/codemirror/mode/pig/index.html +42 -0
- data/public/javascripts/erp_app/codemirror/mode/pig/pig.js +172 -0
- data/public/javascripts/erp_app/codemirror/mode/plsql/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/plsql/plsql.js +2 -2
- data/public/javascripts/erp_app/codemirror/mode/properties/index.html +40 -0
- data/public/javascripts/erp_app/codemirror/mode/properties/properties.js +63 -0
- data/public/javascripts/erp_app/codemirror/mode/python/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/python/python.js +59 -42
- data/public/javascripts/erp_app/codemirror/mode/r/index.html +5 -5
- data/public/javascripts/erp_app/codemirror/mode/r/r.js +9 -2
- data/public/javascripts/erp_app/codemirror/mode/rpm/changes/changes.js +19 -0
- data/public/javascripts/erp_app/codemirror/mode/rpm/changes/index.html +53 -0
- data/public/javascripts/erp_app/codemirror/mode/rpm/spec/index.html +99 -0
- data/public/javascripts/erp_app/codemirror/mode/rpm/spec/spec.css +5 -0
- data/public/javascripts/erp_app/codemirror/mode/rpm/spec/spec.js +66 -0
- data/public/javascripts/erp_app/codemirror/mode/rst/index.html +4 -5
- data/public/javascripts/erp_app/codemirror/mode/rst/rst.js +15 -22
- data/public/javascripts/erp_app/codemirror/mode/ruby/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/ruby/ruby.js +49 -36
- data/public/javascripts/erp_app/codemirror/mode/rust/index.html +48 -0
- data/public/javascripts/erp_app/codemirror/mode/rust/rust.js +432 -0
- data/public/javascripts/erp_app/codemirror/mode/scheme/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/scheme/scheme.js +71 -23
- data/public/javascripts/erp_app/codemirror/mode/shell/index.html +50 -0
- data/public/javascripts/erp_app/codemirror/mode/shell/shell.js +118 -0
- data/public/javascripts/erp_app/codemirror/mode/smalltalk/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/smalltalk/smalltalk.js +137 -120
- data/public/javascripts/erp_app/codemirror/mode/smarty/index.html +82 -0
- data/public/javascripts/erp_app/codemirror/mode/smarty/smarty.js +148 -0
- data/public/javascripts/erp_app/codemirror/mode/sparql/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/mode/stex/index.html +4 -5
- data/public/javascripts/erp_app/codemirror/mode/stex/stex.js +22 -7
- data/public/javascripts/erp_app/codemirror/mode/stex/test.html +263 -0
- data/public/javascripts/erp_app/codemirror/mode/tiddlywiki/index.html +140 -0
- data/public/javascripts/erp_app/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- data/public/javascripts/erp_app/codemirror/mode/tiddlywiki/tiddlywiki.js +384 -0
- data/public/javascripts/erp_app/codemirror/mode/tiki/index.html +82 -0
- data/public/javascripts/erp_app/codemirror/mode/tiki/tiki.css +26 -0
- data/public/javascripts/erp_app/codemirror/mode/tiki/tiki.js +316 -0
- data/public/javascripts/erp_app/codemirror/mode/vb/LICENSE.txt +21 -0
- data/public/javascripts/erp_app/codemirror/mode/vb/index.html +88 -0
- data/public/javascripts/erp_app/codemirror/mode/vb/vb.js +260 -0
- data/public/javascripts/erp_app/codemirror/mode/vbscript/index.html +42 -0
- data/public/javascripts/erp_app/codemirror/mode/vbscript/vbscript.js +26 -0
- data/public/javascripts/erp_app/codemirror/mode/velocity/index.html +3 -3
- data/public/javascripts/erp_app/codemirror/mode/verilog/index.html +210 -0
- data/public/javascripts/erp_app/codemirror/mode/verilog/verilog.js +194 -0
- data/public/javascripts/erp_app/codemirror/mode/xml/index.html +7 -5
- data/public/javascripts/erp_app/codemirror/mode/xml/xml.js +127 -32
- data/public/javascripts/erp_app/codemirror/mode/xquery/LICENSE +20 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/index.html +222 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/index.html +27 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/testBase.js +42 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/testEmptySequenceKeyword.js +16 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/testMultiAttr.js +16 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/testNamespaces.js +91 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/testProcessingInstructions.js +16 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/test/testQuotes.js +19 -0
- data/public/javascripts/erp_app/codemirror/mode/xquery/xquery.js +448 -0
- data/public/javascripts/erp_app/codemirror/mode/yaml/index.html +3 -4
- data/public/javascripts/erp_app/codemirror/package.json +29 -0
- data/public/javascripts/erp_app/codemirror/test/driver.js +42 -0
- data/public/javascripts/erp_app/codemirror/test/index.html +55 -0
- data/public/javascripts/erp_app/codemirror/test/mode_test.css +22 -0
- data/public/javascripts/erp_app/codemirror/test/mode_test.js +164 -0
- data/public/javascripts/erp_app/codemirror/test/test.js +467 -0
- data/public/javascripts/erp_app/codemirror/theme/ambiance.css +81 -0
- data/public/javascripts/erp_app/codemirror/theme/blackboard.css +25 -0
- data/public/javascripts/erp_app/codemirror/theme/cobalt.css +18 -0
- data/public/javascripts/erp_app/codemirror/theme/eclipse.css +25 -0
- data/public/javascripts/erp_app/codemirror/theme/elegant.css +3 -2
- data/public/javascripts/erp_app/codemirror/theme/erlang-dark.css +21 -0
- data/public/javascripts/erp_app/codemirror/theme/lesser-dark.css +44 -0
- data/public/javascripts/erp_app/codemirror/theme/monokai.css +28 -0
- data/public/javascripts/erp_app/codemirror/theme/neat.css +4 -3
- data/public/javascripts/erp_app/codemirror/theme/night.css +2 -1
- data/public/javascripts/erp_app/codemirror/theme/rubyblue.css +21 -0
- data/public/javascripts/erp_app/codemirror/theme/vibrant-ink.css +27 -0
- data/public/javascripts/erp_app/codemirror/theme/xq-dark.css +46 -0
- data/public/javascripts/erp_app/codemirror_highlight.js +17 -0
- data/public/javascripts/erp_app/desktop/applications/audit_log_viewer/module.js +1 -57
- data/public/javascripts/erp_app/desktop/applications/control_panel/application_management_panel.js +1 -2
- data/public/javascripts/erp_app/desktop/applications/control_panel/module.js +1 -1
- data/public/javascripts/erp_app/desktop/applications/file_manager/module.js +12 -1
- data/public/javascripts/erp_app/desktop/ext_ux_desktop_module.js +9 -1
- data/public/javascripts/erp_app/jquery_support.js +6 -1
- data/public/javascripts/erp_app/login/window.js +1 -1
- data/public/javascripts/erp_app/organizer/default_menu_tree_panel.js +3 -1
- data/public/javascripts/erp_app/organizer/layout.js +92 -79
- data/public/javascripts/erp_app/organizer/preference_window.js +1 -1
- data/public/javascripts/erp_app/{desktop/applications/audit_log_viewer → shared/audit_log}/audit_log_grid_panel.js +1 -0
- data/public/javascripts/erp_app/{desktop/applications/audit_log_viewer → shared/audit_log}/audit_log_item_grid_panel.js +0 -0
- data/public/javascripts/erp_app/shared/audit_log/audit_log_tab_panel.js +52 -0
- data/public/javascripts/erp_app/shared/compass_ckeditor.js +51 -1
- data/public/javascripts/erp_app/shared/compass_codemirror.js +2 -8
- data/public/javascripts/erp_app/shared/configuration/configuration_panel.js +24 -22
- data/public/javascripts/erp_app/shared/dynamic_editable_grid.js +1 -0
- data/public/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +5 -1
- data/public/javascripts/erp_app/shared/file_manager_tree.js +358 -270
- data/public/javascripts/erp_app/shared/file_upload/Ext.ux.panel.UploadPanel.js +580 -0
- data/public/javascripts/erp_app/shared/file_upload/plupload.flash.swf +0 -0
- data/public/javascripts/erp_app/shared/file_upload/plupload.full.js +2 -0
- data/public/javascripts/erp_app/shared/file_upload/plupload.silverlight.xap +0 -0
- data/public/javascripts/erp_app/shared/file_upload/upload_window.js +19 -212
- data/public/javascripts/erp_app/{desktop/applications/control_panel → shared}/profile_management_panel.js +14 -23
- data/public/javascripts/erp_app/utility.js +340 -272
- data/public/javascripts/erp_app/widgets.js +2 -2
- data/public/javascripts/extjs/MultiCellSelectionModel.js +490 -0
- data/public/javascripts/jquery_plugins/jquery.address.min.js +21 -24
- data/public/stylesheets/erp_app/desktop/base.css +3 -1
- data/public/stylesheets/erp_app/shared/compass-ext-all.css +29 -0
- data/public/stylesheets/erp_app/shared/hover_finger.css +4 -0
- metadata +267 -71
- data/app/controllers/erp_app/desktop/control_panel/profile_management_controller.rb +0 -23
- data/app/models/extensions/party.rb +0 -39
- data/public/images/icons/add/Thumbs.db +0 -0
- data/public/images/icons/calendar/Thumbs.db +0 -0
- data/public/images/icons/copy/Thumbs.db +0 -0
- data/public/images/icons/cut/Thumbs.db +0 -0
- data/public/images/icons/delete/Thumbs.db +0 -0
- data/public/images/icons/edit/Thumbs.db +0 -0
- data/public/images/icons/folder/Thumbs.db +0 -0
- data/public/images/icons/gear/Thumbs.db +0 -0
- data/public/images/icons/globe/Thumbs.db +0 -0
- data/public/images/icons/grid/Thumbs.db +0 -0
- data/public/images/icons/help/Thumbs.db +0 -0
- data/public/images/icons/information/Thumbs.db +0 -0
- data/public/images/icons/key/Thumbs.db +0 -0
- data/public/images/icons/log_out/Thumbs.db +0 -0
- data/public/images/icons/mail/Thumbs.db +0 -0
- data/public/images/icons/new/Thumbs.db +0 -0
- data/public/images/icons/next/Thumbs.db +0 -0
- data/public/images/icons/open/Thumbs.db +0 -0
- data/public/images/icons/paste/Thumbs.db +0 -0
- data/public/images/icons/picture/Thumbs.db +0 -0
- data/public/images/icons/presentation/Thumbs.db +0 -0
- data/public/images/icons/preview/Thumbs.db +0 -0
- data/public/images/icons/previous/Thumbs.db +0 -0
- data/public/images/icons/print/Thumbs.db +0 -0
- data/public/images/icons/properties/Thumbs.db +0 -0
- data/public/images/icons/redo/Thumbs.db +0 -0
- data/public/images/icons/refresh/Thumbs.db +0 -0
- data/public/images/icons/remove/Thumbs.db +0 -0
- data/public/images/icons/rename/Thumbs.db +0 -0
- data/public/images/icons/save/Thumbs.db +0 -0
- data/public/images/icons/search/Thumbs.db +0 -0
- data/public/images/icons/send/Thumbs.db +0 -0
- data/public/images/icons/settings/Thumbs.db +0 -0
- data/public/images/icons/synchronize/Thumbs.db +0 -0
- data/public/images/icons/undo/Thumbs.db +0 -0
- data/public/images/icons/upload/Thumbs.db +0 -0
- data/public/images/icons/user/Thumbs.db +0 -0
- data/public/images/icons/zoom_in/Thumbs.db +0 -0
- data/public/images/icons/zoom_out/Thumbs.db +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/jwplayer/jwplayer/Thumbs.db +0 -0
- data/public/javascripts/erp_app/codemirror/lib/runmode.js +0 -27
- data/public/javascripts/erp_app/codemirror/mode/diff/diff.css +0 -3
- data/public/javascripts/erp_app/codemirror/mode/rst/rst.css +0 -75
- data/public/javascripts/erp_app/codemirror/mode/xmlpure/index.html +0 -60
- data/public/javascripts/erp_app/codemirror/mode/xmlpure/xmlpure.js +0 -481
- data/public/javascripts/erp_app/codemirror/theme/default.css +0 -19
- data/public/javascripts/erp_app/shared/file_upload/Ext.ux.AwesomeUploader.js +0 -511
- data/public/javascripts/erp_app/shared/file_upload/Ext.ux.AwesomeUploaderLocalization.js +0 -45
- data/public/javascripts/erp_app/shared/file_upload/Ext.ux.XHRUpload.js +0 -138
- data/public/javascripts/erp_app/tinymce/Ext.ux.TinyMCE.js +0 -689
- data/public/javascripts/erp_app/tinymce/center_region.js +0 -611
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Author: Hans Engel
|
|
3
|
+
* Branched from CodeMirror's Scheme mode (by Koh Zi Han, based on implementation by Koh Zi Chun)
|
|
4
|
+
*/
|
|
5
|
+
CodeMirror.defineMode("clojure", function (config, mode) {
|
|
6
|
+
var BUILTIN = "builtin", COMMENT = "comment", STRING = "string", TAG = "tag",
|
|
7
|
+
ATOM = "atom", NUMBER = "number", BRACKET = "bracket", KEYWORD = "keyword";
|
|
8
|
+
var INDENT_WORD_SKIP = 2, KEYWORDS_SKIP = 1;
|
|
9
|
+
|
|
10
|
+
function makeKeywords(str) {
|
|
11
|
+
var obj = {}, words = str.split(" ");
|
|
12
|
+
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
|
|
13
|
+
return obj;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var atoms = makeKeywords("true false nil");
|
|
17
|
+
|
|
18
|
+
var keywords = makeKeywords(
|
|
19
|
+
"defn defn- def def- defonce defmulti defmethod defmacro defstruct deftype defprotocol defrecord defproject deftest slice defalias defhinted defmacro- defn-memo defnk defnk defonce- defunbound defunbound- defvar defvar- let letfn do case cond condp for loop recur when when-not when-let when-first if if-let if-not . .. -> ->> doto and or dosync doseq dotimes dorun doall load import unimport ns in-ns refer try catch finally throw with-open with-local-vars binding gen-class gen-and-load-class gen-and-save-class handler-case handle");
|
|
20
|
+
|
|
21
|
+
var builtins = makeKeywords(
|
|
22
|
+
"* *1 *2 *3 *agent* *allow-unresolved-vars* *assert *clojure-version* *command-line-args* *compile-files* *compile-path* *e *err* *file* *flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *use-context-classloader* *warn-on-reflection* + - / < <= = == > >= accessor aclone agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* butlast byte byte-array bytes case cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec decimal? declare definline defmacro defmethod defmulti defn defn- defonce defstruct delay delay? deliver deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall doc dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq eval even? every? extend extend-protocol extend-type extends? extenders false? ffirst file-seq filter find find-doc find-ns find-var first float float-array float? floats flush fn fn? fnext for force format future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator hash hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map? mapcat max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod name namespace neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-doc print-dup print-method print-namespace-doc print-simple print-special-doc print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string reify reduce ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure release-pending-sends rem remove remove-method remove-ns repeat repeatedly replace replicate require reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq rsubseq satisfies? second select-keys send send-off seq seq? seque sequence sequential? set set-validator! set? short short-array shorts shutdown-agents slurp some sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-form-anchor special-symbol? split-at split-with str stream? string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test the-ns time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision xml-seq");
|
|
23
|
+
|
|
24
|
+
var indentKeys = makeKeywords(
|
|
25
|
+
// Built-ins
|
|
26
|
+
"ns fn def defn defmethod bound-fn if if-not case condp when while when-not when-first do future comment doto locking proxy with-open with-precision reify deftype defrecord defprotocol extend extend-protocol extend-type try catch " +
|
|
27
|
+
|
|
28
|
+
// Binding forms
|
|
29
|
+
"let letfn binding loop for doseq dotimes when-let if-let " +
|
|
30
|
+
|
|
31
|
+
// Data structures
|
|
32
|
+
"defstruct struct-map assoc " +
|
|
33
|
+
|
|
34
|
+
// clojure.test
|
|
35
|
+
"testing deftest " +
|
|
36
|
+
|
|
37
|
+
// contrib
|
|
38
|
+
"handler-case handle dotrace deftrace");
|
|
39
|
+
|
|
40
|
+
var tests = {
|
|
41
|
+
digit: /\d/,
|
|
42
|
+
digit_or_colon: /[\d:]/,
|
|
43
|
+
hex: /[0-9a-fA-F]/,
|
|
44
|
+
sign: /[+-]/,
|
|
45
|
+
exponent: /[eE]/,
|
|
46
|
+
keyword_char: /[^\s\(\[\;\)\]]/,
|
|
47
|
+
basic: /[\w\$_\-]/,
|
|
48
|
+
lang_keyword: /[\w*+!\-_?:\/]/
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function stateStack(indent, type, prev) { // represents a state stack object
|
|
52
|
+
this.indent = indent;
|
|
53
|
+
this.type = type;
|
|
54
|
+
this.prev = prev;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function pushStack(state, indent, type) {
|
|
58
|
+
state.indentStack = new stateStack(indent, type, state.indentStack);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function popStack(state) {
|
|
62
|
+
state.indentStack = state.indentStack.prev;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function isNumber(ch, stream){
|
|
66
|
+
// hex
|
|
67
|
+
if ( ch === '0' && 'x' == stream.peek().toLowerCase() ) {
|
|
68
|
+
stream.eat('x');
|
|
69
|
+
stream.eatWhile(tests.hex);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// leading sign
|
|
74
|
+
if ( ch == '+' || ch == '-' ) {
|
|
75
|
+
stream.eat(tests.sign);
|
|
76
|
+
ch = stream.next();
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if ( tests.digit.test(ch) ) {
|
|
80
|
+
stream.eat(ch);
|
|
81
|
+
stream.eatWhile(tests.digit);
|
|
82
|
+
|
|
83
|
+
if ( '.' == stream.peek() ) {
|
|
84
|
+
stream.eat('.');
|
|
85
|
+
stream.eatWhile(tests.digit);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if ( 'e' == stream.peek().toLowerCase() ) {
|
|
89
|
+
stream.eat(tests.exponent);
|
|
90
|
+
stream.eat(tests.sign);
|
|
91
|
+
stream.eatWhile(tests.digit);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
startState: function () {
|
|
102
|
+
return {
|
|
103
|
+
indentStack: null,
|
|
104
|
+
indentation: 0,
|
|
105
|
+
mode: false
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
token: function (stream, state) {
|
|
110
|
+
if (state.indentStack == null && stream.sol()) {
|
|
111
|
+
// update indentation, but only if indentStack is empty
|
|
112
|
+
state.indentation = stream.indentation();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// skip spaces
|
|
116
|
+
if (stream.eatSpace()) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
var returnType = null;
|
|
120
|
+
|
|
121
|
+
switch(state.mode){
|
|
122
|
+
case "string": // multi-line string parsing mode
|
|
123
|
+
var next, escaped = false;
|
|
124
|
+
while ((next = stream.next()) != null) {
|
|
125
|
+
if (next == "\"" && !escaped) {
|
|
126
|
+
|
|
127
|
+
state.mode = false;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
escaped = !escaped && next == "\\";
|
|
131
|
+
}
|
|
132
|
+
returnType = STRING; // continue on in string mode
|
|
133
|
+
break;
|
|
134
|
+
default: // default parsing mode
|
|
135
|
+
var ch = stream.next();
|
|
136
|
+
|
|
137
|
+
if (ch == "\"") {
|
|
138
|
+
state.mode = "string";
|
|
139
|
+
returnType = STRING;
|
|
140
|
+
} else if (ch == "'" && !( tests.digit_or_colon.test(stream.peek()) )) {
|
|
141
|
+
returnType = ATOM;
|
|
142
|
+
} else if (ch == ";") { // comment
|
|
143
|
+
stream.skipToEnd(); // rest of the line is a comment
|
|
144
|
+
returnType = COMMENT;
|
|
145
|
+
} else if (isNumber(ch,stream)){
|
|
146
|
+
returnType = NUMBER;
|
|
147
|
+
} else if (ch == "(" || ch == "[") {
|
|
148
|
+
var keyWord = ''; var indentTemp = stream.column();
|
|
149
|
+
/**
|
|
150
|
+
Either
|
|
151
|
+
(indent-word ..
|
|
152
|
+
(non-indent-word ..
|
|
153
|
+
(;something else, bracket, etc.
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
if (ch == "(") while ((letter = stream.eat(tests.keyword_char)) != null) {
|
|
157
|
+
keyWord += letter;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (keyWord.length > 0 && indentKeys.propertyIsEnumerable(keyWord)) { // indent-word
|
|
161
|
+
pushStack(state, indentTemp + INDENT_WORD_SKIP, ch);
|
|
162
|
+
} else { // non-indent word
|
|
163
|
+
// we continue eating the spaces
|
|
164
|
+
stream.eatSpace();
|
|
165
|
+
if (stream.eol() || stream.peek() == ";") {
|
|
166
|
+
// nothing significant after
|
|
167
|
+
// we restart indentation 1 space after
|
|
168
|
+
pushStack(state, indentTemp + 1, ch);
|
|
169
|
+
} else {
|
|
170
|
+
pushStack(state, indentTemp + stream.current().length, ch); // else we match
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
stream.backUp(stream.current().length - 1); // undo all the eating
|
|
174
|
+
|
|
175
|
+
returnType = BRACKET;
|
|
176
|
+
} else if (ch == ")" || ch == "]") {
|
|
177
|
+
returnType = BRACKET;
|
|
178
|
+
if (state.indentStack != null && state.indentStack.type == (ch == ")" ? "(" : "[")) {
|
|
179
|
+
popStack(state);
|
|
180
|
+
}
|
|
181
|
+
} else if ( ch == ":" ) {
|
|
182
|
+
stream.eatWhile(tests.lang_keyword);
|
|
183
|
+
return ATOM;
|
|
184
|
+
} else {
|
|
185
|
+
stream.eatWhile(tests.basic);
|
|
186
|
+
|
|
187
|
+
if (keywords && keywords.propertyIsEnumerable(stream.current())) {
|
|
188
|
+
returnType = KEYWORD;
|
|
189
|
+
} else if (builtins && builtins.propertyIsEnumerable(stream.current())) {
|
|
190
|
+
returnType = BUILTIN;
|
|
191
|
+
} else if (atoms && atoms.propertyIsEnumerable(stream.current())) {
|
|
192
|
+
returnType = ATOM;
|
|
193
|
+
} else returnType = null;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return returnType;
|
|
198
|
+
},
|
|
199
|
+
|
|
200
|
+
indent: function (state, textAfter) {
|
|
201
|
+
if (state.indentStack == null) return state.indentation;
|
|
202
|
+
return state.indentStack.indent;
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
CodeMirror.defineMIME("text/x-clojure", "clojure");
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>CodeMirror: Clojure mode</title>
|
|
5
|
+
<link rel="stylesheet" href="../../lib/codemirror.css">
|
|
6
|
+
<script src="../../lib/codemirror.js"></script>
|
|
7
|
+
<script src="clojure.js"></script>
|
|
8
|
+
<style>.CodeMirror {background: #f8f8f8;}</style>
|
|
9
|
+
<link rel="stylesheet" href="../../doc/docs.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<h1>CodeMirror: Clojure mode</h1>
|
|
13
|
+
<form><textarea id="code" name="code">
|
|
14
|
+
; Conway's Game of Life, based on the work of:
|
|
15
|
+
;; Laurent Petit https://gist.github.com/1200343
|
|
16
|
+
;; Christophe Grand http://clj-me.cgrand.net/2011/08/19/conways-game-of-life
|
|
17
|
+
|
|
18
|
+
(ns ^{:doc "Conway's Game of Life."}
|
|
19
|
+
game-of-life)
|
|
20
|
+
|
|
21
|
+
;; Core game of life's algorithm functions
|
|
22
|
+
|
|
23
|
+
(defn neighbours
|
|
24
|
+
"Given a cell's coordinates, returns the coordinates of its neighbours."
|
|
25
|
+
[[x y]]
|
|
26
|
+
(for [dx [-1 0 1] dy (if (zero? dx) [-1 1] [-1 0 1])]
|
|
27
|
+
[(+ dx x) (+ dy y)]))
|
|
28
|
+
|
|
29
|
+
(defn step
|
|
30
|
+
"Given a set of living cells, computes the new set of living cells."
|
|
31
|
+
[cells]
|
|
32
|
+
(set (for [[cell n] (frequencies (mapcat neighbours cells))
|
|
33
|
+
:when (or (= n 3) (and (= n 2) (cells cell)))]
|
|
34
|
+
cell)))
|
|
35
|
+
|
|
36
|
+
;; Utility methods for displaying game on a text terminal
|
|
37
|
+
|
|
38
|
+
(defn print-board
|
|
39
|
+
"Prints a board on *out*, representing a step in the game."
|
|
40
|
+
[board w h]
|
|
41
|
+
(doseq [x (range (inc w)) y (range (inc h))]
|
|
42
|
+
(if (= y 0) (print "\n"))
|
|
43
|
+
(print (if (board [x y]) "[X]" " . "))))
|
|
44
|
+
|
|
45
|
+
(defn display-grids
|
|
46
|
+
"Prints a squence of boards on *out*, representing several steps."
|
|
47
|
+
[grids w h]
|
|
48
|
+
(doseq [board grids]
|
|
49
|
+
(print-board board w h)
|
|
50
|
+
(print "\n")))
|
|
51
|
+
|
|
52
|
+
;; Launches an example board
|
|
53
|
+
|
|
54
|
+
(def
|
|
55
|
+
^{:doc "board represents the initial set of living cells"}
|
|
56
|
+
board #{[2 1] [2 2] [2 3]})
|
|
57
|
+
|
|
58
|
+
(display-grids (take 3 (iterate step board)) 5 5) </textarea></form>
|
|
59
|
+
<script>
|
|
60
|
+
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {});
|
|
61
|
+
</script>
|
|
62
|
+
|
|
63
|
+
<p><strong>MIME types defined:</strong> <code>text/x-clojure</code>.</p>
|
|
64
|
+
|
|
65
|
+
</body>
|
|
66
|
+
</html>
|
|
@@ -4,31 +4,36 @@
|
|
|
4
4
|
*/
|
|
5
5
|
CodeMirror.defineMode('coffeescript', function(conf) {
|
|
6
6
|
var ERRORCLASS = 'error';
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
function wordRegexp(words) {
|
|
9
9
|
return new RegExp("^((" + words.join(")|(") + "))\\b");
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
var singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!\?]");
|
|
13
|
-
var singleDelimiters = new RegExp('^[\\(\\)\\[\\]\\{\\}
|
|
14
|
-
var doubleOperators = new RegExp("^((\\+\\+)|(\\+\\=)|(\\-\\-)|(\\-\\=)|(\\*\\*)|(\\*\\=)|(\\/\\/)|(\\/\\=)|(==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//))");
|
|
15
|
-
var doubleDelimiters = new RegExp("^((
|
|
13
|
+
var singleDelimiters = new RegExp('^[\\(\\)\\[\\]\\{\\},:`=;\\.]');
|
|
14
|
+
var doubleOperators = new RegExp("^((\->)|(\=>)|(\\+\\+)|(\\+\\=)|(\\-\\-)|(\\-\\=)|(\\*\\*)|(\\*\\=)|(\\/\\/)|(\\/\\=)|(==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//))");
|
|
15
|
+
var doubleDelimiters = new RegExp("^((\\.\\.)|(\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))");
|
|
16
16
|
var tripleDelimiters = new RegExp("^((\\.\\.\\.)|(//=)|(>>=)|(<<=)|(\\*\\*=))");
|
|
17
|
-
var identifiers = new RegExp("^[_A-Za-z][_A-Za-
|
|
17
|
+
var identifiers = new RegExp("^[_A-Za-z$][_A-Za-z$0-9]*");
|
|
18
|
+
var properties = new RegExp("^(@|this\.)[_A-Za-z$][_A-Za-z$0-9]*");
|
|
18
19
|
|
|
19
20
|
var wordOperators = wordRegexp(['and', 'or', 'not',
|
|
20
21
|
'is', 'isnt', 'in',
|
|
21
22
|
'instanceof', 'typeof']);
|
|
22
|
-
var
|
|
23
|
-
'
|
|
24
|
-
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
|
|
23
|
+
var indentKeywords = ['for', 'while', 'loop', 'if', 'unless', 'else',
|
|
24
|
+
'switch', 'try', 'catch', 'finally', 'class'];
|
|
25
|
+
var commonKeywords = ['break', 'by', 'continue', 'debugger', 'delete',
|
|
26
|
+
'do', 'in', 'of', 'new', 'return', 'then',
|
|
27
|
+
'this', 'throw', 'when', 'until'];
|
|
28
|
+
|
|
29
|
+
var keywords = wordRegexp(indentKeywords.concat(commonKeywords));
|
|
28
30
|
|
|
31
|
+
indentKeywords = wordRegexp(indentKeywords);
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
var
|
|
33
|
+
|
|
34
|
+
var stringPrefixes = new RegExp("^('{3}|\"{3}|['\"])");
|
|
35
|
+
var regexPrefixes = new RegExp("^(/{3}|/)");
|
|
36
|
+
var commonConstants = ['Infinity', 'NaN', 'undefined', 'null', 'true', 'false', 'on', 'off', 'yes', 'no'];
|
|
32
37
|
var constants = wordRegexp(commonConstants);
|
|
33
38
|
|
|
34
39
|
// Tokenizers
|
|
@@ -53,15 +58,27 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
53
58
|
if (stream.eatSpace()) {
|
|
54
59
|
return null;
|
|
55
60
|
}
|
|
56
|
-
|
|
61
|
+
|
|
57
62
|
var ch = stream.peek();
|
|
58
|
-
|
|
59
|
-
// Handle
|
|
63
|
+
|
|
64
|
+
// Handle docco title comment (single line)
|
|
65
|
+
if (stream.match("####")) {
|
|
66
|
+
stream.skipToEnd();
|
|
67
|
+
return 'comment';
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Handle multi line comments
|
|
71
|
+
if (stream.match("###")) {
|
|
72
|
+
state.tokenize = longComment;
|
|
73
|
+
return state.tokenize(stream, state);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Single line comment
|
|
60
77
|
if (ch === '#') {
|
|
61
78
|
stream.skipToEnd();
|
|
62
79
|
return 'comment';
|
|
63
80
|
}
|
|
64
|
-
|
|
81
|
+
|
|
65
82
|
// Handle number literals
|
|
66
83
|
if (stream.match(/^-?[0-9\.]/, false)) {
|
|
67
84
|
var floatLiteral = false;
|
|
@@ -75,7 +92,12 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
75
92
|
if (stream.match(/^-?\.\d+/)) {
|
|
76
93
|
floatLiteral = true;
|
|
77
94
|
}
|
|
95
|
+
|
|
78
96
|
if (floatLiteral) {
|
|
97
|
+
// prevent from getting extra . on 1..
|
|
98
|
+
if (stream.peek() == "."){
|
|
99
|
+
stream.backUp(1);
|
|
100
|
+
}
|
|
79
101
|
return 'number';
|
|
80
102
|
}
|
|
81
103
|
// Integers
|
|
@@ -96,13 +118,22 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
96
118
|
return 'number';
|
|
97
119
|
}
|
|
98
120
|
}
|
|
99
|
-
|
|
121
|
+
|
|
100
122
|
// Handle strings
|
|
101
123
|
if (stream.match(stringPrefixes)) {
|
|
102
|
-
state.tokenize =
|
|
124
|
+
state.tokenize = tokenFactory(stream.current(), 'string');
|
|
103
125
|
return state.tokenize(stream, state);
|
|
104
126
|
}
|
|
105
|
-
|
|
127
|
+
// Handle regex literals
|
|
128
|
+
if (stream.match(regexPrefixes)) {
|
|
129
|
+
if (stream.current() != '/' || stream.match(/^.*\//, false)) { // prevent highlight of division
|
|
130
|
+
state.tokenize = tokenFactory(stream.current(), 'string-2');
|
|
131
|
+
return state.tokenize(stream, state);
|
|
132
|
+
} else {
|
|
133
|
+
stream.backUp(1);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
106
137
|
// Handle operators and delimiters
|
|
107
138
|
if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) {
|
|
108
139
|
return 'punctuation';
|
|
@@ -115,58 +146,68 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
115
146
|
if (stream.match(singleDelimiters)) {
|
|
116
147
|
return 'punctuation';
|
|
117
148
|
}
|
|
118
|
-
|
|
149
|
+
|
|
119
150
|
if (stream.match(constants)) {
|
|
120
151
|
return 'atom';
|
|
121
152
|
}
|
|
122
|
-
|
|
153
|
+
|
|
123
154
|
if (stream.match(keywords)) {
|
|
124
155
|
return 'keyword';
|
|
125
156
|
}
|
|
126
|
-
|
|
157
|
+
|
|
127
158
|
if (stream.match(identifiers)) {
|
|
128
159
|
return 'variable';
|
|
129
160
|
}
|
|
130
161
|
|
|
162
|
+
if (stream.match(properties)) {
|
|
163
|
+
return 'property';
|
|
164
|
+
}
|
|
165
|
+
|
|
131
166
|
// Handle non-detected items
|
|
132
167
|
stream.next();
|
|
133
168
|
return ERRORCLASS;
|
|
134
169
|
}
|
|
135
|
-
|
|
136
|
-
function
|
|
137
|
-
while ('rub'.indexOf(delimiter[0].toLowerCase()) >= 0) {
|
|
138
|
-
delimiter = delimiter.substr(1);
|
|
139
|
-
}
|
|
140
|
-
var delim_re = new RegExp(delimiter);
|
|
170
|
+
|
|
171
|
+
function tokenFactory(delimiter, outclass) {
|
|
141
172
|
var singleline = delimiter.length == 1;
|
|
142
|
-
var OUTCLASS = 'string';
|
|
143
|
-
|
|
144
173
|
return function tokenString(stream, state) {
|
|
145
174
|
while (!stream.eol()) {
|
|
146
|
-
stream.eatWhile(/[^'"
|
|
175
|
+
stream.eatWhile(/[^'"\/\\]/);
|
|
147
176
|
if (stream.eat('\\')) {
|
|
148
177
|
stream.next();
|
|
149
178
|
if (singleline && stream.eol()) {
|
|
150
|
-
return
|
|
179
|
+
return outclass;
|
|
151
180
|
}
|
|
152
|
-
} else if (stream.match(
|
|
181
|
+
} else if (stream.match(delimiter)) {
|
|
153
182
|
state.tokenize = tokenBase;
|
|
154
|
-
return
|
|
183
|
+
return outclass;
|
|
155
184
|
} else {
|
|
156
|
-
stream.eat(/['"]/);
|
|
185
|
+
stream.eat(/['"\/]/);
|
|
157
186
|
}
|
|
158
187
|
}
|
|
159
188
|
if (singleline) {
|
|
160
189
|
if (conf.mode.singleLineStringErrors) {
|
|
161
|
-
|
|
190
|
+
outclass = ERRORCLASS
|
|
162
191
|
} else {
|
|
163
192
|
state.tokenize = tokenBase;
|
|
164
193
|
}
|
|
165
194
|
}
|
|
166
|
-
return
|
|
195
|
+
return outclass;
|
|
167
196
|
};
|
|
168
197
|
}
|
|
169
|
-
|
|
198
|
+
|
|
199
|
+
function longComment(stream, state) {
|
|
200
|
+
while (!stream.eol()) {
|
|
201
|
+
stream.eatWhile(/[^#]/);
|
|
202
|
+
if (stream.match("###")) {
|
|
203
|
+
state.tokenize = tokenBase;
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
stream.eatWhile("#");
|
|
207
|
+
}
|
|
208
|
+
return "comment"
|
|
209
|
+
}
|
|
210
|
+
|
|
170
211
|
function indent(stream, state, type) {
|
|
171
212
|
type = type || 'coffee';
|
|
172
213
|
var indentUnit = 0;
|
|
@@ -185,7 +226,7 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
185
226
|
type: type
|
|
186
227
|
});
|
|
187
228
|
}
|
|
188
|
-
|
|
229
|
+
|
|
189
230
|
function dedent(stream, state) {
|
|
190
231
|
if (state.scopes.length == 1) return;
|
|
191
232
|
if (state.scopes[0].type === 'coffee') {
|
|
@@ -224,23 +265,12 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
224
265
|
return ERRORCLASS;
|
|
225
266
|
}
|
|
226
267
|
}
|
|
227
|
-
|
|
228
|
-
// Handle decorators
|
|
229
|
-
if (current === '@') {
|
|
230
|
-
style = state.tokenize(stream, state);
|
|
231
|
-
current = stream.current();
|
|
232
|
-
if (style === 'variable') {
|
|
233
|
-
return 'variable-2';
|
|
234
|
-
} else {
|
|
235
|
-
return ERRORCLASS;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
|
|
268
|
+
|
|
239
269
|
// Handle scope changes.
|
|
240
|
-
if (current === '
|
|
270
|
+
if (current === 'return') {
|
|
241
271
|
state.dedent += 1;
|
|
242
272
|
}
|
|
243
|
-
if ((current === '->' &&
|
|
273
|
+
if (((current === '->' || current === '=>') &&
|
|
244
274
|
!state.lambda &&
|
|
245
275
|
state.scopes[0].type == 'coffee' &&
|
|
246
276
|
stream.peek() === '')
|
|
@@ -251,6 +281,14 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
251
281
|
if (delimiter_index !== -1) {
|
|
252
282
|
indent(stream, state, '])}'.slice(delimiter_index, delimiter_index+1));
|
|
253
283
|
}
|
|
284
|
+
if (indentKeywords.exec(current)){
|
|
285
|
+
indent(stream, state);
|
|
286
|
+
}
|
|
287
|
+
if (current == 'then'){
|
|
288
|
+
dedent(stream, state);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
|
|
254
292
|
if (style === 'dedent') {
|
|
255
293
|
if (dedent(stream, state)) {
|
|
256
294
|
return ERRORCLASS;
|
|
@@ -266,7 +304,7 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
266
304
|
if (state.scopes.length > 1) state.scopes.shift();
|
|
267
305
|
state.dedent -= 1;
|
|
268
306
|
}
|
|
269
|
-
|
|
307
|
+
|
|
270
308
|
return style;
|
|
271
309
|
}
|
|
272
310
|
|
|
@@ -280,27 +318,27 @@ CodeMirror.defineMode('coffeescript', function(conf) {
|
|
|
280
318
|
dedent: 0
|
|
281
319
|
};
|
|
282
320
|
},
|
|
283
|
-
|
|
321
|
+
|
|
284
322
|
token: function(stream, state) {
|
|
285
323
|
var style = tokenLexer(stream, state);
|
|
286
|
-
|
|
324
|
+
|
|
287
325
|
state.lastToken = {style:style, content: stream.current()};
|
|
288
|
-
|
|
326
|
+
|
|
289
327
|
if (stream.eol() && stream.lambda) {
|
|
290
328
|
state.lambda = false;
|
|
291
329
|
}
|
|
292
|
-
|
|
330
|
+
|
|
293
331
|
return style;
|
|
294
332
|
},
|
|
295
|
-
|
|
333
|
+
|
|
296
334
|
indent: function(state, textAfter) {
|
|
297
335
|
if (state.tokenize != tokenBase) {
|
|
298
336
|
return 0;
|
|
299
337
|
}
|
|
300
|
-
|
|
338
|
+
|
|
301
339
|
return state.scopes[0].offset;
|
|
302
340
|
}
|
|
303
|
-
|
|
341
|
+
|
|
304
342
|
};
|
|
305
343
|
return external;
|
|
306
344
|
});
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
|
-
<title>CodeMirror
|
|
4
|
+
<title>CodeMirror: CoffeeScript mode</title>
|
|
5
5
|
<link rel="stylesheet" href="../../lib/codemirror.css">
|
|
6
6
|
<script src="../../lib/codemirror.js"></script>
|
|
7
7
|
<script src="coffeescript.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../../theme/default.css">
|
|
9
8
|
<style>.CodeMirror {border-top: 1px solid silver; border-bottom: 1px solid silver;}</style>
|
|
10
|
-
<link rel="stylesheet" href="../../
|
|
9
|
+
<link rel="stylesheet" href="../../doc/docs.css">
|
|
11
10
|
</head>
|
|
12
11
|
<body>
|
|
13
|
-
<h1>CodeMirror
|
|
12
|
+
<h1>CodeMirror: CoffeeScript mode</h1>
|
|
14
13
|
<form><textarea id="code" name="code">
|
|
15
14
|
# CoffeeScript mode for CodeMirror
|
|
16
15
|
# Copyright (c) 2011 Jeff Pickhardt, released under
|
|
@@ -47,12 +46,18 @@ root = this
|
|
|
47
46
|
# Save the previous value of the `_` variable.
|
|
48
47
|
previousUnderscore = root._
|
|
49
48
|
|
|
49
|
+
### Multiline
|
|
50
|
+
comment
|
|
51
|
+
###
|
|
50
52
|
|
|
51
53
|
# Establish the object that gets thrown to break out of a loop iteration.
|
|
52
54
|
# `StopIteration` is SOP on Mozilla.
|
|
53
55
|
breaker = if typeof(StopIteration) is 'undefined' then '__break__' else StopIteration
|
|
54
56
|
|
|
55
57
|
|
|
58
|
+
#### Docco style single line comment (title)
|
|
59
|
+
|
|
60
|
+
|
|
56
61
|
# Helper function to escape **RegExp** contents, because JS doesn't have one.
|
|
57
62
|
escapeRegExp = (string) -> string.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1')
|
|
58
63
|
|
|
@@ -4,7 +4,7 @@ CodeMirror.defineMode("css", function(config) {
|
|
|
4
4
|
|
|
5
5
|
function tokenBase(stream, state) {
|
|
6
6
|
var ch = stream.next();
|
|
7
|
-
if (ch == "@") {stream.eatWhile(
|
|
7
|
+
if (ch == "@") {stream.eatWhile(/[\w\\\-]/); return ret("meta", stream.current());}
|
|
8
8
|
else if (ch == "/" && stream.eat("*")) {
|
|
9
9
|
state.tokenize = tokenCComment;
|
|
10
10
|
return tokenCComment(stream, state);
|
|
@@ -20,7 +20,7 @@ CodeMirror.defineMode("css", function(config) {
|
|
|
20
20
|
return state.tokenize(stream, state);
|
|
21
21
|
}
|
|
22
22
|
else if (ch == "#") {
|
|
23
|
-
stream.eatWhile(
|
|
23
|
+
stream.eatWhile(/[\w\\\-]/);
|
|
24
24
|
return ret("atom", "hash");
|
|
25
25
|
}
|
|
26
26
|
else if (ch == "!") {
|
|
@@ -38,7 +38,7 @@ CodeMirror.defineMode("css", function(config) {
|
|
|
38
38
|
return ret(null, ch);
|
|
39
39
|
}
|
|
40
40
|
else {
|
|
41
|
-
stream.eatWhile(/[\w\\\-
|
|
41
|
+
stream.eatWhile(/[\w\\\-]/);
|
|
42
42
|
return ret("variable", "variable");
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -92,7 +92,7 @@ CodeMirror.defineMode("css", function(config) {
|
|
|
92
92
|
var style = state.tokenize(stream, state);
|
|
93
93
|
|
|
94
94
|
var context = state.stack[state.stack.length-1];
|
|
95
|
-
if (type == "hash" && context
|
|
95
|
+
if (type == "hash" && context != "rule") style = "string-2";
|
|
96
96
|
else if (style == "variable") {
|
|
97
97
|
if (context == "rule") style = "number";
|
|
98
98
|
else if (!context || context == "@media{") style = "tag";
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
|
-
<title>CodeMirror
|
|
4
|
+
<title>CodeMirror: CSS mode</title>
|
|
5
5
|
<link rel="stylesheet" href="../../lib/codemirror.css">
|
|
6
6
|
<script src="../../lib/codemirror.js"></script>
|
|
7
7
|
<script src="css.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../../theme/default.css">
|
|
9
8
|
<style>.CodeMirror {background: #f8f8f8;}</style>
|
|
10
|
-
<link rel="stylesheet" href="../../
|
|
9
|
+
<link rel="stylesheet" href="../../doc/docs.css">
|
|
11
10
|
</head>
|
|
12
11
|
<body>
|
|
13
|
-
<h1>CodeMirror
|
|
12
|
+
<h1>CodeMirror: CSS mode</h1>
|
|
14
13
|
<form><textarea id="code" name="code">
|
|
15
14
|
/* Some example CSS */
|
|
16
15
|
|