cla_help Subroutine

public subroutine cla_help(cmd_name)

Arguments

Type IntentOptional Attributes Name
character(len=*) :: cmd_name

Called by

proc~~cla_help~~CalledByGraph proc~cla_help cla_help proc~cla_validate_info cla_validate_info proc~cla_validate_info->proc~cla_help proc~get_cla_gvec_to_jorek get_CLA_gvec_to_jorek proc~get_cla_gvec_to_jorek->proc~cla_help proc~cla_validate cla_validate proc~get_cla_gvec_to_jorek->proc~cla_validate program~gvec GVEC program~gvec->proc~cla_help program~gvec->proc~cla_validate proc~cla_validate->proc~cla_validate_info

Source Code

    subroutine cla_help(cmd_name)
      character(len=*) :: cmd_name
      integer(kind=int_kind) :: i
      character(len=256) :: cmd_usage
      cmd_usage = ""
      do i=1,cla_num
        if (cla_registry(i)%kind == cla_flag) then
          cmd_usage = trim(cmd_usage) // " [" // trim(cla_registry(i)%key) // "]"
        else
          cmd_usage = trim(cmd_usage) // " [" // trim(cla_registry(i)%key) // "=" // &
          trim(cla_registry(i)%default) // "]"
        endif
      enddo
      do i=1,cla_posarg_num
        cmd_usage = trim(cmd_usage) // " " // trim(cla_posarg_registry(i)%key)
      enddo
      write(stdout,*)'General usage:'
      write(stdout,*)'  ',cmd_name, trim(cmd_usage)
      write(stdout,*)' '
      write(stdout,*)'Options and flags {default values}:'
      if (cla_num == 0) write(stdout,*)"None"
      do i=1,cla_num
         if (cla_registry(i)%kind == cla_flag) then
            write(stdout,'(1x,a,1x,a24,":",4x,a)')trim(cla_registry(i)%key), &
                                       trim(cla_registry(i)%longkey), &
                                       trim(cla_registry(i)%description)
         else
            write(stdout,'(1x,a,1x,a24,":",4x,a,2x,"{",a,"}")')trim(cla_registry(i)%key), &
                                 trim(cla_registry(i)%longkey), &
                                 trim(cla_registry(i)%description), &
                                 trim(cla_registry(i)%default)
         endif
      end do
      write(stdout,*)' '

      write(stdout,*)'Positional arguments:'
      if (cla_posarg_num == 0) write(stdout,*)"None"
      do i=1,cla_posarg_num
        write(stdout,'(1x,a,":",1x,a,4x,a)')trim(cla_posarg_registry(i)%key), &
                                trim(cla_posarg_registry(i)%description)
      end do

      write(stdout,*)' '
      write(stdout,*)'Also, -?, -h, -H, -help, --help, and --usage are recognized.'
      write(stdout,*)' '
    end subroutine cla_help