From 90b02f9f0dfaf4404aa87009b3885566b6bcb80a Mon Sep 17 00:00:00 2001
From: Benjamin Franzke <bfr@qbus.de>
Date: Mon, 14 Dec 2020 21:31:53 +0100
Subject: [PATCH] [TASK] Implement t3editor as custom web component

Remove jQuery dependency, avoid inline javascript and
encapsulate initialization into a web component.

Also use "codemirror" as import name, as that's
what the npm package name is, and will eventually
allow to make use of TypeScript typings.

Releases: master
Resolves: #93149
Change-Id: Ia85784b21a90e1986ea6ba7a915e032aa7963d92
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67185
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
---
 .stylelintrc                                  |   9 +-
 Build/Gruntfile.js                            |   8 +-
 Build/Sources/Sass/editor.scss                |  10 +-
 .../TypeScript/Element/CodeMirrorElement.ts   | 153 ++++++++++++++++++
 .../Resources/Public/TypeScript/T3editor.ts   | 117 ++++----------
 Build/types/TYPO3/index.d.ts                  |   2 +-
 ...eReplacedByReplacedByCodeMirrorElement.rst |  48 ++++++
 .../Classes/Form/Element/T3editorElement.php  |  40 ++---
 .../Hook/PageRendererRenderPreProcess.php     |  12 +-
 .../Configuration/Backend/T3editor/Addons.php |  54 +++----
 .../Configuration/Backend/T3editor/Modes.php  |  10 +-
 .../Resources/Public/Css/t3editor.css         |   2 +-
 .../JavaScript/Addon/Hint/TypoScriptHint.js   |   4 +-
 .../Contrib/{cm => codemirror}/AUTHORS        |   0
 .../Contrib/{cm => codemirror}/CHANGELOG.md   |   0
 .../{cm => codemirror}/CONTRIBUTING.md        |   0
 .../Contrib/{cm => codemirror}/LICENSE        |   0
 .../Contrib/{cm => codemirror}/README.md      |   0
 .../addon/comment/comment.js                  |   0
 .../addon/comment/continuecomment.js          |   0
 .../addon/dialog/dialog.css                   |   0
 .../{cm => codemirror}/addon/dialog/dialog.js |   0
 .../addon/display/autorefresh.js              |   0
 .../addon/display/fullscreen.css              |   0
 .../addon/display/fullscreen.js               |   0
 .../{cm => codemirror}/addon/display/panel.js |   0
 .../addon/display/placeholder.js              |   0
 .../addon/display/rulers.js                   |   0
 .../addon/edit/closebrackets.js               |   0
 .../{cm => codemirror}/addon/edit/closetag.js |   0
 .../addon/edit/continuelist.js                |   0
 .../addon/edit/matchbrackets.js               |   0
 .../addon/edit/matchtags.js                   |   0
 .../addon/edit/trailingspace.js               |   0
 .../addon/fold/brace-fold.js                  |   0
 .../addon/fold/comment-fold.js                |   0
 .../{cm => codemirror}/addon/fold/foldcode.js |   0
 .../addon/fold/foldgutter.css                 |   0
 .../addon/fold/foldgutter.js                  |   0
 .../addon/fold/indent-fold.js                 |   0
 .../addon/fold/markdown-fold.js               |   0
 .../{cm => codemirror}/addon/fold/xml-fold.js |   0
 .../addon/hint/anyword-hint.js                |   0
 .../{cm => codemirror}/addon/hint/css-hint.js |   0
 .../addon/hint/html-hint.js                   |   0
 .../addon/hint/javascript-hint.js             |   0
 .../addon/hint/show-hint.css                  |   0
 .../addon/hint/show-hint.js                   |   0
 .../{cm => codemirror}/addon/hint/sql-hint.js |   0
 .../{cm => codemirror}/addon/hint/xml-hint.js |   0
 .../addon/lint/coffeescript-lint.js           |   0
 .../{cm => codemirror}/addon/lint/css-lint.js |   0
 .../addon/lint/html-lint.js                   |   0
 .../addon/lint/javascript-lint.js             |   0
 .../addon/lint/json-lint.js                   |   0
 .../{cm => codemirror}/addon/lint/lint.css    |   0
 .../{cm => codemirror}/addon/lint/lint.js     |   0
 .../addon/lint/yaml-lint.js                   |   0
 .../{cm => codemirror}/addon/merge/merge.css  |   0
 .../{cm => codemirror}/addon/merge/merge.js   |   0
 .../{cm => codemirror}/addon/mode/loadmode.js |   0
 .../addon/mode/multiplex.js                   |   0
 .../addon/mode/multiplex_test.js              |   0
 .../{cm => codemirror}/addon/mode/overlay.js  |   0
 .../{cm => codemirror}/addon/mode/simple.js   |   0
 .../addon/runmode/colorize.js                 |   0
 .../addon/runmode/runmode-standalone.js       |   0
 .../addon/runmode/runmode.js                  |   0
 .../addon/runmode/runmode.node.js             |   0
 .../addon/scroll/annotatescrollbar.js         |   0
 .../addon/scroll/scrollpastend.js             |   0
 .../addon/scroll/simplescrollbars.css         |   0
 .../addon/scroll/simplescrollbars.js          |   0
 .../addon/search/jump-to-line.js              |   0
 .../addon/search/match-highlighter.js         |   0
 .../addon/search/matchesonscrollbar.css       |   0
 .../addon/search/matchesonscrollbar.js        |   0
 .../{cm => codemirror}/addon/search/search.js |   0
 .../addon/search/searchcursor.js              |   0
 .../addon/selection/active-line.js            |   0
 .../addon/selection/mark-selection.js         |   0
 .../addon/selection/selection-pointer.js      |   0
 .../{cm => codemirror}/addon/tern/tern.css    |   0
 .../{cm => codemirror}/addon/tern/tern.js     |   0
 .../{cm => codemirror}/addon/tern/worker.js   |   0
 .../{cm => codemirror}/addon/wrap/hardwrap.js |   0
 .../{cm => codemirror}/bin/source-highlight   |   0
 .../{cm => codemirror}/keymap/emacs.js        |   0
 .../{cm => codemirror}/keymap/sublime.js      |   0
 .../Contrib/{cm => codemirror}/keymap/vim.js  |   0
 .../{cm => codemirror}/lib/codemirror.css     |   0
 .../{cm => codemirror}/lib/codemirror.js      |   0
 .../{cm => codemirror}/mode/apl/apl.js        |   0
 .../mode/asciiarmor/asciiarmor.js             |   0
 .../{cm => codemirror}/mode/asn.1/asn.1.js    |   0
 .../mode/asterisk/asterisk.js                 |   0
 .../mode/brainfuck/brainfuck.js               |   0
 .../{cm => codemirror}/mode/clike/clike.js    |   0
 .../mode/clojure/clojure.js                   |   0
 .../{cm => codemirror}/mode/cmake/cmake.js    |   0
 .../{cm => codemirror}/mode/cobol/cobol.js    |   0
 .../mode/coffeescript/coffeescript.js         |   0
 .../mode/commonlisp/commonlisp.js             |   0
 .../mode/crystal/crystal.js                   |   0
 .../{cm => codemirror}/mode/css/css.js        |   0
 .../{cm => codemirror}/mode/cypher/cypher.js  |   0
 .../Contrib/{cm => codemirror}/mode/d/d.js    |   0
 .../{cm => codemirror}/mode/dart/dart.js      |   0
 .../{cm => codemirror}/mode/diff/diff.js      |   0
 .../{cm => codemirror}/mode/django/django.js  |   0
 .../mode/dockerfile/dockerfile.js             |   0
 .../{cm => codemirror}/mode/dtd/dtd.js        |   0
 .../{cm => codemirror}/mode/dylan/dylan.js    |   0
 .../{cm => codemirror}/mode/ebnf/ebnf.js      |   0
 .../{cm => codemirror}/mode/ecl/ecl.js        |   0
 .../{cm => codemirror}/mode/eiffel/eiffel.js  |   0
 .../{cm => codemirror}/mode/elm/elm.js        |   0
 .../{cm => codemirror}/mode/erlang/erlang.js  |   0
 .../{cm => codemirror}/mode/factor/factor.js  |   0
 .../{cm => codemirror}/mode/fcl/fcl.js        |   0
 .../{cm => codemirror}/mode/forth/forth.js    |   0
 .../mode/fortran/fortran.js                   |   0
 .../{cm => codemirror}/mode/gas/gas.js        |   0
 .../{cm => codemirror}/mode/gfm/gfm.js        |   0
 .../mode/gherkin/gherkin.js                   |   0
 .../Contrib/{cm => codemirror}/mode/go/go.js  |   0
 .../{cm => codemirror}/mode/groovy/groovy.js  |   0
 .../{cm => codemirror}/mode/haml/haml.js      |   0
 .../mode/handlebars/handlebars.js             |   0
 .../mode/haskell-literate/haskell-literate.js |   0
 .../mode/haskell/haskell.js                   |   0
 .../{cm => codemirror}/mode/haxe/haxe.js      |   0
 .../mode/htmlembedded/htmlembedded.js         |   0
 .../mode/htmlmixed/htmlmixed.js               |   0
 .../{cm => codemirror}/mode/http/http.js      |   0
 .../{cm => codemirror}/mode/idl/idl.js        |   0
 .../mode/javascript/javascript.js             |   0
 .../{cm => codemirror}/mode/jinja2/jinja2.js  |   0
 .../{cm => codemirror}/mode/jsx/jsx.js        |   0
 .../{cm => codemirror}/mode/julia/julia.js    |   0
 .../mode/livescript/livescript.js             |   0
 .../{cm => codemirror}/mode/lua/lua.js        |   0
 .../mode/markdown/markdown.js                 |   0
 .../mode/mathematica/mathematica.js           |   0
 .../{cm => codemirror}/mode/mbox/mbox.js      |   0
 .../Contrib/{cm => codemirror}/mode/meta.js   |   0
 .../{cm => codemirror}/mode/mirc/mirc.js      |   0
 .../{cm => codemirror}/mode/mllike/mllike.js  |   0
 .../mode/modelica/modelica.js                 |   0
 .../{cm => codemirror}/mode/mscgen/mscgen.js  |   0
 .../{cm => codemirror}/mode/mumps/mumps.js    |   0
 .../{cm => codemirror}/mode/nginx/nginx.js    |   0
 .../{cm => codemirror}/mode/nsis/nsis.js      |   0
 .../mode/ntriples/ntriples.js                 |   0
 .../{cm => codemirror}/mode/octave/octave.js  |   0
 .../Contrib/{cm => codemirror}/mode/oz/oz.js  |   0
 .../{cm => codemirror}/mode/pascal/pascal.js  |   0
 .../{cm => codemirror}/mode/pegjs/pegjs.js    |   0
 .../{cm => codemirror}/mode/perl/perl.js      |   0
 .../{cm => codemirror}/mode/php/php.js        |   0
 .../{cm => codemirror}/mode/pig/pig.js        |   0
 .../mode/powershell/powershell.js             |   0
 .../mode/properties/properties.js             |   0
 .../mode/protobuf/protobuf.js                 |   0
 .../{cm => codemirror}/mode/pug/pug.js        |   0
 .../{cm => codemirror}/mode/puppet/puppet.js  |   0
 .../{cm => codemirror}/mode/python/python.js  |   0
 .../Contrib/{cm => codemirror}/mode/q/q.js    |   0
 .../Contrib/{cm => codemirror}/mode/r/r.js    |   0
 .../mode/rpm/changes/index.html               |   0
 .../{cm => codemirror}/mode/rpm/rpm.js        |   0
 .../{cm => codemirror}/mode/rst/rst.js        |   0
 .../{cm => codemirror}/mode/ruby/ruby.js      |   0
 .../{cm => codemirror}/mode/rust/rust.js      |   0
 .../{cm => codemirror}/mode/sas/sas.js        |   0
 .../{cm => codemirror}/mode/sass/sass.js      |   0
 .../{cm => codemirror}/mode/scheme/scheme.js  |   0
 .../{cm => codemirror}/mode/shell/shell.js    |   0
 .../{cm => codemirror}/mode/sieve/sieve.js    |   0
 .../{cm => codemirror}/mode/slim/slim.js      |   0
 .../mode/smalltalk/smalltalk.js               |   0
 .../{cm => codemirror}/mode/smarty/smarty.js  |   0
 .../{cm => codemirror}/mode/solr/solr.js      |   0
 .../{cm => codemirror}/mode/soy/soy.js        |   0
 .../{cm => codemirror}/mode/sparql/sparql.js  |   0
 .../mode/spreadsheet/spreadsheet.js           |   0
 .../{cm => codemirror}/mode/sql/sql.js        |   0
 .../{cm => codemirror}/mode/stex/stex.js      |   0
 .../{cm => codemirror}/mode/stylus/stylus.js  |   0
 .../{cm => codemirror}/mode/swift/swift.js    |   0
 .../{cm => codemirror}/mode/tcl/tcl.js        |   0
 .../mode/textile/textile.js                   |   0
 .../mode/tiddlywiki/tiddlywiki.css            |   0
 .../mode/tiddlywiki/tiddlywiki.js             |   0
 .../{cm => codemirror}/mode/tiki/tiki.css     |   0
 .../{cm => codemirror}/mode/tiki/tiki.js      |   0
 .../{cm => codemirror}/mode/toml/toml.js      |   0
 .../mode/tornado/tornado.js                   |   0
 .../{cm => codemirror}/mode/troff/troff.js    |   0
 .../mode/ttcn-cfg/ttcn-cfg.js                 |   0
 .../{cm => codemirror}/mode/ttcn/ttcn.js      |   0
 .../{cm => codemirror}/mode/turtle/turtle.js  |   0
 .../{cm => codemirror}/mode/twig/twig.js      |   0
 .../Contrib/{cm => codemirror}/mode/vb/vb.js  |   0
 .../mode/vbscript/vbscript.js                 |   0
 .../mode/velocity/velocity.js                 |   0
 .../mode/verilog/verilog.js                   |   0
 .../{cm => codemirror}/mode/vhdl/vhdl.js      |   0
 .../{cm => codemirror}/mode/vue/vue.js        |   0
 .../{cm => codemirror}/mode/wast/wast.js      |   0
 .../{cm => codemirror}/mode/webidl/webidl.js  |   0
 .../{cm => codemirror}/mode/xml/xml.js        |   0
 .../{cm => codemirror}/mode/xquery/xquery.js  |   0
 .../{cm => codemirror}/mode/yacas/yacas.js    |   0
 .../mode/yaml-frontmatter/yaml-frontmatter.js |   0
 .../{cm => codemirror}/mode/yaml/yaml.js      |   0
 .../{cm => codemirror}/mode/z80/z80.js        |   0
 .../Contrib/{cm => codemirror}/package.json   |   0
 .../{cm => codemirror}/theme/3024-day.css     |   0
 .../{cm => codemirror}/theme/3024-night.css   |   0
 .../{cm => codemirror}/theme/abcdef.css       |   0
 .../theme/ambiance-mobile.css                 |   0
 .../{cm => codemirror}/theme/ambiance.css     |   0
 .../{cm => codemirror}/theme/ayu-dark.css     |   0
 .../{cm => codemirror}/theme/ayu-mirage.css   |   0
 .../{cm => codemirror}/theme/base16-dark.css  |   0
 .../{cm => codemirror}/theme/base16-light.css |   0
 .../{cm => codemirror}/theme/bespin.css       |   0
 .../{cm => codemirror}/theme/blackboard.css   |   0
 .../{cm => codemirror}/theme/cobalt.css       |   0
 .../{cm => codemirror}/theme/colorforth.css   |   0
 .../{cm => codemirror}/theme/darcula.css      |   0
 .../{cm => codemirror}/theme/dracula.css      |   0
 .../{cm => codemirror}/theme/duotone-dark.css |   0
 .../theme/duotone-light.css                   |   0
 .../{cm => codemirror}/theme/eclipse.css      |   0
 .../{cm => codemirror}/theme/elegant.css      |   0
 .../{cm => codemirror}/theme/erlang-dark.css  |   0
 .../{cm => codemirror}/theme/gruvbox-dark.css |   0
 .../{cm => codemirror}/theme/hopscotch.css    |   0
 .../{cm => codemirror}/theme/icecoder.css     |   0
 .../Contrib/{cm => codemirror}/theme/idea.css |   0
 .../{cm => codemirror}/theme/isotope.css      |   0
 .../{cm => codemirror}/theme/lesser-dark.css  |   0
 .../{cm => codemirror}/theme/liquibyte.css    |   0
 .../{cm => codemirror}/theme/lucario.css      |   0
 .../theme/material-darker.css                 |   0
 .../theme/material-ocean.css                  |   0
 .../theme/material-palenight.css              |   0
 .../{cm => codemirror}/theme/material.css     |   0
 .../Contrib/{cm => codemirror}/theme/mbo.css  |   0
 .../{cm => codemirror}/theme/mdn-like.css     |   0
 .../{cm => codemirror}/theme/midnight.css     |   0
 .../{cm => codemirror}/theme/monokai.css      |   0
 .../{cm => codemirror}/theme/moxer.css        |   0
 .../Contrib/{cm => codemirror}/theme/neat.css |   0
 .../Contrib/{cm => codemirror}/theme/neo.css  |   0
 .../{cm => codemirror}/theme/night.css        |   0
 .../Contrib/{cm => codemirror}/theme/nord.css |   0
 .../{cm => codemirror}/theme/oceanic-next.css |   0
 .../{cm => codemirror}/theme/panda-syntax.css |   0
 .../{cm => codemirror}/theme/paraiso-dark.css |   0
 .../theme/paraiso-light.css                   |   0
 .../theme/pastel-on-dark.css                  |   0
 .../{cm => codemirror}/theme/railscasts.css   |   0
 .../{cm => codemirror}/theme/rubyblue.css     |   0
 .../Contrib/{cm => codemirror}/theme/seti.css |   0
 .../{cm => codemirror}/theme/shadowfox.css    |   0
 .../{cm => codemirror}/theme/solarized.css    |   0
 .../Contrib/{cm => codemirror}/theme/ssms.css |   0
 .../{cm => codemirror}/theme/the-matrix.css   |   0
 .../theme/tomorrow-night-bright.css           |   0
 .../theme/tomorrow-night-eighties.css         |   0
 .../Contrib/{cm => codemirror}/theme/ttcn.css |   0
 .../{cm => codemirror}/theme/twilight.css     |   0
 .../{cm => codemirror}/theme/vibrant-ink.css  |   0
 .../{cm => codemirror}/theme/xq-dark.css      |   0
 .../{cm => codemirror}/theme/xq-light.css     |   0
 .../Contrib/{cm => codemirror}/theme/yeti.css |   0
 .../{cm => codemirror}/theme/yonce.css        |   0
 .../{cm => codemirror}/theme/zenburn.css      |   0
 .../JavaScript/Element/CodeMirrorElement.js   |  28 ++++
 .../JavaScript/Mode/typoscript/typoscript.js  |   4 +-
 .../Resources/Public/JavaScript/T3editor.js   |   2 +-
 284 files changed, 342 insertions(+), 161 deletions(-)
 create mode 100644 Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/Element/CodeMirrorElement.ts
 create mode 100644 typo3/sysext/core/Documentation/Changelog/master/Deprecation-93149-T3EditorModuleReplacedByReplacedByCodeMirrorElement.rst
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/AUTHORS (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/CHANGELOG.md (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/CONTRIBUTING.md (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/LICENSE (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/README.md (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/comment/comment.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/comment/continuecomment.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/dialog/dialog.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/dialog/dialog.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/display/autorefresh.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/display/fullscreen.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/display/fullscreen.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/display/panel.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/display/placeholder.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/display/rulers.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/edit/closebrackets.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/edit/closetag.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/edit/continuelist.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/edit/matchbrackets.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/edit/matchtags.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/edit/trailingspace.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/brace-fold.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/comment-fold.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/foldcode.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/foldgutter.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/foldgutter.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/indent-fold.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/markdown-fold.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/fold/xml-fold.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/anyword-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/css-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/html-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/javascript-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/show-hint.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/show-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/sql-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/hint/xml-hint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/coffeescript-lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/css-lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/html-lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/javascript-lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/json-lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/lint.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/lint/yaml-lint.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/merge/merge.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/merge/merge.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/mode/loadmode.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/mode/multiplex.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/mode/multiplex_test.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/mode/overlay.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/mode/simple.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/runmode/colorize.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/runmode/runmode-standalone.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/runmode/runmode.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/runmode/runmode.node.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/scroll/annotatescrollbar.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/scroll/scrollpastend.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/scroll/simplescrollbars.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/scroll/simplescrollbars.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/search/jump-to-line.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/search/match-highlighter.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/search/matchesonscrollbar.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/search/matchesonscrollbar.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/search/search.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/search/searchcursor.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/selection/active-line.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/selection/mark-selection.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/selection/selection-pointer.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/tern/tern.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/tern/tern.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/tern/worker.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/addon/wrap/hardwrap.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/bin/source-highlight (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/keymap/emacs.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/keymap/sublime.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/keymap/vim.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/lib/codemirror.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/lib/codemirror.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/apl/apl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/asciiarmor/asciiarmor.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/asn.1/asn.1.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/asterisk/asterisk.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/brainfuck/brainfuck.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/clike/clike.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/clojure/clojure.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/cmake/cmake.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/cobol/cobol.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/coffeescript/coffeescript.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/commonlisp/commonlisp.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/crystal/crystal.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/css/css.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/cypher/cypher.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/d/d.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/dart/dart.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/diff/diff.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/django/django.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/dockerfile/dockerfile.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/dtd/dtd.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/dylan/dylan.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/ebnf/ebnf.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/ecl/ecl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/eiffel/eiffel.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/elm/elm.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/erlang/erlang.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/factor/factor.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/fcl/fcl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/forth/forth.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/fortran/fortran.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/gas/gas.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/gfm/gfm.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/gherkin/gherkin.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/go/go.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/groovy/groovy.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/haml/haml.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/handlebars/handlebars.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/haskell-literate/haskell-literate.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/haskell/haskell.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/haxe/haxe.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/htmlembedded/htmlembedded.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/htmlmixed/htmlmixed.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/http/http.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/idl/idl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/javascript/javascript.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/jinja2/jinja2.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/jsx/jsx.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/julia/julia.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/livescript/livescript.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/lua/lua.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/markdown/markdown.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/mathematica/mathematica.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/mbox/mbox.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/meta.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/mirc/mirc.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/mllike/mllike.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/modelica/modelica.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/mscgen/mscgen.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/mumps/mumps.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/nginx/nginx.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/nsis/nsis.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/ntriples/ntriples.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/octave/octave.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/oz/oz.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/pascal/pascal.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/pegjs/pegjs.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/perl/perl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/php/php.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/pig/pig.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/powershell/powershell.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/properties/properties.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/protobuf/protobuf.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/pug/pug.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/puppet/puppet.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/python/python.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/q/q.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/r/r.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/rpm/changes/index.html (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/rpm/rpm.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/rst/rst.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/ruby/ruby.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/rust/rust.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/sas/sas.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/sass/sass.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/scheme/scheme.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/shell/shell.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/sieve/sieve.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/slim/slim.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/smalltalk/smalltalk.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/smarty/smarty.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/solr/solr.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/soy/soy.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/sparql/sparql.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/spreadsheet/spreadsheet.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/sql/sql.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/stex/stex.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/stylus/stylus.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/swift/swift.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/tcl/tcl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/textile/textile.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/tiddlywiki/tiddlywiki.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/tiddlywiki/tiddlywiki.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/tiki/tiki.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/tiki/tiki.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/toml/toml.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/tornado/tornado.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/troff/troff.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/ttcn-cfg/ttcn-cfg.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/ttcn/ttcn.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/turtle/turtle.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/twig/twig.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/vb/vb.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/vbscript/vbscript.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/velocity/velocity.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/verilog/verilog.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/vhdl/vhdl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/vue/vue.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/wast/wast.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/webidl/webidl.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/xml/xml.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/xquery/xquery.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/yacas/yacas.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/yaml-frontmatter/yaml-frontmatter.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/yaml/yaml.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/mode/z80/z80.js (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/package.json (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/3024-day.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/3024-night.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/abcdef.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/ambiance-mobile.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/ambiance.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/ayu-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/ayu-mirage.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/base16-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/base16-light.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/bespin.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/blackboard.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/cobalt.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/colorforth.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/darcula.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/dracula.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/duotone-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/duotone-light.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/eclipse.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/elegant.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/erlang-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/gruvbox-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/hopscotch.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/icecoder.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/idea.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/isotope.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/lesser-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/liquibyte.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/lucario.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/material-darker.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/material-ocean.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/material-palenight.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/material.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/mbo.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/mdn-like.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/midnight.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/monokai.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/moxer.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/neat.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/neo.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/night.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/nord.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/oceanic-next.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/panda-syntax.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/paraiso-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/paraiso-light.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/pastel-on-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/railscasts.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/rubyblue.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/seti.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/shadowfox.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/solarized.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/ssms.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/the-matrix.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/tomorrow-night-bright.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/tomorrow-night-eighties.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/ttcn.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/twilight.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/vibrant-ink.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/xq-dark.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/xq-light.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/yeti.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/yonce.css (100%)
 rename typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/{cm => codemirror}/theme/zenburn.css (100%)
 create mode 100644 typo3/sysext/t3editor/Resources/Public/JavaScript/Element/CodeMirrorElement.js

diff --git a/.stylelintrc b/.stylelintrc
index 1e3a9dc34402..4f84412433af 100644
--- a/.stylelintrc
+++ b/.stylelintrc
@@ -153,7 +153,14 @@
     "selector-pseudo-element-colon-notation": "single",
     "selector-pseudo-element-no-unknown": true,
     "selector-type-case": "lower",
-    "selector-type-no-unknown": true,
+    "selector-type-no-unknown": [
+        true,
+        {
+            ignore: [
+                "custom-elements"
+            ]
+        }
+    ],
     "shorthand-property-no-redundant-values": true,
     "string-no-newline": true,
     "unit-case": "lower",
diff --git a/Build/Gruntfile.js b/Build/Gruntfile.js
index 1745d8786e61..1f4279b0d9da 100644
--- a/Build/Gruntfile.js
+++ b/Build/Gruntfile.js
@@ -438,7 +438,7 @@ module.exports = function (grunt) {
           {
             expand: true,
             cwd: '<%= paths.node_modules %>codemirror',
-            dest: '<%= paths.t3editor %>Public/JavaScript/Contrib/cm',
+            dest: '<%= paths.t3editor %>Public/JavaScript/Contrib/codemirror',
             src: ['**/*', '!**/src/**', '!rollup.config.js']
           }
         ]
@@ -674,10 +674,10 @@ module.exports = function (grunt) {
           {
             expand: true,
             src: [
-              '<%= paths.t3editor %>Public/JavaScript/Contrib/cm/**/*.js',
-              '!<%= paths.t3editor %>Public/JavaScript/Contrib/cm/**/*.min.js'
+              '<%= paths.t3editor %>Public/JavaScript/Contrib/codemirror/**/*.js',
+              '!<%= paths.t3editor %>Public/JavaScript/Contrib/codemirror/**/*.min.js'
             ],
-            dest: '<%= paths.t3editor %>Public/JavaScript/Contrib/cm',
+            dest: '<%= paths.t3editor %>Public/JavaScript/Contrib/codemirror',
             cwd: '.',
             rename: function (dest, src) {
               return src;
diff --git a/Build/Sources/Sass/editor.scss b/Build/Sources/Sass/editor.scss
index bdc25eb4ee15..adf9b16105b0 100644
--- a/Build/Sources/Sass/editor.scss
+++ b/Build/Sources/Sass/editor.scss
@@ -12,9 +12,17 @@ $panel-padding-vertical: 3px;
 $panel-padding-horizontal: 6px;
 $color-matching-bracket: #6ca52b;
 
-.t3editor-wrapper {
+typo3-t3editor-codemirror {
     border: 1px solid transparent;
 
+    textarea {
+        width: 100%;
+    }
+
+    * + textarea {
+        display: none;
+    }
+
     .CodeMirror-fullscreen {
         top: $fullscreen-top !important;
     }
diff --git a/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/Element/CodeMirrorElement.ts b/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/Element/CodeMirrorElement.ts
new file mode 100644
index 000000000000..c17d93469deb
--- /dev/null
+++ b/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/Element/CodeMirrorElement.ts
@@ -0,0 +1,153 @@
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+import CodeMirror from 'codemirror';
+import {LitElement, html, css, customElement, property, internalProperty, CSSResult} from 'lit-element';
+import FormEngine = require('TYPO3/CMS/Backend/FormEngine');
+
+import 'TYPO3/CMS/Backend/Element/SpinnerElement'
+
+/**
+ * Module: TYPO3/CMS/T3editor/Element/CodeMirrorElement
+ * Renders CodeMirror into FormEngine
+ */
+@customElement('typo3-t3editor-codemirror')
+export class CodeMirrorElement extends LitElement {
+  @property() mode: string;
+  @property() label: string;
+  @property({type: Array}) addons: string[] = [];
+  @property({type: Object}) options: { [key: string]: any[] } = {};
+  @internalProperty() loaded: boolean = false;
+
+  public static get styles(): CSSResult
+  {
+    return css`
+      :host {
+        display: block;
+        position: relative;
+      }
+      typo3-backend-spinner {
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        transform: translate(-50%, -50%);
+      }
+    `;
+  }
+
+  render() {
+    return html`
+      <slot></slot>
+      <slot name="codemirror"></slot>
+      ${this.loaded ? '' : html`<typo3-backend-spinner size="large"></typo3-backend-spinner>`}
+    `;
+  }
+
+  firstUpdated(): void {
+    const observerOptions = {
+      root: document.body
+    };
+    let observer = new IntersectionObserver((entries: IntersectionObserverEntry[]): void => {
+      entries.forEach((entry: IntersectionObserverEntry): void => {
+        if (entry.intersectionRatio > 0) {
+          observer.unobserve(entry.target);
+          if (this.firstElementChild && this.firstElementChild.nodeName.toLowerCase() === 'textarea') {
+            this.initializeEditor(<HTMLTextAreaElement>this.firstElementChild);
+          }
+        }
+      });
+    }, observerOptions);
+
+    observer.observe(this);
+  }
+
+  private createPanelNode(position: string, label: string): HTMLElement {
+    const node = document.createElement('div');
+    node.setAttribute('class', 'CodeMirror-panel CodeMirror-panel-' + position);
+    node.setAttribute('id', 'panel-' + position);
+
+    const span = document.createElement('span');
+    span.textContent = label;
+
+    node.appendChild(span);
+
+    return node;
+  }
+
+  private initializeEditor(textarea: HTMLTextAreaElement): void {
+    const modeParts = this.mode.split('/');
+    const options = this.options;
+
+    // load mode + registered addons
+    require([this.mode, ...this.addons], (): void => {
+      const cm = CodeMirror((node: HTMLElement): void => {
+        const wrapper = document.createElement('div');
+        wrapper.setAttribute('slot', 'codemirror');
+        wrapper.appendChild(node);
+        this.insertBefore(wrapper, textarea);
+      }, {
+        value: textarea.value,
+        extraKeys: {
+          'Ctrl-F': 'findPersistent',
+          'Cmd-F': 'findPersistent',
+          'Ctrl-Alt-F': (codemirror: any): void => {
+            codemirror.setOption('fullScreen', !codemirror.getOption('fullScreen'));
+          },
+          'Ctrl-Space': 'autocomplete',
+          'Esc': (codemirror: any): void => {
+            if (codemirror.getOption('fullScreen')) {
+              codemirror.setOption('fullScreen', false);
+            }
+          },
+        },
+        fullScreen: false,
+        lineNumbers: true,
+        lineWrapping: true,
+        mode: modeParts[modeParts.length - 1],
+      });
+
+      // set options
+      Object.keys(options).map((key: string): void => {
+        cm.setOption(key, options[key]);
+      });
+
+      // Mark form as changed if code editor content has changed
+      cm.on('change', (): void => {
+        textarea.value = cm.getValue();
+        FormEngine.Validation.markFieldAsChanged(textarea);
+      });
+
+      const bottomPanel = this.createPanelNode('bottom', this.label);
+      cm.addPanel(
+        bottomPanel,
+        {
+          position: 'bottom',
+          stable: false,
+        },
+      );
+
+      // cm.addPanel() changes the height of the editor, thus we have to override it here again
+      if (textarea.getAttribute('rows')) {
+        const lineHeight = 18;
+        const paddingBottom = 4;
+        cm.setSize(null, parseInt(textarea.getAttribute('rows'), 10) * lineHeight + paddingBottom + bottomPanel.getBoundingClientRect().height);
+      } else {
+        // Textarea has no "rows" attribute configured, don't limit editor in space
+        cm.getWrapperElement().style.height = (document.body.getBoundingClientRect().height - cm.getWrapperElement().getBoundingClientRect().top - 80) + 'px';
+        cm.setOption('viewportMargin', Infinity);
+      }
+
+      this.loaded = true;
+    });
+  }
+}
diff --git a/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/T3editor.ts b/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/T3editor.ts
index 5fa094e6bfd4..5bab3356e462 100644
--- a/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/T3editor.ts
+++ b/Build/Sources/TypeScript/t3editor/Resources/Public/TypeScript/T3editor.ts
@@ -11,14 +11,14 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import CodeMirror from 'cm/lib/codemirror';
-import $ from 'jquery';
-import FormEngine = require('TYPO3/CMS/Backend/FormEngine');
+import './Element/CodeMirrorElement';
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 
 /**
  * Module: TYPO3/CMS/T3editor/T3editor
  * Renders CodeMirror into FormEngine
  * @exports TYPO3/CMS/T3editor/T3editor
+ * @deprecated since v11.1, will be removed in v12
  */
 class T3editor {
 
@@ -28,20 +28,23 @@ class T3editor {
    * @returns {HTMLElement}
    */
   public static createPanelNode(position: string, label: string): HTMLElement {
-    const $panelNode = $('<div />', {
-      class: 'CodeMirror-panel CodeMirror-panel-' + position,
-      id: 'panel-' + position,
-    }).append(
-      $('<span />').text(label),
-    );
+    const node = document.createElement('div');
+    node.setAttribute('class', 'CodeMirror-panel CodeMirror-panel-' + position);
+    node.setAttribute('id', 'panel-' + position);
 
-    return $panelNode.get(0);
+    const span = document.createElement('span');
+    span.textContent = label;
+
+    node.appendChild(span);
+
+    return node;
   }
 
   /**
    * The constructor, set the class properties default values
    */
   constructor() {
+    console.warn('TYPO3/CMS/T3editor/T3editor has been marked as deprecated. Please use TYPO3/CMS/T3editor/Element/CodeMirrorElement instead.');
     this.initialize();
   }
 
@@ -49,7 +52,7 @@ class T3editor {
    * Initialize the events
    */
   public initialize(): void {
-    $((): void => {
+    DocumentService.ready().then((): void => {
       this.observeEditorCandidates();
     });
   }
@@ -58,87 +61,25 @@ class T3editor {
    * Initializes CodeMirror on available texteditors
    */
   public observeEditorCandidates(): void {
-    const observerOptions = {
-      root: document.body
-    };
-
-    let observer = new IntersectionObserver((entries: IntersectionObserverEntry[]): void => {
-      entries.forEach((entry: IntersectionObserverEntry): void => {
-        if (entry.intersectionRatio > 0) {
-          const $target = $(entry.target);
-          if (!$target.prop('is_t3editor')) {
-            this.initializeEditor($target);
-          }
-        }
-      })
-    }, observerOptions);
-
     document.querySelectorAll('textarea.t3editor').forEach((textarea: HTMLTextAreaElement): void => {
-      observer.observe(textarea);
-    });
-  }
-
-  private initializeEditor($textarea: JQuery): void {
-    const config = $textarea.data('codemirror-config');
-    const modeParts = config.mode.split('/');
-    const addons = $.merge([modeParts.join('/')], JSON.parse(config.addons));
-    const options = JSON.parse(config.options);
-
-    // load mode + registered addons
-    require(addons, (): void => {
-      const cm = CodeMirror.fromTextArea($textarea.get(0), {
-        extraKeys: {
-          'Ctrl-F': 'findPersistent',
-          'Cmd-F': 'findPersistent',
-          'Ctrl-Alt-F': (codemirror: any): void => {
-            codemirror.setOption('fullScreen', !codemirror.getOption('fullScreen'));
-          },
-          'Ctrl-Space': 'autocomplete',
-          'Esc': (codemirror: any): void => {
-            if (codemirror.getOption('fullScreen')) {
-              codemirror.setOption('fullScreen', false);
-            }
-          },
-        },
-        fullScreen: false,
-        lineNumbers: true,
-        lineWrapping: true,
-        mode: modeParts[modeParts.length - 1],
-      });
-
-      // set options
-      $.each(options, (key: string, value: any): void => {
-        cm.setOption(key, value);
-      });
-
-      // Mark form as changed if code editor content has changed
-      cm.on('change', (): void => {
-        FormEngine.Validation.markFieldAsChanged($textarea);
-      });
-
-      const bottomPanel = T3editor.createPanelNode('bottom', config.label);
-      cm.addPanel(
-        bottomPanel,
-        {
-          position: 'bottom',
-          stable: false,
-        },
-      );
-
-      // cm.addPanel() changes the height of the editor, thus we have to override it here again
-      if ($textarea.attr('rows')) {
-        const lineHeight = 18;
-        const paddingBottom = 4;
-        cm.setSize(null, parseInt($textarea.attr('rows'), 10) * lineHeight + paddingBottom + bottomPanel.getBoundingClientRect().height);
-      } else {
-        // Textarea has no "rows" attribute configured, don't limit editor in space
-        cm.getWrapperElement().style.height = (document.body.getBoundingClientRect().height - cm.getWrapperElement().getBoundingClientRect().top - 80) + 'px';
-        cm.setOption('viewportMargin', Infinity);
+      if (textarea.parentElement.tagName.toLowerCase() === 'typo3-t3editor-codemirror') {
+        return;
       }
+      const editor = document.createElement('typo3-t3editor-codemirror');
+      const config = JSON.parse(textarea.getAttribute('data-codemirror-config'));
+      editor.setAttribute('mode', config.mode);
+      editor.setAttribute('label', config.label);
+      editor.setAttribute('addons', config.addons);
+      editor.setAttribute('options', config.options);
+
+      this.wrap(textarea, editor);
     });
-
-    $textarea.prop('is_t3editor', true);
   }
+
+  private wrap(toWrap: HTMLElement, wrapper: HTMLElement) {
+    toWrap.parentElement.insertBefore(wrapper, toWrap);
+    wrapper.appendChild(toWrap);
+  };
 }
 
 // create an instance and return it
diff --git a/Build/types/TYPO3/index.d.ts b/Build/types/TYPO3/index.d.ts
index baa46ae224fb..6e5a6433b01b 100644
--- a/Build/types/TYPO3/index.d.ts
+++ b/Build/types/TYPO3/index.d.ts
@@ -130,7 +130,7 @@ interface Window {
  * Needed type declarations for provided libs
  */
 declare module 'muuri';
-declare module 'cm/lib/codemirror';
+declare module 'codemirror';
 declare module 'flatpickr/flatpickr.min';
 declare module 'moment';
 declare module 'Sortable';
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93149-T3EditorModuleReplacedByReplacedByCodeMirrorElement.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93149-T3EditorModuleReplacedByReplacedByCodeMirrorElement.rst
new file mode 100644
index 000000000000..5b5bb8781424
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-93149-T3EditorModuleReplacedByReplacedByCodeMirrorElement.rst
@@ -0,0 +1,48 @@
+.. include:: ../../Includes.txt
+
+==============================================================================
+Deprecation: #93149 - T3Editor JavaScript module replaced by CodeMirrorElement
+==============================================================================
+
+See :issue:`93149`
+
+Description
+===========
+
+The T3Editor - that offers code editing capabilities for TCA
+:php:`renderType=t3editor` fields - has been refactored into a custom HTML
+element :html:`<typo3-t3editor-codemirror>`.
+The element is provided by the new JavaScript module
+js:`TYPO3/CMS/T3editor/Element/CodeMirrorElement`.
+
+
+Impact
+======
+
+Using :html:`<textarea class="t3editor">..</textarea>` will work as before.
+The new custom element will automatically be used, but a deprecating warning
+will be logged to the browser console.
+
+
+Affected Installations
+======================
+
+TYPO3 installations that use the T3Editor library in custom extensions, which
+is very unlikely.
+
+
+Migration
+=========
+
+Use the new :js:`TYPO3/CMS/T3editor/Element/CodeMirrorElement` module and adapt
+your markup to read:
+
+.. block:: html
+
+   <typo3-t3editor-codemirror mode="..." addons="[..]" options="{..}">
+       <textarea name="foo">..</textarea>
+   </typo3-t3editor-codemirror>
+
+Please make sure to drop the t3editor class from the textarea.
+
+.. index:: Backend, JavaScript, NotScanned, ext:backend
diff --git a/typo3/sysext/t3editor/Classes/Form/Element/T3editorElement.php b/typo3/sysext/t3editor/Classes/Form/Element/T3editorElement.php
index f61d7d92e2f2..e3acbba2d749 100644
--- a/typo3/sysext/t3editor/Classes/Form/Element/T3editorElement.php
+++ b/typo3/sysext/t3editor/Classes/Form/Element/T3editorElement.php
@@ -87,10 +87,10 @@ class T3editorElement extends AbstractFormElement
     public function render(): array
     {
         $this->resultArray = $this->initializeResultArray();
-        $this->resultArray['stylesheetFiles'][] = 'EXT:t3editor/Resources/Public/JavaScript/Contrib/cm/lib/codemirror.css';
+        $this->resultArray['stylesheetFiles'][] = 'EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror/lib/codemirror.css';
         $this->resultArray['stylesheetFiles'][] = 'EXT:t3editor/Resources/Public/Css/t3editor.css';
         $this->resultArray['requireJsModules'][] = [
-            'TYPO3/CMS/T3editor/T3editor' => 'function(T3editor) {T3editor.observeEditorCandidates()}'
+            'TYPO3/CMS/T3editor/Element/CodeMirrorElement' => null
         ];
 
         // Compile and register t3editor configuration
@@ -111,15 +111,12 @@ class T3editorElement extends AbstractFormElement
         }
 
         $attributes['wrap'] = 'off';
-        $attributes['style'] = 'width:100%;';
-        $attributes['onchange'] = GeneralUtility::quoteJSvalue($parameterArray['fieldChangeFunc']['TBE_EDITOR_fieldChanged']);
 
-        $attributeString = GeneralUtility::implodeAttributes($attributes, true);
         $editorHtml = $this->getHTMLCodeForEditor(
             $parameterArray['itemFormElName'],
             'text-monospace enable-tab',
             $parameterArray['itemFormElValue'],
-            $attributeString,
+            $attributes,
             $this->data['tableName'] . ' > ' . $this->data['fieldName'],
             [
                 'target' => 0,
@@ -145,9 +142,7 @@ class T3editorElement extends AbstractFormElement
         $html[] =   '<div class="form-control-wrap">';
         $html[] =       '<div class="form-wizards-wrap">';
         $html[] =           '<div class="form-wizards-element">';
-        $html[] =               '<div class="t3editor-wrapper">';
-        $html[] =                   $editorHtml;
-        $html[] =               '</div>';
+        $html[] =               $editorHtml;
         $html[] =           '</div>';
         if (!empty($fieldControlHtml)) {
             $html[] =           '<div class="form-wizards-items-aside">';
@@ -176,7 +171,7 @@ class T3editorElement extends AbstractFormElement
      * @param string $name Name attribute of HTML tag
      * @param string $class Class attribute of HTML tag
      * @param string $content Content of the editor
-     * @param string $additionalParams Any additional editor parameters
+     * @param array $attributes Any additional editor parameters
      * @param string $label Codemirror panel label
      * @param array $hiddenfields
      *
@@ -187,16 +182,15 @@ class T3editorElement extends AbstractFormElement
         string $name,
         string $class = '',
         string $content = '',
-        string $additionalParams = '',
+        array $attributes = [],
         string $label = '',
         array $hiddenfields = []
     ): string {
         $code = [];
-        $attributes = [];
         $mode = $this->getMode();
         $registeredAddons = AddonRegistry::getInstance()->getForMode($mode->getFormatCode());
 
-        $attributes['class'] = $class . ' t3editor';
+        $attributes['class'] = $class;
         $attributes['id'] = 't3editor_' . md5($name);
         $attributes['name'] = $name;
 
@@ -205,27 +199,23 @@ class T3editorElement extends AbstractFormElement
         foreach ($registeredAddons as $addon) {
             $addons[] = $addon->getIdentifier();
         }
-
-        $attributes['data-codemirror-config'] = json_encode([
+        $codeMirrorConfig = [
             'mode' => $mode->getIdentifier(),
             'label' => $label,
-            'addons' => json_encode($addons),
-            'options' => json_encode($settings)
-        ]);
-
-        $attributesString = '';
-        foreach ($attributes as $attribute => $value) {
-            $attributesString .= $attribute . '="' . htmlspecialchars((string)$value) . '" ';
-        }
-        $attributesString .= $additionalParams;
+            'addons' => GeneralUtility::jsonEncodeForHtmlAttribute($addons, false),
+            'options' => GeneralUtility::jsonEncodeForHtmlAttribute($settings, false),
+        ];
 
-        $code[] = '<textarea ' . $attributesString . '>' . htmlspecialchars($content) . '</textarea>';
+        $code[] = '<typo3-t3editor-codemirror ' . GeneralUtility::implodeAttributes($codeMirrorConfig, true) . '>';
+        $code[] = '<textarea ' . GeneralUtility::implodeAttributes($attributes, true) . '>' . htmlspecialchars($content) . '</textarea>';
 
         if (!empty($hiddenfields)) {
             foreach ($hiddenfields as $attributeName => $value) {
                 $code[] = '<input type="hidden" name="' . htmlspecialchars((string)$attributeName) . '" value="' . htmlspecialchars((string)$value) . '" />';
             }
         }
+        $code[] = '</typo3-t3editor-codemirror>';
+
         return implode(LF, $code);
     }
 
diff --git a/typo3/sysext/t3editor/Classes/Hook/PageRendererRenderPreProcess.php b/typo3/sysext/t3editor/Classes/Hook/PageRendererRenderPreProcess.php
index f408cf44b2eb..346d8b6007dc 100644
--- a/typo3/sysext/t3editor/Classes/Hook/PageRendererRenderPreProcess.php
+++ b/typo3/sysext/t3editor/Classes/Hook/PageRendererRenderPreProcess.php
@@ -38,13 +38,19 @@ final class PageRendererRenderPreProcess
             $pageRenderer->addRequireJsConfiguration([
                 'packages' => [
                     [
-                        'name' => 'cm',
+                        'name' => 'codemirror',
                         'location' => PathUtility::getAbsoluteWebPath(
-                            GeneralUtility::getFileAbsFileName('EXT:t3editor/Resources/Public/JavaScript/Contrib/cm')
+                            GeneralUtility::getFileAbsFileName('EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror')
                         ),
                         'main' => 'lib/codemirror',
+                    ],
+                ],
+                // @deprecated since v11.1, will be removed in v12
+                'map' => [
+                    '*' => [
+                        'cm' => 'codemirror',
                     ]
-                ]
+                ],
             ]);
         }
     }
diff --git a/typo3/sysext/t3editor/Configuration/Backend/T3editor/Addons.php b/typo3/sysext/t3editor/Configuration/Backend/T3editor/Addons.php
index bc38fc638fad..e4b43a180903 100644
--- a/typo3/sysext/t3editor/Configuration/Backend/T3editor/Addons.php
+++ b/typo3/sysext/t3editor/Configuration/Backend/T3editor/Addons.php
@@ -5,87 +5,87 @@
  */
 return [
     'dialog/dialog' => [
-        'module' => 'cm/addon/dialog/dialog',
+        'module' => 'codemirror/addon/dialog/dialog',
         'cssFiles' => [
-            'EXT:t3editor/Resources/Public/JavaScript/Contrib/cm/addon/dialog/dialog.css',
+            'EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/dialog/dialog.css',
         ],
     ],
     'display/fullscreen' => [
-        'module' => 'cm/addon/display/fullscreen',
+        'module' => 'codemirror/addon/display/fullscreen',
         'cssFiles' => [
-            'EXT:t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/fullscreen.css',
+            'EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/fullscreen.css',
         ],
     ],
     'display/autorefresh' => [
-        'module' => 'cm/addon/display/autorefresh',
+        'module' => 'codemirror/addon/display/autorefresh',
     ],
     'display/panel' => [
-        'module' => 'cm/addon/display/panel',
+        'module' => 'codemirror/addon/display/panel',
     ],
     'fold/xml-fold' => [
-        'module' => 'cm/addon/fold/xml-fold',
+        'module' => 'codemirror/addon/fold/xml-fold',
     ],
     'scroll/simplescrollbars' => [
-        'module' => 'cm/addon/scroll/simplescrollbars',
+        'module' => 'codemirror/addon/scroll/simplescrollbars',
         'cssFiles' => [
-            'EXT:t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/simplescrollbars.css',
+            'EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/simplescrollbars.css',
         ],
         'options' => [
             'scrollbarStyle' => 'simple',
         ],
     ],
     'scroll/annotatescrollbar' => [
-        'module' => 'cm/addon/scroll/annotatescrollbar',
+        'module' => 'codemirror/addon/scroll/annotatescrollbar',
     ],
     'search/searchcursor' => [
-        'module' => 'cm/addon/search/searchcursor',
+        'module' => 'codemirror/addon/search/searchcursor',
     ],
     'search/search' => [
-        'module' => 'cm/addon/search/search',
+        'module' => 'codemirror/addon/search/search',
     ],
     'search/jump-to-line' => [
-        'module' => 'cm/addon/search/jump-to-line',
+        'module' => 'codemirror/addon/search/jump-to-line',
     ],
     'search/matchesonscrollbar' => [
-        'module' => 'cm/addon/search/matchesonscrollbar',
+        'module' => 'codemirror/addon/search/matchesonscrollbar',
         'cssFiles' => [
-            'EXT:t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/matchesonscrollbar.css',
+            'EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/matchesonscrollbar.css',
         ],
     ],
     'edit/matchbrackets' => [
-        'module' => 'cm/addon/edit/matchbrackets',
+        'module' => 'codemirror/addon/edit/matchbrackets',
         'options' => [
             'matchBrackets' => true,
         ],
     ],
     'edit/closebrackets' => [
-        'module' => 'cm/addon/edit/closebrackets',
+        'module' => 'codemirror/addon/edit/closebrackets',
         'options' => [
             'autoCloseBrackets' => true,
         ],
     ],
     'selection/active-line' => [
-        'module' => 'cm/addon/selection/active-line',
+        'module' => 'codemirror/addon/selection/active-line',
         'options' => [
             'styleActiveLine' => true,
         ],
     ],
     'edit/matchtags' => [
-        'module' => 'cm/addon/edit/matchtags',
+        'module' => 'codemirror/addon/edit/matchtags',
         'options' => [
             'matchTags' => true,
         ],
     ],
     'edit/closetag' => [
-        'module' => 'cm/addon/edit/closetag',
+        'module' => 'codemirror/addon/edit/closetag',
         'options' => [
             'autoCloseTags' => true,
         ],
     ],
     'hint/show-hint' => [
-        'module' => 'cm/addon/hint/show-hint',
+        'module' => 'codemirror/addon/hint/show-hint',
         'cssFiles' => [
-            'EXT:t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/show-hint.css',
+            'EXT:t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/show-hint.css',
         ],
         'options' => [
             'hintOptions' => [
@@ -94,23 +94,23 @@ return [
         ],
     ],
     'hint/css-hint' => [
-        'module' => 'cm/addon/hint/css-hint',
+        'module' => 'codemirror/addon/hint/css-hint',
         'modes' => ['css'],
     ],
     'hint/xml-hint' => [
-        'module' => 'cm/addon/hint/xml-hint',
+        'module' => 'codemirror/addon/hint/xml-hint',
         'modes' => ['htmlmixed', 'xml'],
     ],
     'hint/html-hint' => [
-        'module' => 'cm/addon/hint/html-hint',
+        'module' => 'codemirror/addon/hint/html-hint',
         'modes' => ['htmlmixed'],
     ],
     'hint/javascript-hint' => [
-        'module' => 'cm/addon/hint/javascript-hint',
+        'module' => 'codemirror/addon/hint/javascript-hint',
         'modes' => ['javascript'],
     ],
     'hint/sql-hint' => [
-        'module' => 'cm/addon/hint/sql-hint',
+        'module' => 'codemirror/addon/hint/sql-hint',
         'modes' => ['sql'],
     ],
     'hint/typoscript-hint' => [
diff --git a/typo3/sysext/t3editor/Configuration/Backend/T3editor/Modes.php b/typo3/sysext/t3editor/Configuration/Backend/T3editor/Modes.php
index 29c1bc84f763..dfb6090b186b 100644
--- a/typo3/sysext/t3editor/Configuration/Backend/T3editor/Modes.php
+++ b/typo3/sysext/t3editor/Configuration/Backend/T3editor/Modes.php
@@ -5,20 +5,20 @@
  */
 return [
     'css' => [
-        'module' => 'cm/mode/css/css',
+        'module' => 'codemirror/mode/css/css',
         'extensions' => ['css'],
     ],
     'html' => [
-        'module' => 'cm/mode/htmlmixed/htmlmixed',
+        'module' => 'codemirror/mode/htmlmixed/htmlmixed',
         'extensions' => ['htm', 'html'],
         'default' => true,
     ],
     'javascript' => [
-        'module' => 'cm/mode/javascript/javascript',
+        'module' => 'codemirror/mode/javascript/javascript',
         'extensions' => ['javascript'],
     ],
     'php' => [
-        'module' => 'cm/mode/php/php',
+        'module' => 'codemirror/mode/php/php',
         'extensions' => ['php', 'php5', 'php7', 'phps'],
     ],
     'typoscript' => [
@@ -26,7 +26,7 @@ return [
         'extensions' => ['ts', 'typoscript', 'tsconfig'],
     ],
     'xml' => [
-        'module' => 'cm/mode/xml/xml',
+        'module' => 'codemirror/mode/xml/xml',
         'extensions' => ['xml']
     ]
 ];
diff --git a/typo3/sysext/t3editor/Resources/Public/Css/t3editor.css b/typo3/sysext/t3editor/Resources/Public/Css/t3editor.css
index ff9140403b8d..e0826d42d887 100644
--- a/typo3/sysext/t3editor/Resources/Public/Css/t3editor.css
+++ b/typo3/sysext/t3editor/Resources/Public/Css/t3editor.css
@@ -10,4 +10,4 @@
  * 
  * The TYPO3 project - inspiring people to share!
  */
-.t3editor-wrapper{border:1px solid transparent}.t3editor-wrapper .CodeMirror-fullscreen{top:64px!important}.t3editor-wrapper .CodeMirror-panel{background:#f7f7f7;padding:3px 6px;font-size:.85em}.t3editor-wrapper .CodeMirror-panel-bottom{border-top:1px solid #ddd}.t3editor-wrapper div.CodeMirror span.CodeMirror-matchingbracket{color:#6ca52b}.has-change .t3editor-wrapper{border-color:#6daadf}
\ No newline at end of file
+typo3-t3editor-codemirror{border:1px solid transparent}typo3-t3editor-codemirror textarea{width:100%}typo3-t3editor-codemirror *+textarea{display:none}typo3-t3editor-codemirror .CodeMirror-fullscreen{top:64px!important}typo3-t3editor-codemirror .CodeMirror-panel{background:#f7f7f7;padding:3px 6px;font-size:.85em}typo3-t3editor-codemirror .CodeMirror-panel-bottom{border-top:1px solid #ddd}typo3-t3editor-codemirror div.CodeMirror span.CodeMirror-matchingbracket{color:#6ca52b}.has-change typo3-t3editor-codemirror{border-color:#6daadf}
\ No newline at end of file
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Addon/Hint/TypoScriptHint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Addon/Hint/TypoScriptHint.js
index 9085650bcac5..bf37ce27f96a 100644
--- a/typo3/sysext/t3editor/Resources/Public/JavaScript/Addon/Hint/TypoScriptHint.js
+++ b/typo3/sysext/t3editor/Resources/Public/JavaScript/Addon/Hint/TypoScriptHint.js
@@ -3,9 +3,9 @@
 
 (function(mod) {
   if (typeof exports === 'object' && typeof module === 'object') // CommonJS
-    mod(require('cm/lib/codemirror', 'TYPO3/CMS/T3editor/Addon/Hint/TsCodeCompletion'));
+    mod(require('codemirror', 'TYPO3/CMS/T3editor/Addon/Hint/TsCodeCompletion'));
   else if (typeof define === 'function' && define.amd) // AMD
-    define(['cm/lib/codemirror', 'TYPO3/CMS/T3editor/Addon/Hint/TsCodeCompletion'], mod);
+    define(['codemirror', 'TYPO3/CMS/T3editor/Addon/Hint/TsCodeCompletion'], mod);
   else // Plain browser env
     mod(CodeMirror);
 })(function(CodeMirror, TsCodeCompletion) {
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/AUTHORS b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/AUTHORS
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/AUTHORS
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/AUTHORS
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/CHANGELOG.md b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/CHANGELOG.md
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/CHANGELOG.md
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/CHANGELOG.md
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/CONTRIBUTING.md b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/CONTRIBUTING.md
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/CONTRIBUTING.md
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/CONTRIBUTING.md
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/LICENSE b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/LICENSE
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/LICENSE
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/LICENSE
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/README.md b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/README.md
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/README.md
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/README.md
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/comment/comment.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/comment/comment.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/comment/comment.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/comment/comment.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/comment/continuecomment.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/comment/continuecomment.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/comment/continuecomment.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/comment/continuecomment.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/dialog/dialog.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/dialog/dialog.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/dialog/dialog.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/dialog/dialog.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/dialog/dialog.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/dialog/dialog.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/dialog/dialog.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/dialog/dialog.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/autorefresh.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/autorefresh.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/autorefresh.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/autorefresh.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/fullscreen.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/fullscreen.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/fullscreen.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/fullscreen.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/fullscreen.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/fullscreen.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/fullscreen.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/fullscreen.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/panel.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/panel.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/panel.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/panel.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/placeholder.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/placeholder.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/placeholder.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/placeholder.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/rulers.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/rulers.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/display/rulers.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/display/rulers.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/closebrackets.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/closebrackets.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/closebrackets.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/closebrackets.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/closetag.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/closetag.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/closetag.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/closetag.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/continuelist.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/continuelist.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/continuelist.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/continuelist.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/matchbrackets.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/matchbrackets.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/matchbrackets.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/matchbrackets.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/matchtags.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/matchtags.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/matchtags.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/matchtags.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/trailingspace.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/trailingspace.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/edit/trailingspace.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/edit/trailingspace.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/brace-fold.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/brace-fold.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/brace-fold.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/brace-fold.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/comment-fold.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/comment-fold.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/comment-fold.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/comment-fold.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/foldcode.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/foldcode.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/foldcode.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/foldcode.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/foldgutter.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/foldgutter.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/foldgutter.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/foldgutter.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/foldgutter.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/foldgutter.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/foldgutter.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/foldgutter.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/indent-fold.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/indent-fold.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/indent-fold.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/indent-fold.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/markdown-fold.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/markdown-fold.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/markdown-fold.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/markdown-fold.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/xml-fold.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/xml-fold.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/fold/xml-fold.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/fold/xml-fold.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/anyword-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/anyword-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/anyword-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/anyword-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/css-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/css-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/css-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/css-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/html-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/html-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/html-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/html-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/javascript-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/javascript-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/javascript-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/javascript-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/show-hint.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/show-hint.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/show-hint.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/show-hint.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/show-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/show-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/show-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/show-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/sql-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/sql-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/sql-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/sql-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/xml-hint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/xml-hint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/hint/xml-hint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/hint/xml-hint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/coffeescript-lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/coffeescript-lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/coffeescript-lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/coffeescript-lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/css-lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/css-lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/css-lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/css-lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/html-lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/html-lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/html-lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/html-lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/javascript-lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/javascript-lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/javascript-lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/javascript-lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/json-lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/json-lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/json-lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/json-lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/lint.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/lint.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/lint.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/lint.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/yaml-lint.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/yaml-lint.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/lint/yaml-lint.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/lint/yaml-lint.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/merge/merge.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/merge/merge.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/merge/merge.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/merge/merge.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/merge/merge.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/merge/merge.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/merge/merge.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/merge/merge.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/loadmode.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/loadmode.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/loadmode.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/loadmode.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/multiplex.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/multiplex.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/multiplex.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/multiplex.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/multiplex_test.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/multiplex_test.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/multiplex_test.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/multiplex_test.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/overlay.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/overlay.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/overlay.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/overlay.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/simple.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/simple.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/mode/simple.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/mode/simple.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/colorize.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/colorize.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/colorize.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/colorize.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/runmode-standalone.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/runmode-standalone.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/runmode-standalone.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/runmode-standalone.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/runmode.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/runmode.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/runmode.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/runmode.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/runmode.node.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/runmode.node.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/runmode/runmode.node.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/runmode/runmode.node.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/annotatescrollbar.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/annotatescrollbar.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/annotatescrollbar.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/annotatescrollbar.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/scrollpastend.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/scrollpastend.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/scrollpastend.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/scrollpastend.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/simplescrollbars.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/simplescrollbars.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/simplescrollbars.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/simplescrollbars.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/simplescrollbars.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/simplescrollbars.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/scroll/simplescrollbars.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/scroll/simplescrollbars.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/jump-to-line.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/jump-to-line.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/jump-to-line.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/jump-to-line.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/match-highlighter.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/match-highlighter.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/match-highlighter.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/match-highlighter.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/matchesonscrollbar.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/matchesonscrollbar.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/matchesonscrollbar.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/matchesonscrollbar.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/matchesonscrollbar.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/matchesonscrollbar.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/matchesonscrollbar.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/matchesonscrollbar.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/search.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/search.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/search.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/search.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/searchcursor.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/searchcursor.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/search/searchcursor.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/search/searchcursor.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/selection/active-line.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/selection/active-line.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/selection/active-line.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/selection/active-line.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/selection/mark-selection.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/selection/mark-selection.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/selection/mark-selection.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/selection/mark-selection.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/selection/selection-pointer.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/selection/selection-pointer.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/selection/selection-pointer.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/selection/selection-pointer.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/tern/tern.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/tern/tern.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/tern/tern.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/tern/tern.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/tern/tern.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/tern/tern.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/tern/tern.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/tern/tern.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/tern/worker.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/tern/worker.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/tern/worker.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/tern/worker.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/wrap/hardwrap.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/wrap/hardwrap.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/addon/wrap/hardwrap.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/addon/wrap/hardwrap.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/bin/source-highlight b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/bin/source-highlight
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/bin/source-highlight
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/bin/source-highlight
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/keymap/emacs.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/keymap/emacs.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/keymap/emacs.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/keymap/emacs.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/keymap/sublime.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/keymap/sublime.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/keymap/sublime.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/keymap/sublime.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/keymap/vim.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/keymap/vim.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/keymap/vim.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/keymap/vim.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/lib/codemirror.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/lib/codemirror.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/lib/codemirror.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/lib/codemirror.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/lib/codemirror.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/lib/codemirror.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/lib/codemirror.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/lib/codemirror.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/apl/apl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/apl/apl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/apl/apl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/apl/apl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/asciiarmor/asciiarmor.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/asciiarmor/asciiarmor.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/asciiarmor/asciiarmor.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/asciiarmor/asciiarmor.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/asn.1/asn.1.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/asn.1/asn.1.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/asn.1/asn.1.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/asn.1/asn.1.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/asterisk/asterisk.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/asterisk/asterisk.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/asterisk/asterisk.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/asterisk/asterisk.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/brainfuck/brainfuck.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/brainfuck/brainfuck.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/brainfuck/brainfuck.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/brainfuck/brainfuck.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/clike/clike.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/clike/clike.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/clike/clike.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/clike/clike.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/clojure/clojure.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/clojure/clojure.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/clojure/clojure.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/clojure/clojure.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/cmake/cmake.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/cmake/cmake.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/cmake/cmake.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/cmake/cmake.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/cobol/cobol.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/cobol/cobol.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/cobol/cobol.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/cobol/cobol.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/coffeescript/coffeescript.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/coffeescript/coffeescript.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/coffeescript/coffeescript.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/coffeescript/coffeescript.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/commonlisp/commonlisp.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/commonlisp/commonlisp.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/commonlisp/commonlisp.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/commonlisp/commonlisp.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/crystal/crystal.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/crystal/crystal.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/crystal/crystal.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/crystal/crystal.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/css/css.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/css/css.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/css/css.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/css/css.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/cypher/cypher.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/cypher/cypher.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/cypher/cypher.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/cypher/cypher.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/d/d.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/d/d.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/d/d.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/d/d.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dart/dart.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dart/dart.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dart/dart.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dart/dart.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/diff/diff.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/diff/diff.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/diff/diff.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/diff/diff.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/django/django.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/django/django.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/django/django.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/django/django.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dockerfile/dockerfile.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dockerfile/dockerfile.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dockerfile/dockerfile.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dockerfile/dockerfile.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dtd/dtd.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dtd/dtd.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dtd/dtd.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dtd/dtd.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dylan/dylan.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dylan/dylan.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/dylan/dylan.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/dylan/dylan.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ebnf/ebnf.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ebnf/ebnf.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ebnf/ebnf.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ebnf/ebnf.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ecl/ecl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ecl/ecl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ecl/ecl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ecl/ecl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/eiffel/eiffel.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/eiffel/eiffel.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/eiffel/eiffel.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/eiffel/eiffel.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/elm/elm.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/elm/elm.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/elm/elm.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/elm/elm.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/erlang/erlang.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/erlang/erlang.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/erlang/erlang.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/erlang/erlang.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/factor/factor.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/factor/factor.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/factor/factor.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/factor/factor.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/fcl/fcl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/fcl/fcl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/fcl/fcl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/fcl/fcl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/forth/forth.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/forth/forth.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/forth/forth.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/forth/forth.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/fortran/fortran.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/fortran/fortran.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/fortran/fortran.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/fortran/fortran.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/gas/gas.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/gas/gas.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/gas/gas.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/gas/gas.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/gfm/gfm.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/gfm/gfm.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/gfm/gfm.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/gfm/gfm.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/gherkin/gherkin.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/gherkin/gherkin.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/gherkin/gherkin.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/gherkin/gherkin.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/go/go.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/go/go.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/go/go.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/go/go.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/groovy/groovy.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/groovy/groovy.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/groovy/groovy.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/groovy/groovy.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haml/haml.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haml/haml.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haml/haml.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haml/haml.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/handlebars/handlebars.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/handlebars/handlebars.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/handlebars/handlebars.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/handlebars/handlebars.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haskell-literate/haskell-literate.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haskell-literate/haskell-literate.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haskell-literate/haskell-literate.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haskell-literate/haskell-literate.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haskell/haskell.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haskell/haskell.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haskell/haskell.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haskell/haskell.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haxe/haxe.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haxe/haxe.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/haxe/haxe.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/haxe/haxe.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/htmlembedded/htmlembedded.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/htmlembedded/htmlembedded.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/htmlembedded/htmlembedded.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/htmlembedded/htmlembedded.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/htmlmixed/htmlmixed.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/htmlmixed/htmlmixed.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/htmlmixed/htmlmixed.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/htmlmixed/htmlmixed.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/http/http.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/http/http.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/http/http.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/http/http.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/idl/idl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/idl/idl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/idl/idl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/idl/idl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/javascript/javascript.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/javascript/javascript.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/javascript/javascript.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/javascript/javascript.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/jinja2/jinja2.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/jinja2/jinja2.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/jinja2/jinja2.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/jinja2/jinja2.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/jsx/jsx.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/jsx/jsx.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/jsx/jsx.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/jsx/jsx.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/julia/julia.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/julia/julia.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/julia/julia.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/julia/julia.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/livescript/livescript.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/livescript/livescript.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/livescript/livescript.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/livescript/livescript.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/lua/lua.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/lua/lua.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/lua/lua.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/lua/lua.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/markdown/markdown.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/markdown/markdown.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/markdown/markdown.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/markdown/markdown.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mathematica/mathematica.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mathematica/mathematica.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mathematica/mathematica.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mathematica/mathematica.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mbox/mbox.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mbox/mbox.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mbox/mbox.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mbox/mbox.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/meta.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/meta.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/meta.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/meta.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mirc/mirc.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mirc/mirc.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mirc/mirc.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mirc/mirc.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mllike/mllike.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mllike/mllike.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mllike/mllike.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mllike/mllike.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/modelica/modelica.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/modelica/modelica.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/modelica/modelica.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/modelica/modelica.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mscgen/mscgen.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mscgen/mscgen.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mscgen/mscgen.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mscgen/mscgen.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mumps/mumps.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mumps/mumps.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/mumps/mumps.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/mumps/mumps.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/nginx/nginx.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/nginx/nginx.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/nginx/nginx.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/nginx/nginx.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/nsis/nsis.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/nsis/nsis.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/nsis/nsis.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/nsis/nsis.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ntriples/ntriples.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ntriples/ntriples.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ntriples/ntriples.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ntriples/ntriples.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/octave/octave.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/octave/octave.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/octave/octave.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/octave/octave.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/oz/oz.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/oz/oz.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/oz/oz.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/oz/oz.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pascal/pascal.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pascal/pascal.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pascal/pascal.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pascal/pascal.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pegjs/pegjs.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pegjs/pegjs.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pegjs/pegjs.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pegjs/pegjs.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/perl/perl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/perl/perl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/perl/perl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/perl/perl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/php/php.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/php/php.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/php/php.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/php/php.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pig/pig.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pig/pig.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pig/pig.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pig/pig.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/powershell/powershell.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/powershell/powershell.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/powershell/powershell.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/powershell/powershell.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/properties/properties.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/properties/properties.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/properties/properties.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/properties/properties.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/protobuf/protobuf.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/protobuf/protobuf.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/protobuf/protobuf.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/protobuf/protobuf.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pug/pug.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pug/pug.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/pug/pug.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/pug/pug.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/puppet/puppet.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/puppet/puppet.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/puppet/puppet.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/puppet/puppet.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/python/python.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/python/python.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/python/python.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/python/python.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/q/q.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/q/q.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/q/q.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/q/q.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/r/r.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/r/r.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/r/r.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/r/r.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rpm/changes/index.html b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rpm/changes/index.html
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rpm/changes/index.html
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rpm/changes/index.html
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rpm/rpm.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rpm/rpm.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rpm/rpm.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rpm/rpm.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rst/rst.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rst/rst.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rst/rst.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rst/rst.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ruby/ruby.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ruby/ruby.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ruby/ruby.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ruby/ruby.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rust/rust.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rust/rust.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/rust/rust.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/rust/rust.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sas/sas.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sas/sas.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sas/sas.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sas/sas.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sass/sass.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sass/sass.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sass/sass.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sass/sass.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/scheme/scheme.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/scheme/scheme.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/scheme/scheme.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/scheme/scheme.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/shell/shell.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/shell/shell.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/shell/shell.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/shell/shell.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sieve/sieve.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sieve/sieve.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sieve/sieve.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sieve/sieve.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/slim/slim.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/slim/slim.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/slim/slim.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/slim/slim.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/smalltalk/smalltalk.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/smalltalk/smalltalk.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/smalltalk/smalltalk.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/smalltalk/smalltalk.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/smarty/smarty.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/smarty/smarty.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/smarty/smarty.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/smarty/smarty.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/solr/solr.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/solr/solr.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/solr/solr.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/solr/solr.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/soy/soy.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/soy/soy.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/soy/soy.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/soy/soy.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sparql/sparql.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sparql/sparql.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sparql/sparql.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sparql/sparql.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/spreadsheet/spreadsheet.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/spreadsheet/spreadsheet.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/spreadsheet/spreadsheet.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/spreadsheet/spreadsheet.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sql/sql.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sql/sql.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/sql/sql.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/sql/sql.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/stex/stex.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/stex/stex.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/stex/stex.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/stex/stex.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/stylus/stylus.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/stylus/stylus.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/stylus/stylus.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/stylus/stylus.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/swift/swift.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/swift/swift.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/swift/swift.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/swift/swift.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tcl/tcl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tcl/tcl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tcl/tcl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tcl/tcl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/textile/textile.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/textile/textile.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/textile/textile.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/textile/textile.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiddlywiki/tiddlywiki.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiddlywiki/tiddlywiki.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiddlywiki/tiddlywiki.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiddlywiki/tiddlywiki.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiddlywiki/tiddlywiki.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiddlywiki/tiddlywiki.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiddlywiki/tiddlywiki.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiddlywiki/tiddlywiki.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiki/tiki.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiki/tiki.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiki/tiki.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiki/tiki.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiki/tiki.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiki/tiki.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tiki/tiki.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tiki/tiki.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/toml/toml.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/toml/toml.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/toml/toml.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/toml/toml.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tornado/tornado.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tornado/tornado.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/tornado/tornado.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/tornado/tornado.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/troff/troff.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/troff/troff.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/troff/troff.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/troff/troff.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ttcn-cfg/ttcn-cfg.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ttcn-cfg/ttcn-cfg.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ttcn-cfg/ttcn-cfg.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ttcn-cfg/ttcn-cfg.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ttcn/ttcn.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ttcn/ttcn.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/ttcn/ttcn.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/ttcn/ttcn.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/turtle/turtle.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/turtle/turtle.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/turtle/turtle.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/turtle/turtle.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/twig/twig.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/twig/twig.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/twig/twig.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/twig/twig.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vb/vb.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vb/vb.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vb/vb.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vb/vb.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vbscript/vbscript.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vbscript/vbscript.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vbscript/vbscript.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vbscript/vbscript.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/velocity/velocity.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/velocity/velocity.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/velocity/velocity.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/velocity/velocity.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/verilog/verilog.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/verilog/verilog.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/verilog/verilog.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/verilog/verilog.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vhdl/vhdl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vhdl/vhdl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vhdl/vhdl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vhdl/vhdl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vue/vue.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vue/vue.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/vue/vue.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/vue/vue.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/wast/wast.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/wast/wast.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/wast/wast.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/wast/wast.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/webidl/webidl.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/webidl/webidl.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/webidl/webidl.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/webidl/webidl.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/xml/xml.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/xml/xml.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/xml/xml.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/xml/xml.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/xquery/xquery.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/xquery/xquery.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/xquery/xquery.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/xquery/xquery.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/yacas/yacas.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/yacas/yacas.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/yacas/yacas.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/yacas/yacas.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/yaml-frontmatter/yaml-frontmatter.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/yaml-frontmatter/yaml-frontmatter.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/yaml/yaml.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/yaml/yaml.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/yaml/yaml.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/yaml/yaml.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/z80/z80.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/z80/z80.js
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/mode/z80/z80.js
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/mode/z80/z80.js
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/package.json b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/package.json
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/package.json
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/package.json
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/3024-day.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/3024-day.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/3024-day.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/3024-day.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/3024-night.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/3024-night.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/3024-night.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/3024-night.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/abcdef.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/abcdef.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/abcdef.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/abcdef.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ambiance-mobile.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ambiance-mobile.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ambiance-mobile.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ambiance-mobile.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ambiance.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ambiance.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ambiance.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ambiance.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ayu-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ayu-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ayu-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ayu-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ayu-mirage.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ayu-mirage.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ayu-mirage.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ayu-mirage.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/base16-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/base16-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/base16-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/base16-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/base16-light.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/base16-light.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/base16-light.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/base16-light.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/bespin.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/bespin.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/bespin.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/bespin.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/blackboard.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/blackboard.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/blackboard.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/blackboard.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/cobalt.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/cobalt.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/cobalt.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/cobalt.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/colorforth.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/colorforth.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/colorforth.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/colorforth.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/darcula.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/darcula.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/darcula.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/darcula.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/dracula.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/dracula.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/dracula.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/dracula.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/duotone-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/duotone-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/duotone-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/duotone-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/duotone-light.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/duotone-light.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/duotone-light.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/duotone-light.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/eclipse.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/eclipse.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/eclipse.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/eclipse.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/elegant.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/elegant.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/elegant.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/elegant.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/erlang-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/erlang-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/erlang-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/erlang-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/gruvbox-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/gruvbox-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/gruvbox-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/gruvbox-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/hopscotch.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/hopscotch.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/hopscotch.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/hopscotch.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/icecoder.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/icecoder.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/icecoder.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/icecoder.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/idea.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/idea.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/idea.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/idea.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/isotope.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/isotope.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/isotope.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/isotope.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/lesser-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/lesser-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/lesser-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/lesser-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/liquibyte.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/liquibyte.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/liquibyte.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/liquibyte.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/lucario.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/lucario.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/lucario.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/lucario.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material-darker.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material-darker.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material-darker.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material-darker.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material-ocean.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material-ocean.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material-ocean.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material-ocean.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material-palenight.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material-palenight.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material-palenight.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material-palenight.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/material.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/material.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/mbo.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/mbo.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/mbo.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/mbo.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/mdn-like.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/mdn-like.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/mdn-like.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/mdn-like.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/midnight.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/midnight.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/midnight.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/midnight.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/monokai.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/monokai.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/monokai.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/monokai.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/moxer.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/moxer.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/moxer.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/moxer.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/neat.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/neat.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/neat.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/neat.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/neo.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/neo.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/neo.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/neo.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/night.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/night.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/night.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/night.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/nord.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/nord.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/nord.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/nord.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/oceanic-next.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/oceanic-next.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/oceanic-next.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/oceanic-next.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/panda-syntax.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/panda-syntax.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/panda-syntax.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/panda-syntax.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/paraiso-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/paraiso-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/paraiso-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/paraiso-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/paraiso-light.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/paraiso-light.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/paraiso-light.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/paraiso-light.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/pastel-on-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/pastel-on-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/pastel-on-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/pastel-on-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/railscasts.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/railscasts.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/railscasts.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/railscasts.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/rubyblue.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/rubyblue.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/rubyblue.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/rubyblue.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/seti.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/seti.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/seti.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/seti.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/shadowfox.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/shadowfox.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/shadowfox.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/shadowfox.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/solarized.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/solarized.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/solarized.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/solarized.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ssms.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ssms.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ssms.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ssms.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/the-matrix.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/the-matrix.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/the-matrix.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/the-matrix.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/tomorrow-night-bright.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/tomorrow-night-bright.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/tomorrow-night-bright.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/tomorrow-night-bright.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/tomorrow-night-eighties.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/tomorrow-night-eighties.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/tomorrow-night-eighties.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/tomorrow-night-eighties.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ttcn.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ttcn.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/ttcn.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/ttcn.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/twilight.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/twilight.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/twilight.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/twilight.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/vibrant-ink.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/vibrant-ink.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/vibrant-ink.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/vibrant-ink.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/xq-dark.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/xq-dark.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/xq-dark.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/xq-dark.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/xq-light.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/xq-light.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/xq-light.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/xq-light.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/yeti.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/yeti.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/yeti.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/yeti.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/yonce.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/yonce.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/yonce.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/yonce.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/zenburn.css b/typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/zenburn.css
similarity index 100%
rename from typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/cm/theme/zenburn.css
rename to typo3/sysext/t3editor/Resources/Public/JavaScript/Contrib/codemirror/theme/zenburn.css
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Element/CodeMirrorElement.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Element/CodeMirrorElement.js
new file mode 100644
index 000000000000..67e37c852ef8
--- /dev/null
+++ b/typo3/sysext/t3editor/Resources/Public/JavaScript/Element/CodeMirrorElement.js
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+var __decorate=this&&this.__decorate||function(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","codemirror","lit-element","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Backend/Element/SpinnerElement"],(function(e,t,o,r,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeMirrorElement=void 0,o=__importDefault(o);let i=class extends r.LitElement{constructor(){super(...arguments),this.addons=[],this.options={},this.loaded=!1}static get styles(){return r.css`
+      :host {
+        display: block;
+        position: relative;
+      }
+      typo3-backend-spinner {
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        transform: translate(-50%, -50%);
+      }
+    `}render(){return r.html`
+      <slot></slot>
+      <slot name="codemirror"></slot>
+      ${this.loaded?"":r.html`<typo3-backend-spinner size="large"></typo3-backend-spinner>`}
+    `}firstUpdated(){const e={root:document.body};let t=new IntersectionObserver(e=>{e.forEach(e=>{e.intersectionRatio>0&&(t.unobserve(e.target),this.firstElementChild&&"textarea"===this.firstElementChild.nodeName.toLowerCase()&&this.initializeEditor(this.firstElementChild))})},e);t.observe(this)}createPanelNode(e,t){const o=document.createElement("div");o.setAttribute("class","CodeMirror-panel CodeMirror-panel-"+e),o.setAttribute("id","panel-"+e);const r=document.createElement("span");return r.textContent=t,o.appendChild(r),o}initializeEditor(t){const r=this.mode.split("/"),i=this.options;e([this.mode,...this.addons],()=>{const e=o.default(e=>{const o=document.createElement("div");o.setAttribute("slot","codemirror"),o.appendChild(e),this.insertBefore(o,t)},{value:t.value,extraKeys:{"Ctrl-F":"findPersistent","Cmd-F":"findPersistent","Ctrl-Alt-F":e=>{e.setOption("fullScreen",!e.getOption("fullScreen"))},"Ctrl-Space":"autocomplete",Esc:e=>{e.getOption("fullScreen")&&e.setOption("fullScreen",!1)}},fullScreen:!1,lineNumbers:!0,lineWrapping:!0,mode:r[r.length-1]});Object.keys(i).map(t=>{e.setOption(t,i[t])}),e.on("change",()=>{t.value=e.getValue(),n.Validation.markFieldAsChanged(t)});const s=this.createPanelNode("bottom",this.label);if(e.addPanel(s,{position:"bottom",stable:!1}),t.getAttribute("rows")){const o=18,r=4;e.setSize(null,parseInt(t.getAttribute("rows"),10)*o+r+s.getBoundingClientRect().height)}else e.getWrapperElement().style.height=document.body.getBoundingClientRect().height-e.getWrapperElement().getBoundingClientRect().top-80+"px",e.setOption("viewportMargin",1/0);this.loaded=!0})}};__decorate([r.property()],i.prototype,"mode",void 0),__decorate([r.property()],i.prototype,"label",void 0),__decorate([r.property({type:Array})],i.prototype,"addons",void 0),__decorate([r.property({type:Object})],i.prototype,"options",void 0),__decorate([r.internalProperty()],i.prototype,"loaded",void 0),i=__decorate([r.customElement("typo3-t3editor-codemirror")],i),t.CodeMirrorElement=i}));
\ No newline at end of file
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/Mode/typoscript/typoscript.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/Mode/typoscript/typoscript.js
index f981831b96e1..6ac3419be75f 100644
--- a/typo3/sysext/t3editor/Resources/Public/JavaScript/Mode/typoscript/typoscript.js
+++ b/typo3/sysext/t3editor/Resources/Public/JavaScript/Mode/typoscript/typoscript.js
@@ -1,8 +1,8 @@
 (function(mod) {
   if (typeof exports === "object" && typeof module === "object") // CommonJS
-    mod(require("cm/lib/codemirror"));
+    mod(require("codemirror"));
   else if (typeof define === "function" && define.amd) // AMD
-    define(["cm/lib/codemirror"], mod);
+    define(["codemirror"], mod);
   else // Plain browser env
     mod(CodeMirror);
 })(function(CodeMirror) {
diff --git a/typo3/sysext/t3editor/Resources/Public/JavaScript/T3editor.js b/typo3/sysext/t3editor/Resources/Public/JavaScript/T3editor.js
index 2e4bec6a6c21..14f34c93d02e 100644
--- a/typo3/sysext/t3editor/Resources/Public/JavaScript/T3editor.js
+++ b/typo3/sysext/t3editor/Resources/Public/JavaScript/T3editor.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","cm/lib/codemirror","jquery","TYPO3/CMS/Backend/FormEngine"],(function(e,t,i,r,n){"use strict";i=__importDefault(i),r=__importDefault(r);class o{static createPanelNode(e,t){return r.default("<div />",{class:"CodeMirror-panel CodeMirror-panel-"+e,id:"panel-"+e}).append(r.default("<span />").text(t)).get(0)}constructor(){this.initialize()}initialize(){r.default(()=>{this.observeEditorCandidates()})}observeEditorCandidates(){const e={root:document.body};let t=new IntersectionObserver(e=>{e.forEach(e=>{if(e.intersectionRatio>0){const t=r.default(e.target);t.prop("is_t3editor")||this.initializeEditor(t)}})},e);document.querySelectorAll("textarea.t3editor").forEach(e=>{t.observe(e)})}initializeEditor(t){const a=t.data("codemirror-config"),l=a.mode.split("/"),s=r.default.merge([l.join("/")],JSON.parse(a.addons)),d=JSON.parse(a.options);e(s,()=>{const e=i.default.fromTextArea(t.get(0),{extraKeys:{"Ctrl-F":"findPersistent","Cmd-F":"findPersistent","Ctrl-Alt-F":e=>{e.setOption("fullScreen",!e.getOption("fullScreen"))},"Ctrl-Space":"autocomplete",Esc:e=>{e.getOption("fullScreen")&&e.setOption("fullScreen",!1)}},fullScreen:!1,lineNumbers:!0,lineWrapping:!0,mode:l[l.length-1]});r.default.each(d,(t,i)=>{e.setOption(t,i)}),e.on("change",()=>{n.Validation.markFieldAsChanged(t)});const s=o.createPanelNode("bottom",a.label);if(e.addPanel(s,{position:"bottom",stable:!1}),t.attr("rows")){const i=18,r=4;e.setSize(null,parseInt(t.attr("rows"),10)*i+r+s.getBoundingClientRect().height)}else e.getWrapperElement().style.height=document.body.getBoundingClientRect().height-e.getWrapperElement().getBoundingClientRect().top-80+"px",e.setOption("viewportMargin",1/0)}),t.prop("is_t3editor",!0)}}return new o}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/DocumentService","./Element/CodeMirrorElement"],(function(e,t,r){"use strict";return new class{static createPanelNode(e,t){const r=document.createElement("div");r.setAttribute("class","CodeMirror-panel CodeMirror-panel-"+e),r.setAttribute("id","panel-"+e);const o=document.createElement("span");return o.textContent=t,r.appendChild(o),r}constructor(){console.warn("TYPO3/CMS/T3editor/T3editor has been marked as deprecated. Please use TYPO3/CMS/T3editor/Element/CodeMirrorElement instead."),this.initialize()}initialize(){r.ready().then(()=>{this.observeEditorCandidates()})}observeEditorCandidates(){document.querySelectorAll("textarea.t3editor").forEach(e=>{if("typo3-t3editor-codemirror"===e.parentElement.tagName.toLowerCase())return;const t=document.createElement("typo3-t3editor-codemirror"),r=JSON.parse(e.getAttribute("data-codemirror-config"));t.setAttribute("mode",r.mode),t.setAttribute("label",r.label),t.setAttribute("addons",r.addons),t.setAttribute("options",r.options),this.wrap(e,t)})}wrap(e,t){e.parentElement.insertBefore(t,e),t.appendChild(e)}}}));
\ No newline at end of file
-- 
GitLab