I like the concept very much, however I am overwhelmed by the eye clutter it introduces.
Code like this can result in a lot of color changes in rapid succession, particularly the short if else statements.
I don't know if it would be a benefit or not but I suspect that only coloring the "current" block and maybe the one wrapping it would be a good idea. something like the current builtin bracket marker line that's on the side.
A further improvement which would greatly help when working with e.g. LISP files would be:
colorize background of the bracket pairs on the same line, similar to what
if the brackets are indented inconsistently, switch colorization not by indent depth but by bracket depth
example:
here i'd expect the (if on line 102 to be colorized in violet not cyan, both (starts-with ... and (net-send-get-result on lines 103-104 to be colored cyan, and (append "." lne) to be colored orange
Is there any way to limit the depth? for example only to take 2 levels (after parenthesis or brackets) inside and paint all the next levels on the same color than parent.
In my case I have a lot of levels but I don't want to see every level. I just want 2 or 3 levels to identify where my function ends easily.