
JavaScript Scope Context Coloring - templaedhel
https://github.com/daniellmb/JavaScript-Scope-Context-Coloring
======
scjr
It might be better to use variations in the background color. It may feel more
natural to do so and it would allow normal syntax highlighting alongside scope
highlighting.

~~~
seanp2k2
Yes; highlight BG lighter grey. This would be an awesome plugin for ST.

~~~
Zecc
Make the background color become less contrasting with the foreground color
the more you nest. The larger the number of nested scopes, the harder it's
going to be to read it anyway!

I'm actually serious by the way.

------
wavesounds
Really great idea, would be super useful, it looks like its still got a ways
to go though, it doesn't seem to recognize global variables yet for one

[http://stackoverflow.com/questions/235360/what-is-the-
scope-...](http://stackoverflow.com/questions/235360/what-is-the-scope-of-a-
function-in-javascript-ecmascript)

~~~
Kudos
If you're using strict Javascript (and you should be) there are no implicit
global variables.

~~~
riffraff
how would an example of javascript without implicit global variables work? For
example, how does it get access to "Array", "require" or "window" ?

(I don't think "use strict" goes to the length of turning javascript into
bracha's newspeak but I may likely have no idea what "strict javascript"
actually refer to)

~~~
mostlystatic
You can access global variables as normal, but you can't implicitly declare
them by doing `myGlobaVar = 5` - you have to use `window.myGlobalVar`.

------
necolas
Ever since watching that Crockford talk, I've wanted to try this out as a Vim
plugin.

------
dag11
This is great.

Idea: Implement loose "syntax" highlighting over the scope highlighting by
bolding syntax keywords instead of highlighting them. Perhaps also slightly
change the brightness of certain syntax keywords.

~~~
crazygringo
Great idea. Bolding language-specific words, and then making strings and
comments less bright, would probably achieve 90% of the usefulness of normal
syntax highlighting, and combine well with this.

------
druska
Now we just need a Sublime Text plugin for this.

~~~
LAMike
Let's make a Kickstarter

------
VeejayRampay
That's excellent. A nice variation around this that I've been keen on for a
long time and have been wanting to see in modern IDEs is using 3D (or drop
shadows) to simulate the nesting of blocks/closures/scopes and give the
programmer an instant understanding of the different levels and depths.

------
Vivtek
This is probably one of those things that's really effective if you have
working color vision, right?

------
TheFuntastic
Can anyone point to which particular crockford talk this was inspired by? I've
had the idea for scope highlighting bashing around my head for a while now,
would love to know more.

~~~
jnotarstefano
It's from "Monads and Gonads", a talk delivered at YUIConf 2012. Here it is:
[http://www.youtube.com/watch?feature=player_embedded&v=d...](http://www.youtube.com/watch?feature=player_embedded&v=dkZFtimgAcM#t=15m58s)

~~~
VeejayRampay
I'm really surprised this talk didn't generate a PC outcry given all the
mentions of "huevos", "gonads" and the likes...

------
mateuszf
Actually Intellij Idea has the same concept, here it is working in HTML:
<https://dl.dropbox.com/u/456905/idea.png>

I think it would be great if they added it to JS, with their powerful syntax
parsing it would be probably trivial to do.

Edit: probably works in their php, django and rails ide-s.

~~~
jtreminio
PhpStorm has this ability - and I've turned it off.

Too much colors for my blood, and it doesn't look good against Solarized.

One thing I _really_ enjoy about this IDE is the indentation level markers -
basically lines draw down to show you where the current scope ends (braces,
parens).

------
macca321
I forked it with fonts: <http://snag.gy/TnNBO.jpg>

Maybe not so useful...

~~~
arianvanp
Discussions between developers will be so much more jolly :) "Dude, why isn't
my `this` in the comic sans scope referring to the DOM D:"

------
ebiester
I think this would make a lot of sense for Lisp or Clojure, at least when
starting out.

------
efnx
Someone should abstract this out (for an arbitrary number of languages) into a
program that would provide annotations for vim or emacs or...

------
phy6
Wow, I'd love to have this in a Java IDE. I often have to deal with reverse
engineering amateurish code in many 1000 line classes.

------
seanp2k2
What if it changed based on cursor position?

------
curiousdannii
It doesn't seem to handle comments correctly. I need to delete all mine to
make it work.

~~~
nadinengland
I noticed that too. It also only highlights variables from other scope once
per function which is a tad odd but for experimental you can't complain!

