我观看了YUIConf 2012的一段视频,其中Douglas Crockford讲述了在JavaScript中实现monad的问题。在这个演讲中,他给出了一个代码示例,利用他所谓的“上下文着色”,它抛出了通过语言语法着色的想法,并为不同的范围引入了不同的颜色。以下是视频特定部分的链接。
http://www.youtube.com/watch?feature=player_embedded&v=dkZFtimgAcM#t=15m58s
这个上下文着色方案是由JavaScript或任何语言的任何代码编辑器实现的吗?
我使用Sublime Text和这个编辑器一样,我遇到的所有其他代码编辑器都允许将颜色应用于语法。我不确定插件是否可以解决这个问题,或者编辑器是否必须从头开始设计以允许这种上下文着色方案。
答案 0 :(得分:23)
我只是看了他的视频,很棒的东西。不得不give it a try,或在GitHub https://github.com/daniellmb/JavaScript-Scope-Context-Coloring结帐项目。
答案 1 :(得分:9)
截至2013年2月13日,Crockford已向JSLint添加了实验性上下文着色功能。
https://plus.google.com/118095276221607585885/posts/FzKnHk96m2C
答案 2 :(得分:9)
答案 3 :(得分:8)
答案 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的词法分析器,当有任何语法错误时它可能不起作用。