Custom colored sections and highlighting


#1

The ability to give sections of code a background color to help differentiate them from one another

You would select the desired amount of text, right click and choose ‘Color’ (or something similar), which would bring up a color picker like UE’s default, and choose the color you want.
Text that has already been given a background color would present the user with another option to clear the color

Additionally a debugging tool wherein the user can set a class or variable to automatically apply the chosen background color to all existing and future instances of it; a sort of highlighting feature.
This highlighting feature could be in the form of a list where each row has the option for a query and a desired color. Checkboxes to disable and enable the hightlighting would be present so the user would not have to recreate the entry each time.


#2

As you have described this, it sounds almost related to bookmarks or a special way to comment. Essentially a bookmarked region and potentially a automated heuristic to automatically make certain types of these regions.

Also related is 3.1.b of this My First Impressions post.

The regions could either come from some sort of markup in comments similar to markdown or color region info could be stored in a separate file though that might make things tricky if you wanted to share them with others or check them into version control.

What we want to evolve the SkookumIDE to is something like frame-based editing. Though not exactly as the Greenfoot team at Kent University describes it.

Basically the idea is to keep the language just text though to have the SkookumIDE color blocks of code and maybe allow more building block mechanisms such as Scratch or Blueprints.The extra graphics and visualizations would just be visual layers over the text as a hint or aid.

Scratch blocks
Example of some Scratch blocks.

It would be different in Sk particularly since it would always be layered on top of human readable text. Most of these systems are binary or have text that is not really meant to be edited by humans.