From e2b0117c3e48b0c9ed1a317bb080354fc84a2983 Mon Sep 17 00:00:00 2001
From: David Mehren <git@herrmehren.de>
Date: Sun, 9 Oct 2022 22:19:39 +0200
Subject: [PATCH] Fix missing syntax highlighting in the markdown editor

In e17cc644 the Webpack build process for CodeMirror was changed.
For unknown reasons, not all plugins and modes were added.
This adds all plugins currently enabled in
https://github
.com/hedgedoc/CodeMirror/blob/951b3d94bb5ad9ac7b44642adbe595e843390506/release.sh

Signed-off-by: David Mehren <git@herrmehren.de>
---
 public/docs/release-notes.md  |   1 +
 public/js/lib/editor/index.js | 101 +++++++++++++++++++++++++---------
 2 files changed, 75 insertions(+), 27 deletions(-)

diff --git a/public/docs/release-notes.md b/public/docs/release-notes.md
index 68b214e47..f022569ed 100644
--- a/public/docs/release-notes.md
+++ b/public/docs/release-notes.md
@@ -9,6 +9,7 @@
 - Fix a crash when using LDAP authentication with custom search attributes (thanks to [@aboettger-tuhh](https://github.com/aboettger-tuhh) for reporting)
 - Fix crash caused by a long note history when the MySQL database is used
 - Fix `breaks` option not being respected in the publish-view
+- Fix missing syntax highlighting in the markdown editor
 
 ## <i class="fa fa-tag"></i> 1.9.4 <i class="fa fa-calendar-o"></i> 2022-07-10
 
diff --git a/public/js/lib/editor/index.js b/public/js/lib/editor/index.js
index 0f2181177..d37fff13c 100644
--- a/public/js/lib/editor/index.js
+++ b/public/js/lib/editor/index.js
@@ -1,37 +1,84 @@
-import 'codemirror/keymap/sublime'
-import 'codemirror/keymap/emacs'
-import 'codemirror/keymap/vim'
-import 'codemirror/mode/gfm/gfm'
-import 'codemirror/addon/mode/overlay.js'
-import 'codemirror/addon/mode/simple.js'
-import 'codemirror/addon/mode/multiplex.js'
-import 'codemirror/addon/selection/active-line.js'
-import 'codemirror/addon/search/searchcursor.js'
-import 'codemirror/addon/search/search.js'
-import 'codemirror/addon/search/jump-to-line.js'
-import 'codemirror/addon/search/matchesonscrollbar.js'
-import 'codemirror/addon/search/match-highlighter.js'
-import 'codemirror/addon/scroll/simplescrollbars.js'
-import 'codemirror/addon/scroll/annotatescrollbar.js'
-import 'codemirror/addon/display/panel.js'
-import 'codemirror/addon/display/placeholder.js'
-import 'codemirror/addon/display/fullscreen.js'
-import 'codemirror/addon/display/autorefresh.js'
-import 'codemirror/addon/dialog/dialog.js'
-import 'codemirror/addon/edit/matchbrackets.js'
-import 'codemirror/addon/edit/closebrackets.js'
-import 'codemirror/addon/edit/matchtags.js'
-import 'codemirror/addon/edit/closetag.js'
-import 'codemirror/addon/edit/continuelist.js'
 import 'codemirror/addon/comment/comment.js'
 import 'codemirror/addon/comment/continuecomment.js'
-import 'codemirror/addon/wrap/hardwrap.js'
-import 'codemirror/addon/fold/foldcode.js'
+import 'codemirror/addon/dialog/dialog.js'
+import 'codemirror/addon/display/autorefresh.js'
+import 'codemirror/addon/display/fullscreen.js'
+import 'codemirror/addon/display/panel.js'
+import 'codemirror/addon/display/placeholder.js'
+import 'codemirror/addon/edit/closebrackets.js'
+import 'codemirror/addon/edit/closetag.js'
+import 'codemirror/addon/edit/continuelist.js'
+import 'codemirror/addon/edit/matchbrackets.js'
+import 'codemirror/addon/edit/matchtags.js'
 import 'codemirror/addon/fold/brace-fold.js'
+import 'codemirror/addon/fold/foldcode.js'
 import 'codemirror/addon/fold/foldgutter.js'
 import 'codemirror/addon/fold/markdown-fold.js'
 import 'codemirror/addon/fold/xml-fold.js'
 import 'codemirror/addon/merge/merge.js'
+import 'codemirror/addon/mode/multiplex.js'
+import 'codemirror/addon/mode/overlay.js'
+import 'codemirror/addon/mode/simple.js'
+import 'codemirror/addon/scroll/annotatescrollbar.js'
+import 'codemirror/addon/scroll/simplescrollbars.js'
+import 'codemirror/addon/search/jump-to-line.js'
+import 'codemirror/addon/search/match-highlighter.js'
+import 'codemirror/addon/search/matchesonscrollbar.js'
+import 'codemirror/addon/search/search.js'
+import 'codemirror/addon/search/searchcursor.js'
+import 'codemirror/addon/selection/active-line.js'
+import 'codemirror/addon/wrap/hardwrap.js'
+import 'codemirror/keymap/emacs.js'
+import 'codemirror/keymap/sublime.js'
+import 'codemirror/keymap/vim.js'
+import 'codemirror/mode/clike/clike.js'
+import 'codemirror/mode/clojure/clojure.js'
+import 'codemirror/mode/cmake/cmake.js'
+import 'codemirror/mode/coffeescript/coffeescript.js'
+import 'codemirror/mode/css/css.js'
+import 'codemirror/mode/csv/csv.js'
+import 'codemirror/mode/diff/diff.js'
+import 'codemirror/mode/dockerfile/dockerfile.js'
+import 'codemirror/mode/gfm/gfm.js'
+import 'codemirror/mode/gherkin/gherkin.js'
+import 'codemirror/mode/go/go.js'
+import 'codemirror/mode/graphviz/graphviz.js'
+import 'codemirror/mode/groovy/groovy.js'
+import 'codemirror/mode/haskell/haskell.js'
+import 'codemirror/mode/htmlembedded/htmlembedded.js'
+import 'codemirror/mode/htmlmixed/htmlmixed.js'
+import 'codemirror/mode/javascript/javascript.js'
+import 'codemirror/mode/jsx/jsx.js'
+import 'codemirror/mode/lua/lua.js'
+import 'codemirror/mode/markdown/markdown_math.js'
+import 'codemirror/mode/mediawiki/mediawiki.js'
+import 'codemirror/mode/mermaid/mermaid.js'
+import 'codemirror/mode/mllike/mllike.js'
+import 'codemirror/mode/nginx/nginx.js'
+import 'codemirror/mode/perl/perl.js'
+import 'codemirror/mode/php/php.js'
+import 'codemirror/mode/plantuml/plantuml.js'
+import 'codemirror/mode/protobuf/protobuf.js'
+import 'codemirror/mode/pug/pug.js'
+import 'codemirror/mode/python/python.js'
+import 'codemirror/mode/r/r.js'
+import 'codemirror/mode/ruby/ruby.js'
+import 'codemirror/mode/rust/rust.js'
+import 'codemirror/mode/sas/sas.js'
+import 'codemirror/mode/sass/sass.js'
+import 'codemirror/mode/shell/shell.js'
+import 'codemirror/mode/solidity/solidity.js'
+import 'codemirror/mode/sql/sql.js'
+import 'codemirror/mode/stex/stex.js'
+import 'codemirror/mode/swift/swift.js'
+import 'codemirror/mode/tiddlywiki/tiddlywiki.js'
+import 'codemirror/mode/typescript/typescript.js'
+import 'codemirror/mode/vb/vb.js'
+import 'codemirror/mode/verilog/verilog.js'
+import 'codemirror/mode/vhdl/vhdl.js'
+import 'codemirror/mode/xml/xml.js'
+import 'codemirror/mode/yaml-frontmatter/yaml-frontmatter.js'
+import 'codemirror/mode/yaml/yaml.js'
 import '../../../vendor/codemirror-spell-checker/spell-checker.min.js'
 
 import '../../../vendor/inlineAttachment/inline-attachment'