语法突出显示示例编程语言

时间:2011-04-28 17:31:54

标签: editor syntax-highlighting

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

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

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

2 个答案:

答案 0 :(得分:3)

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

可以为emacs定义“模式”,这些模式支持编辑符合特定格式的文档。例如,

存在emacs“模式”
  • C / C ++
  • 爪哇
  • 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是免费的,开源的,可在任何平台上运行。

答案 1 :(得分:1)

语法高亮显示只是编写文本编辑器的一小部分。编写通用文本编辑器比编写语法高亮显示要困难得多。据我所知,“语法高亮编辑器生成器”的应用程序太窄,无法使用它。

另外,我不希望我的客户只是为了编辑某种文件格式来切换编辑器。你更喜欢为像Emacs,vim或eclipse这样的流行(跨平台)编辑器编写模式。

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