Editor 非常简单、可分发的文本编辑器,具有可自定义的语法高亮显示,可能还有单词补全功能——没有其他功能

Editor 非常简单、可分发的文本编辑器,具有可自定义的语法高亮显示,可能还有单词补全功能——没有其他功能,editor,syntax-highlighting,Editor,Syntax Highlighting,我正在寻找一个编辑器,而不是一个IDE,它只有语法高亮显示。单词补全对于我指定的关键字也很好,但是我可以放弃这个功能。它只需要与Windows兼容 情况是,我有一个非常狭窄的特定领域的语言,只有大约25个关键字;它甚至没有条件句。我想突出显示关键字,以便用户知道他们何时正确编写了关键字。为了确保他们不需要特别记住每个关键词,这就是单词补全的好地方 我假设用户拥有典型祖父母的计算机技能——我很容易在Vim和PSPad中为这个DSL制作语法文件,但我觉得这些功能太多,无法“使用”这个目标受众。记事本

我正在寻找一个编辑器,而不是一个IDE,它只有语法高亮显示。单词补全对于我指定的关键字也很好,但是我可以放弃这个功能。它只需要与Windows兼容

情况是,我有一个非常狭窄的特定领域的语言,只有大约25个关键字;它甚至没有条件句。我想突出显示关键字,以便用户知道他们何时正确编写了关键字。为了确保他们不需要特别记住每个关键词,这就是单词补全的好地方

我假设用户拥有典型祖父母的计算机技能——我很容易在Vim和PSPad中为这个DSL制作语法文件,但我觉得这些功能太多,无法“使用”这个目标受众。记事本的功能(加上颜色)就足够了

我也愿意从头开始编写一个简单的编辑器,如果有一个库已经完成了我在这里解释的大部分工作,也就是说,我只是告诉它用什么颜色突出显示什么,可能使用正则表达式


更新:我看了一下SciTE——它与我正在寻找的非常相似,只是创建新的语法文件(属性文件)变得相当麻烦。我的语法相当简单:一个简短的示例脚本可能有以下形式:

CommandA
CommandB Num1 Num2

CommandC
它不太适合Python或Basic语言,但我也不打算为它编写lexer。但是SciTE的简单性和它使用该文件运行外部程序的能力是两个优点

记事本++也很不错——我认为它的功能对于预期用途来说有点太全面了,但这本身也不算太糟糕。我已经试过为它设置一个语法文件,但我遇到了一些问题,甚至不应该出现。例如,我为数字样式选择了一种颜色。如果我把数字放在3上,它就会显示得很好。如果我使用3.0,那么.0部分是默认颜色,而不是数字颜色。如果我使用0x80,那么只有第一个零是有色的,更不用说x80了;所以当然0xff的颜色也不正确。另外,
#
是我的行注释字符。如果我有一行,比如

# foo bar
整条线是蓝色的,这是合适的。但是如果没有空格(
#foo bar
),那么整条线将保持黑色。我的最后一个抱怨是,自动补全似乎只拾取文件中已使用的单词,而不是尚未使用的关键字

这里的语法配置有什么明显的遗漏吗?我在谷歌搜索记事本++语法的答案时运气不好。

使用该库,如编辑器所示。它有一个用于自定义语法突出显示和自动完成的系统

您可能可以按原样使用SciTE,也可以轻松地修改它或为闪烁体编辑器组件编写自己的shell


它附带商业友好的开源许可证。

使用记事本plus。。。用语言插件。。它从文本文件中读取关键字

满足您的所有要求,等等

从链接:

记事本++是免费的(如“言论自由”和“免费啤酒”)


它还具有自动补全功能和用户定义的语法高亮显示功能。

crimsoneditor和jedit工作得很好

在深入研究之后,我发现它最适合我的需要。关键字完成仅基于定义的关键字;语法文件设置简单;默认情况下,我可以禁用“复杂”功能,将其转换为我所需要的功能。

您能否举例说明它应该如何“可分发”可分发,因为我可以合法地将其与商业软件打包,而无需支付许可费。它不必像言论自由那样自由,但它确实需要像免费啤酒一样自由。