fprettify icon indicating copy to clipboard operation
fprettify copied to clipboard

missing split of `elseif` to `else if`

Open nbehrnd opened this issue 10 months ago • 0 comments
trafficstars

It seems to me fprettify does not provide an automated edit of keyword elseif to yield else if.

Inspired by a discussion in the fortitude project (link) I observe fprettify (version 0.3.7, fetched from PyPI) apparently doesn't edit elseif while e.g., endif and enddo routinely yield end if and end do, respectively.

My test file:

! test.f90
program test
   implicit none
   integer :: i
   do i = 1, 8
      if (i == 3) then
         print *, "first branch"
      elseif (i == 4) then
         print *, "second branch"
      endif
   enddo
end program test

Tests run:

  • fprettify test.f90, i.e. default parameters: endif and enddo are split, elseif remains elseif
  • fprettify --whitespace-intrinsics False test.f90: as expected, endif and enddo are equally retained as such
  • fprettify --whitespace-intrinsics True test.f90: endif and enddo are edited, but elseif is not
  • fprettify --whitespace-logical True test.f90: endif and enddo are edited, but elseif is not

Is there a different flag or level more suitable for the task I should use instead?

nbehrnd avatar Jan 07 '25 09:01 nbehrnd