我正在更新一些fortran 77代码以使用fortran 90构造,而emacs是我的首选编辑器。目前,源是固定格式的,并且不会很快改变(由于外部约束)。我可以选择的两种emacs主要模式是fortran-mode
,它只突出显示fortran 77构造的语法(它不理解module
或contains
等作为我找到的关键字非常烦人,但它确实理解固定格式 - 正确地在必要时缩进代码)。我可以使用的另一个主要模式是f90-mode
,然而,这会使缩进完全错误,这也有点烦人。有没有办法从f90-mode
获取语法高亮,但fortran-mode
中使用的缩进结构?
答案 0 :(得分:2)
看起来这确实是可能的。尝试将以下内容添加到配置文件中:
(require 'f90)
(add-hook 'fortran-mode-hook 'f90-font-lock-2)
这只是关注emacs.stackexchange.com上提供的解决方案,所以感谢应该流向用户deprecated!
答案 1 :(得分:0)
您可以通过添加
在fortran-mode
中实现一些fortran90突出显示
(add-hook 'after-change-major-mode-hook
(lambda () (font-lock-add-keywords 'fortran-mode
'(
("\\(CONTAINS\\)" 1 font-lock-keyword-face t )
("\\(USE\\)" 1 font-lock-keyword-face t )
))))
到〜/ .emacs(或〜/ .emacs.d / init.el)文件。
对于全面的解决方案,需要使用正则表达式进行一些额外的工作。但只需几行,您就应该对代码感到满意。使用不同的面可以获得不同的颜色:
font-lock-comment-face
font-lock-constant-face
font-lock-function-name-face
font-lock-keyword-face
font-lock-type-face
font-lock-warning-face