在任何代码编辑器中都实现了Crockford样式的Context Coloring吗?

时间:2012-12-14 16:06:20

标签: javascript editor syntax-highlighting sublimetext2

我观看了YUIConf 2012的一段视频,其中Douglas Crockford讲述了在JavaScript中实现monad的问题。在这个演讲中,他给出了一个代码示例,利用他所谓的“上下文着色”,它抛出了通过语言语法着色的想法,并为不同的范围引入了不同的颜色。以下是视频特定部分的链接。

http://www.youtube.com/watch?feature=player_embedded&v=dkZFtimgAcM#t=15m58s

这个上下文着色方案是由JavaScript或任何语言的任何代码编辑器实现的吗?

我使用Sublime Text和这个编辑器一样,我遇到的所有其他代码编辑器都允许将颜色应用于语法。我不确定插件是否可以解决这个问题,或者编辑器是否必须从头开始设计以允许这种上下文着色方案。

6 个答案:

答案 0 :(得分:23)

我只是看了他的视频,很棒的东西。不得不give it a try,或在GitHub https://github.com/daniellmb/JavaScript-Scope-Context-Coloring结帐项目。

JavaScript Scope Context Coloring

答案 1 :(得分:9)

截至2013年2月13日,Crockford已向JSLint添加了实验性上下文着色功能。

https://plus.google.com/118095276221607585885/posts/FzKnHk96m2C

答案 2 :(得分:9)

Vim (GitHub)

enter image description here

Emacs (GitHub)

Screenshot of context coloring in Emacs.

答案 3 :(得分:8)

现在有一个崇高的包:https://github.com/mazurov/sublime-levels

它还在http://mazurov.github.io/eslevels-demo/

进行了在线直播演示

答案 4 :(得分:3)

BlueJ有它(1) - 但它也可能没有。 javascript中范围的上下文着色肯定会比任何其他语言(如编辑器所使用的java)更复杂。

编写Brackets的人最终可能会这样做,因为他们崇拜Crockford(2,3)

为什么不加入他们帮助写作或至少告诉他们?

来源:

1)http://blogs.kent.ac.uk/mik/2010/05/bluej-3-0-whats-new/

2)https://github.com/adobe/brackets/issues/search?q=Crockford

3)http://www.adobe.com/devnet/html5/articles/bracket-code-architecture.html

答案 5 :(得分:-1)

不是我知道的。这将是很好的,但它需要一个特定于JavaScript的词法分析器,当有任何语法错误时它可能不起作用。