format_fortran_file Subroutine

public subroutine format_fortran_file(filename, success)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
logical, intent(out) :: success

Source Code

    subroutine format_fortran_file(filename, success)
        character(len=*), intent(in) :: filename
        logical, intent(out) :: success
        character(len=4096) :: command
        integer :: iostat

        ! Check if fprettify is available first
        call execute_command_line('which fprettify > /dev/null 2>&1', exitstat=iostat)
        if (iostat /= 0) then
            ! fprettify not available
            success = .false.
            return
        end if

        ! Format file in place
 write (command, '(A)') 'fprettify "'//trim(escape_shell_arg(filename))//'" 2>/dev/null'
        call execute_command_line(trim(command), exitstat=iostat)

        success = (iostat == 0)

    end subroutine format_fortran_file