A linter for Fortran files
Project description
Fortran syntax checker
Installation
There are 2 ways of installing the linter. The recommended one is through pip
pip install fortran-linter
The other way is to clone this repository and install it from the local copy:
git clone https://github.com/cphyc/fortran-syntax.git
pip install .
Please note that depending on your installation, you may have to add sudo
to the pip install
line. This is due to the fact that the package is shipped with a script fortran-linter
. For some installation, the creation of this file may require root access.
Usage
This tool checks for fortran syntax against a few rules. To print a list of all the warnings for a file, run:
fortran-linter myfile.f90 --syntax-only
To try to fix the warnings in place, do:
fortran-linter myfile.f90 -i
The original file will be backuped into myfile.f90.orig
. All the safe fixes will be done and stored in the file myfile.f90
.
For more help, you can type
fortran-linter -h
Rules
Currently, the following things are checked:
- Ponctuation should be followed by a space, this include
,
,;
and)
.. - The following special characters are surrounded by at least one space:
::
,=
. - A line should not exceed 120 characters (this is somehow already extreme).
- One should use
use mpi
instead ofinclude "mpif.h"
. Note that this is not fixed by default as it may break codes whereinclude "mpif.h"
follows andimplicit none
statement. - Spaces are preferred over tabs, trailing whitespaces are cleaned.
- Warnings are raised if you use
real(8) :: foo
. One should rather useinteger, parameter :: dp = selected_real_kind(15); real(dp) :: foo
oruse iso_fortran_env; real(real64) :: foo
TODO list
- TESTS
- support for other editor(s), e.g. Atom, Vim, …
- add more rules (this one will never end)
- ship on pip
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fortran_linter-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef827d113962812401b99a338fd71e2787cd70b1488a17fb84942e4b8dc0caa0 |
|
MD5 | ebfbd5a1fdcab6d43f859905920fcf1b |
|
BLAKE2b-256 | 1a3551c4760c0eafead1768cfa2ec3a4a130ffa168ebd9901618b53a7f9e7e01 |