subroutine cla_show integer(kind=int_kind) :: i character(len=STRLEN) :: value character(len=STRLEN) :: i_str call cla_message('General usage:') call cla_message(' command -[key] [value] --[longkey] [value] -[flag] [positional arguments]') call cla_message(' The key/value pairs must be matched if they appear.') call cla_message(' Key/value pairs and flags may be in any order.') call cla_message(' ') call cla_message('The following command line arguments and switches are expected:') do i=1,cla_num write(i_str,'(i5)')i call cla_message('---------- i: '// trim(i_str)) call cla_message(' key: '// trim(cla_registry(i)%key)) call cla_message(' longkey: '// trim(cla_registry(i)%longkey)) call cla_message(' description: '// trim(cla_registry(i)%description)) call cla_message(' kind: '// & trim(cla_kindstr(cla_registry(i)%kind))) call cla_message(' default: '// trim(cla_registry(i)%default)) end do call cla_message(' ') call cla_message('The following positional (non-keyword) arguments are expected:') do i=1,cla_posarg_num write(i_str,'(i5)')i call cla_message('---------- i: '// trim(i_str)) call cla_message(' key: '// trim(cla_posarg_registry(i)%key)) call cla_message(' description: '// trim(cla_posarg_registry(i)%description)) call cla_message(' kind: '// & trim(cla_kindstr(cla_posarg_registry(i)%kind))) call cla_message(' default: '// trim(cla_posarg_registry(i)%default)) if ( cla_key_present(trim(cla_registry(i)%key)) ) then call cla_get_char(trim(cla_registry(i)%key),value) call cla_message(' present?: T') if (cla_registry(i)%kind == cla_flag) then else call cla_message(' value: '// trim(value)) endif else call cla_message(' present?: F') endif end do call cla_message(' ') call cla_message('Also, -?, -h, -H, -help, --help, and --usage are recognized.') call cla_message(' ') end subroutine cla_show