Skip to content

Draft: Editor Lite driving WebIDE 馃檴

Denys Mishunov requested to merge 292498-editor-lite-webide into master

What does this MR do?

Introduces the PoC for using Editor Lite as the main driving engine for WebIDE. The existing implementation for WebIDE has been converted into the Editor Lite extension and trimmed down to get rid of the parts that are not necessary anymore 馃

Main points:

  1. Editor Lite drives WebIDE
  2. Main WebIDE customization of Editor Lite's functionality resides in the new Editor Lite extension: app/assets/javascripts/editor/extensions/editor_lite_webide_ext.js
  3. Some of the functionality has been cleaned up as there were quite a few things not in use anymore (like DiffWorker, DirtyDiffController, or DecorationsController). Those are left intact for the use of _the original_ WebIDE editor` module, for now, should we find a use case where those things are actually needed.
  4. Introduced the loading state to WebIDE when fetching a file
  5. Full list of changes is in the "Commits" tab as I tried to keep one semantically related change in one commit and not mix up the things

Screenshots (strongly suggested)

New loading state Screenshot_2021-01-08_at_14.56.34

I have also recorded a short video about this PoC:

Screenshot_2021-01-11_at_15.41.26

What about performance impact?

This MR improves the performance of WebIDE for all custom metrics. The detailed report can be seen below in the thread.

Related to #292498 (closed)

Edited by Denys Mishunov

Merge request reports