Tree-sitter based f90 mode for emacs

I have started implementing a new tree-sitter based mode for emacs for modern f90+ fortran, which can be found at f90-ts-mode. I have tested it with emacs 30.2, but it should work with emacs 29 as well (older version might be difficult, as tree-sitter was added in emacs 29).

It provides indentation and font-locking for many common language features and some other functions like smart end completion, comment region functions, break/join lines.

There are quite a bit of language features missing, but it already works well on a large modern code base, for which I have already been using it for a while.

I will add support for more language features before trying to publish it on melpa. But with git clone and the installation setup in README.md, it should not be too difficult to try it out.

I have also tried to make it easy to contribute. There are some logging facilities, a logging branch with lots of log output to explore the inner working of the mode, a number of tests for implemented features and some functions to easily add and update tests.

4 Likes