Re-organize the imports and types for codemirror

This is just a bit of refactoring to sync the upstream plugin code with
Google's internal version, which required some adaptations for how the
BUILD and the imports are handled.

Release-Notes: skip
Google-Bug-Id: b/234805062
Change-Id: If6a141cf0132c1d0560cfc6b19a07fc7de0c9bbd
3 files changed
tree: 25714db7297d914029c7348c542eadb0286c132b
  1. java/
  2. web/
  3. .gitignore
  4. BUILD

CodeMirror Editor

A plugin that uses CodeMirror to provide a rich code editing experience in PolyGerrit.

The plugins hooks into the editor endpoint and registers gr-editor for it.

The codemirror-element using CodeMirror is loaded lazily from another js bundle, because it is fairly large, and we don't want to load the large bundle, if the user is not editing anything.

We are using the generic test target in the plugins/ folder. See plugins/BUILD for how to enable the tests and then run bazel run plugins:web-test-runner.

For testing you can use FE dev helper ( It allows you to redirect to (symlinks to) your locally built files. You can use npm run start to serve files and put the locally built files (or symlinks) in the polygerrit-ui/app/ folder.