Google Code Prettify指南

时间:2017-06-19 13:14:12

标签: documentation submission prettify google-code-prettify

我希望从Google的Code-Prettify项目中获取Issue 295;即添加对lang-powershell的支持。

虽然我找到了一些代码示例,但我找不到有关如何编写此代码的任何文档,或任何提交指南(例如,语法突出显示是否适用于无效代码,或者是否应尝试突出显示此类错误) ?

具有讽刺意味的是,我已经尝试过谷歌搜索,但没有快乐。我能找到的最好的是Style Guide

问题

请有人指出我向Google Code Prettify提交新语言支持脚本的文档吗?

1 个答案:

答案 0 :(得分:1)

  

语法突出显示是否适用于无效代码   或者是否应该尝试突出显示此类错误

Prettify通常应用于代码片段,因此您可以假设片段从令牌边界开始,但不应假设它从顶级生产开始。

在像SO这样的网站上,美化适用于新手和维护者编写的输入,他们熟悉其他语言,并试图对现有的代码片段进行现场编辑。

Prettify应该让那些对语言有深刻理解的人能够快速扫描代码片段中的问题。

您应尽最大努力从错误中恢复。例如,如果代码段仅包含单行代码,则一行上的无效代币不应该阻止对每个后续行进行美化。如果这是不可避免的,那么无效的令牌不应该阻止先前令牌的美化 - 看到令牌化失败的位置可以向扫描代码片段的人传达有用的信息。

如果您想调出明显的错误,例如未关闭的字符串文字,那就太棒了。我应用.err,然后想要以红色应用摇摆下划线的样式可以这样做。我很乐意接受更改默认样式表。

我想到的方式是美化弥合了两种语言概念之间的差距:

  1. 在解析器理论中," 语言"是一组字符串。 PowerShell 语言是由规范文档中的语法定义的字符串集。
  2. 在常见的描述主义用法中," 语言"将由相关语言社区中的发言者或作者产生的内容与他们产生字符串时的想法联系起来。当程序员坐下来生成PowerShell脚本时,他们生成的是语言中的字符串,即使他们做得不好或者PowerShell的心理模型与规范文档有很大不同。
  3. 在第一种意义上,没有一个格式错误的PowerShell程序,只是一个不在语言中的字符串,因此根据规范没有语义。在第二种情况下,格式错误的PowerShell程序是PowerShell程序。

    请记住第二个定义,并记住,美化不需要处理代码生成器的输出。