【问题标题】:Syntax Highlighting for a sample programming language示例编程语言的语法突出显示
【发布时间】:2011-04-29 01:53:09
【问题描述】:

我正在开发一种产品,它有自己的类似 SQL 的语言来查询数据库。我们称之为报告语言。现在,我想要一个文本编辑器,它可以突出显示特定于我的语言。即我可以指定关键字(紫色)、数据类型(红色)、cmets 绿色以及其他所有黑色等等。

是否有一个我可以将这些规范作为输入和输出的现有工具是一个文本编辑器,它可以执行这种语言特定的突出显示。

请不要犹豫回复任何信息,即使它太基本了。 提前致谢。

【问题讨论】:

    标签: editor syntax-highlighting


    【解决方案1】:

    Emacs 是世界上最具可配置性和可扩展性的编辑器。

    可以为 emacs 定义“模式”,它支持编辑符合特定格式的文档。例如,有现有的emacs“模式”用于

    • C/C++
    • Java
    • C#
    • VB.NET
    • perl
    • Powershell
    • SQL
    • .htaccess
    • html
    • CSS
    • javascript
    • xml
    • 还有许多其他

    “模式”可以像语法高亮一样简单(或者如 emacs 所说,fontification)。不过,大多数模式都提供其他功能,如自动完成、语法检查、模板插入和编译助手。您在 elisp 中定义了一个 emacs 模式,它是 LISP 的一个变体。

    如果您的要求相对简单,那么您可以在不到一个小时的时间内生成一个 emacs 模式。大多数模式都是开源的,因此您可以从现有模式开始,然后将其更改为您的目的,或者只是从中学习。

    另见A 'hello world' example for a major mode in Emacs?

    Emacs 是免费的、开源的,可以在任何平台上运行。

    【讨论】:

      【解决方案2】:

      语法高亮只是编写文本编辑器的一小部分。编写一个通用的文本编辑器比让它做语法高亮要麻烦得多。据我所知,“语法高亮编辑器生成器”对于一个应用程序来说太窄了,无法为其提供工具。

      另外,我不希望我的客户切换编辑器只是为了编辑某种文件格式。您最好为 Emacs、vim 或 eclipse 等流行的(跨平台)编辑器编写模式。

      如果您只想通过语法高亮显示您的语言,请使用pygments,您可以将其嵌入(python)应用程序(例如https://gist.github.com/773300)或SyntaxHighlighter 用于网络演示。

      【讨论】:

        猜你喜欢
        • 2018-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-26
        • 1970-01-01
        • 1970-01-01
        • 2020-10-10
        • 1970-01-01
        相关资源
        最近更新 更多