User:Max34/VDCEditor
VDCEditor is an upcoming chromium extension that will change the edit field from a regular flat textarea into a full-fledged code editor with syntax highlighting, line numbering and much more.

Development progress
☑ Make the first edit using the new editor
☑ Figure out how to work with js
☐ Figure out how to implement the correct automatic loading of the script. Right now you have to click on a button to run the script, because loading it automatically will cause it to load before the page is fully loaded, which cuts off access to a lot of things that need to be changed
☑ Change the style of the code block to a dark version
☐ Change the style of the rest of the editor elements (buttons, a field with a description of the changes) to dark mode
☐ Add line numbering
☑ Make editor settings persist
☐ Add code font size setting
☑ Add Word Wrap checkbox setting
☐ Make a status bar
☑ Make editor height saveable
☑ Add an indicator of the number of characters in the code
☑ Add a carriage location indicator
☐ Make custom tooltips like in Visual Studio (functionality). It will be displayed when Ctrl is pressed
☑ Add highlighting of magic words
☐ Add highlighting to &#AAA; elements
☑ add highlighting for mnemonics (Not all mnemonics have been added. We need a complete list of mnemonics working on this site)
☑ Add highlighting to HTML elements
☐ Add highlighting to CSS elements
☐ Add highlighting to MediaWiki elements (hardest one)
☐ Somehow implement the loading of translations directly from the VDC so that users can translate the extension directly from the site
☐ Implement the loading of brief documentation of templates when hovering over them with the mouse with Ctrl pressed
☑ Implement a color square next to each HEX color (as in F12)
☐ Implement a color square next to each rgba() and other colors
☐ Make color squares interactive with the ability to open the color palette and select a color
☐ It may be worth reconsidering exactly how the formatting of the code for syntax highlighting should take place. At the moment, this works through the js replace function along with regexp. This option constantly resets the carriage, which means it has to be returned after each input, and also completely breaks the undo/redo system (in general, it can be recreated, but is it a good idea).
(For copying: ☐ ☑ ☒)