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

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 报告;

4223 Notepad++ 6.3 could not identify the adjacent keywords of Fortran. All open   2013-03-06 5 days ago  
3850 FORTRAN code folding fails for certain IF blocks None open   2012-06-27 2012-11-13  
681 Free fortran Highlighting None closed   2007-02-01 2009-06-10  
352 Fortran block comment None closed   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.
大家也可从 S ciLexerForNotepad++632Fortran.7z 下载已经重新编译的 SciLexer.dll
https://sourceforge.net/p/notepad-plus/discussion/331753/thread/83962ff2/1561/attachment/SciLexerForNotepad%2B%2B632Fortran.7z
替换后效果:

猜你喜欢

转载自blog.csdn.net/gocad/article/details/8835336