2011-04-28 209 views
2

我正在使用具有自己的SQL语言来查询数据库的产品。我们称之为报告语言。现在,我想要一个文本编辑器,它突出显示特定于我的语言.i.e我可以指定关键字(紫色),数据类型(红色),注释绿色和其他一切黑色等。针对示例编程语言的语法高亮显示

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

请不要犹豫,回答任何信息,即使它太基本。 在此先感谢。

回答

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

语法突出显示只是编写文本编辑器的一小部分。编写一般的文本编辑器会比编写语法高亮更麻烦。据我所知,“语法突出显示编辑器生成器”太狭窄了,应用程序有一个工具。

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

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