在 Trac 中使用没有 mime 类型的 Pygments 词法分析器?
Posted
技术标签:
【中文标题】在 Trac 中使用没有 mime 类型的 Pygments 词法分析器?【英文标题】:Use a Pygments lexer with no mime type in Trac? 【发布时间】:2012-11-27 15:53:44 【问题描述】:我想让 Trac 为我的 aspx 文件着色,但我找不到让它工作的方法。我可以轻松地为大多数 Pygments 词法分析器添加 mime 类型/扩展映射,但 CSharpAspxLexer 没有分配的 mime 类型(请参阅http://pygments.org/docs/lexers/#lexers-for-net-languages)。我已经尝试了几件事,但我看不到没有 mime 类型将 [mimeviewers] 部分连接到 Pygments 的方法。 CSharpLexer 自动工作并且看起来很棒,但仅适用于 .cs 文件(应该如此)。
我使用 Mercurial 作为存储库,因此无法手动设置 MIME 类型;无论如何,这不是一个好的解决方案。我的 Trac 安装在 Windows 中。有什么想法吗?
【问题讨论】:
暂时破解 Pygments 并为他们的项目提供补丁以添加 mimetype? 【参考方案1】:我只是将它呈现为 XML,对于典型的 Windows .Net 开发的许多其他类似文件也是如此。我的映射如下所示:
[mimeviewer]
mime_map = text/xml:aspx:ascx:master:resx:config:sitemap:wsdl:disco:map:asmx:mxml:csproj, ...
不过,我认为您也可以通过 pygments_modes 设置启用 aspx(并且您需要将其从 mime_map 中删除):
[mimeviewer]
pygments_modes = text/plain:aspx-cs:7
据我所知,它不会处理 ascx 和其他(非常)aspx 的近亲,所以我不使用该设置,因为我发现使用相同的词法分析器渲染所有变体更好。而且,我认为 XML 词法分析器工作得非常好。
【讨论】:
为我工作!我没有意识到 XML 词法分析器如此灵活。我想根据定义它必须是。谢谢。以上是关于在 Trac 中使用没有 mime 类型的 Pygments 词法分析器?的主要内容,如果未能解决你的问题,请参考以下文章
在没有 PECL 扩展的 PHP5 中获取本地文件的 MIME 类型?