Notepad++ COBOL 注释使用行号突出显示

Notepad++ COBOL 注释使用行号突出显示

当行号填入第 1-6 列时,如何让 COBOL 注释在 Notepad++ 中使用正确的语法突出显示?

我是一名使用 Notepad++ 编写 COBOL 代码的开发人员。我使用内置的 COBOL 语法高亮功能,该功能在大多数情况下都有效,但有一个特殊问题。

COBOL 注释以星号表示,位于一行中的第 7 个字符 - 通常情况下,这是正确的。但是,如果第 6 个字符在星号前一行也已填写,该行将错误地无法注册为评论。

例子:

      * THIS SHOWS AS A COMMENT
SH0819* THIS DOES NOT SHOW AS A COMMENT
     9* NEITHER DOES THIS

在 COBOL 中,1-6 行用于“行号”,或者作为原始手动版本控制的一种形式,用于首字母和日期。通常会填写这些字符,并且它们不会以任何方式干扰语法。

有没有办法防止第 6 个字符影响第 7 个字符的语法高亮?

答案1

我知道这是一篇旧帖子,但也许这会对某些人有所帮助。我最近开始使用 Unisys COBOL 进行编程,并注意到了您所指的问题。要修复它,您需要重建 NPP。它是 Git 上的开源程序。

LexCOBOL.cxx是需要更新的程序。第 210 行左右是一条 if 语句,其开头是if (isCOBOLwordstart(ch) || .... 您需要添加一个附加条件来检查列号是否为 7 或更大。新的 if 语句的开头如下:

if (column > 6 && (isCOBOLwordstart(ch) || ....)

LexCOBOL.cxx 更改以修复 COBOL 注释问题。

答案2

第一种情况:从第 1 列开始编码,并将被视为第 7 列(Notepad++ 效果很好) 情况1

第二种情况:从第 8 列开始编码,并将被视为标准编辑器 COBOL。 案例 #2

当第 6 列是编码时,Notepad++ 会将行为例 1。(在这种情况下,注释不起作用)。

我使用 SPFLite。此编辑器在 Mainframe 上用作 ISPF。

相关内容