【发布时间】:2013-01-31 23:38:06
【问题描述】:
我认为标准突出显示是有用的——在某种程度上。在使用回调和嵌套结构进行编程时,这无济于事。关键字和字符串,它们无处不在,当它们以不同的颜色显示时会有所帮助,但是这些颜色无法说明我在哪个范围内,从词汇的角度来看我在哪里。
我在 Douglas Crockford 的一次谈话中听说过上下文突出显示,但我记不起它的网址了。这个想法是,突出范围的词汇级别。顶级定义在 color0 中着色,内部级别块语句在 color1 中着色,并且每次引入新的范围级别时都会递归重复。下面是一个例子,使用了一些虚构的节点库。 (现在添加了一个(ish(或 scheme lisp))示例)
这不一定适用于 node 或 javascript。我想知道是否有实现这种功能的编辑器/vim 插件。我不知道 context highlighting 是不是这个词,但我不能只找到一个。谷歌搜索上下文突出显示会显示基于通用标记的突出显示和 ConTeXt(我对此一无所知)的结果。
这存在吗?有编辑器实现这个吗?更重要的是,我可以在 vim 中使用它吗?
另一个与我相同的问题,没有真正的答案:Is Crockford style Context Coloring implemented in any code editor?
【问题讨论】:
-
我喜欢这个。 if & else 不是同一个级别,而它们各自的 {} 不是另一个级别吗?
-
一般颜色的问题,尤其是你的颜色的问题在于,它们并没有真正具有可用于指示上下文的自然顺序。彩虹色可能是这种顺序的近似值,但它不适用于嵌套或渐变的想法,IMO。可以使用亮度,也许:光标周围变亮,随着我们离开而逐渐变暗。无论如何,这是一个有趣的想法。
-
这是Douglas Cockroft talk on YouTube 的链接。他在 17:30 左右谈到了“上下文着色”。一个重要的区别是他的变量是根据声明它们的作用域来着色的,而不是它们出现的作用域。
-
@lazfish romainl 我只是试图说明想法。出于同样的原因,颜色只是随机选择的,我同意 romainl 的想法,尽管 IDK 亮度是什么。 lazfish IMO 为块绑定的实际关键字着色,使其更容易识别级别。 MatthewStrawbridge,非常感谢您的链接,我已经查找了一段时间。谢谢大家的cmets!
-
@G。卡亚尔普。 Link for ranbow parentheses
标签: vim ide editor syntax-highlighting highlighting