There is an obvious Error in npp src. ( About FORTRAN Syntax Highlighting And Fold )

来源:互联网 发布:淘宝物流助手在哪里 编辑:程序博客网 时间:2024/05/29 03:50

There is an obvious in Error npp src.

You can see that in PowerEditor\src\ScitillaComponent\ScintillaEditView.cpp.
{TEXT("fortran"), TEXT("Fortran"), TEXT("Fortran source file"), L_FORTRAN, SCLEX_FORTRAN},

But you find Error in PowerEditor\src\ScitillaComponent\ScintillaEditView.h
void setFortranLexer() {
setLexer(SCLEX_F77, L_FORTRAN, LIST_0 | LIST_1 | LIST_2);
};

in SciLexer.h

SCLEX_FORTRAN( 36 ) != SCLEX_F77( 37 )

SCLEX_FORTRAN    Fortran Free Format source code
SCLEX_F77                Fortran Fixed Format source code

以下是可以从 http://sourceforge.net/p/notepad-plus/bugs/ 搜索到的,之前关于 NotePad++ 在Fortran 语法设置的 bug 报告;

4223Notepad++ 6.3 could not identify the adjacent keywords of Fortran.Allopen 2013-03-06 5 days ago  3850FORTRAN code folding fails for certain IF blocksNoneopen 2012-06-27 2012-11-13  681Free fortran HighlightingNoneclosed 2007-02-01 2009-06-10  352Fortran block commentNoneclosed 2006-03-14 2010-10-02
对于Notepad++ 6.3.2  之前版本( 含 6.3.2)可重新编译 Scintilla (修改SciLexer.h,将SCLEX_FORTRAN 和 SCLEX_F77定义值对掉)
#define SCLEX_FORTRAN 37#define SCLEX_F77 36
得到的 SciLexer.dll 替换Notepad++自带的,即可使 Fortran Free Format source code 得到正确的 FORTRAN Syntax Highlighting And Fold.
大家也可从 SciLexerForNotepad++632Fortran.7z 下载已经重新编译的SciLexer.dll
https://sourceforge.net/p/notepad-plus/discussion/331753/thread/83962ff2/1561/attachment/SciLexerForNotepad%2B%2B632Fortran.7z
替换后效果:

原创粉丝点击