Fortls joins Fortran-lang

The fortls Language Server has migrated to Fortran-lang :tada: !

I am passing on the project to Fortran-lang in an attempt to keep the project alive in case I stop contributing (similar to what happened to the first language server back in 2020). I do not intend to stop, but it’s good to add safeguards to the project. There are still some pending issues with the transfer that will be resolved in the next couple of days, but I am hoping moving the project under Fortran-lang encourages more people to contribute and fix bugs for the server.

If anyone is interested go ahead and have a crack at some of the issues here: Issues · fortran-lang/fortls · GitHub and check instructions for contributing here.

21 Likes

Thank you, Giannis! The fortls site is now up on https://fortls.fortran-lang.org/.

1 Like

Hey Giannis, that’s great news. I also like the website design. It’s cool to see IDE support of Fortran taken so seriously.

It’s worth highlighting that the language server protocol is a general specification, so any tooling provider can in principle benefit from it (and ideally contribute back).

Does the fortls project also implement any elements of LSIF (language server index format)? It would be nice to evolve some practices/standards for documenting Fortran code in a way which would be LSP/LSIF-friendly.

2 Likes

I haven’t had much time to see if LSIF would be useful for Fortran projects (probably it would), so at the moment fortls only does LSP. I would be interested in exploring this further in the future.

As for the LSP itself you are right, a lot more users, not just vscode and (n)vim one’s should be able to use fortls. Specifically, all these editors and IDEs should, in theory, be able to use fortls. If anyone is struggling, feel free to reach out to me.

Based on the poll you made previously - Code Editors/IDEs used for Fortran - it seems about 3/4 of respondents use tools other than VS Code/Codium (I guess there are differences based upon Fortran coding experience/age).

The website looks terrific! Very slick and modern!

2 Likes

Attention @greenrongreen , as discussed previously, Intel Fortran users would really, really benefit from Intel Software team’s attention to this and the ways Intel can contribute back and/or build on such language servers such that the consumption on Intel oneAPI HPC toolkit, particularly IFX becomes far more productive and ultimately a daily delight to achieve more and more high-performance computing.

You will note a sizeable community of current and more importantly, future users of oneAPI HPC toolkit, particularly IFX (and IFORT), are in industry and an increasing share of the computing needs in industry where modern Fortran can be a crucial tool is in the reduction of carbon intensity in all the workflows, especially manufacturing. And a global transformation of the energy industry away from fossil fuels. Note a significant fraction of the industry consumes Intel processors. Business leaders at Intel, Inc will struggle to draw a clearer connection with all the public statements about ESG on their websites such as this and other public statements and the real, tangible benefits that can be extended by Intel products deep down in the “trenches” where the painstaking heavy-lifting will occur to bring about better and more sustainable practices and solutions toward the global need for natural resources and materials.

TL;DR: Fortran can play a major role now and into the future, what and how can Intel do to help more?

2 Likes

That’s perfectly fine, that’s the beauty of LSP it’s works cross-platform and across editors. fortls is documented to work with more 75% of the listed editors in that poll. Configuration instructions can be found in the docs:

https://fortls.fortran-lang.org/editor_integration.html

1 Like

You raised some very interesting points that I will admit had not crossed my mind up until now.

If Intel decides to go down the path of developing a Language Server and/or a Debug Adapter I would suggest they collaborate either with fortls or LFortran. This summer @certik and I had a few meetings on how the design of the LFortran Language Server should be and how to get started (I need to update the Fortran-lang roadmap to reflect that). There is definitely a solid plan in LFortran’s first steps to a Language Server but there is also a lot of work to be done and external help either in code contributions or in funding would fast-track the project.

2 Likes

I don’t think it’s a lot of work. We got the basics working with a summer student, but it’s not finished. If anybody is interested in working on this, we have funding.

1 Like

The following comments are mine alone and do not reflect the position of Intel Corp:
It’s bad timing for Intel currently. With the cost measures going into place we’re rather limited in what we can take on over and above our core product deliverables, now and going throughout 2023. I will continue to lobby to hire an intern in 2023 but prospects do not look promising.

3 Likes

Thank you very much, @greenrongreen , for your feedback - greatly appreciate your interest and support toward this in the longer-term - understand perfectly your point about timing. Intel is first an important customer to us and we know about the cost measures, it impacts our business directly! Intel is then an indirect supplier (cue “Intel inside”) and a very minor vendor with its development software.

1 Like

Thanks @greenrongreen for pursuing this, that means a lot and what you said is completely understandable. Just know that Fortran-lang and LFortran have the will and appetite to work with Intel on some common project, be that lfortran, fortls, issues related to the state of GDB or any other relevant project.

1 Like